CN112015804A - 数据同步方法、装置、设备及存储介质 - Google Patents
数据同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112015804A CN112015804A CN201910451592.1A CN201910451592A CN112015804A CN 112015804 A CN112015804 A CN 112015804A CN 201910451592 A CN201910451592 A CN 201910451592A CN 112015804 A CN112015804 A CN 112015804A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- synchronization
- synchronized
- resource
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 230000001360 synchronised effect Effects 0.000 claims description 132
- 238000005192 partition Methods 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 21
- 238000013507 mapping Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本申请实施例提供一种数据同步方法、装置、设备及存储介质。本申请实施例提供的数据同步方法中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据同步方法、装置、设备及存储介质。
背景技术
在一些典型的应用场景中,需要将数据从一个数据源同步到另一个数据源中,以满足不同场景下的数据应用需求。例如,需要将离线数据资源中的数据同步到实时分析型的云资源中,以满足数据的实时分析查询需求。
在传统的数据同步方法中,用户通常通过同步单张物理表实现数据同步。这种数据表级别的数据同步操作,具有同步效率较低的缺陷。因此,有待提出一种新的解决方案。
发明内容
本申请的多个方面提供一种数据同步方法、装置、设备及存储介质,用以有效提升数据的同步效率。
本申请实施例提供一种数据同步方法,包括:响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
本申请实施例提供一种数据同步方法,包括:响应针对目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
本申请实施例提供一种数据同步装置,包括:同步计划获取模块,用于:响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;数据同步模块,用于:根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
本申请实施例提供一种数据同步设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的数据同步方法。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够使处理器实现本申请实施例提供的数据同步方法。
本申请实施例提供的数据同步方法中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一示例性实施例提供的数据同步方法的流程示意图;
图2a是本申请另一示例性实施例提供的数据同步方法的流程示意图;
图2b是本申请一应用场景实施例提供的多张源数据表在中转资源中进行合并的示意图;
图3是本申请另一示例性实施例提供的数据同步方法的流程示意图;
图4a是本申请又一示例性实施例提供的数据同步方法的流程示意图;
图4b为本申请又一示例性实例提供的数据同步方法的流程示意图;
图5是本申请一示例性实施例提供的数据同步装置的结构示意图;
图6是本申请一示例性实施例提供的数据同步装置的结构示意图;
图7是本申请一示例性实施例提供的数据同步设备的结构示意图;
图8是本申请另一示例性实施例提供的数据同步设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术中,以数据表为数据同步单位进行数据同步存在的同步效率较低的技术问题,在本申请一些实施例中,提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请一示例性实施例提供的数据同步方法的流程示意图,如图1所示,该方法包括:
步骤101、响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取目标数据对象对应的数据同步计划。
步骤102、根据目标数据对象对应的数据同步计划,将源资源中与目标数据对象关联的待同步数据同步至目标资源中。
在本实施例中,数据对象关系,用于抽象地描述数据应用场景下的各数据对象、各数据对象的属性及各数据对象的关联关系。其中,数据对象,可包括但不限于数据应用场景下的实体以及实体关系。其中,实体指的是存在于数据应用场景中的具体事物或者个体;实体具有一定的属性,且可通过其属性将其与其他物体区分开。
在数据的各应用领域,诸如政务、工业、营销、货运、企业管理等应用领域中,用户可对不同应用场景下的实体及其属性和相互联系进行数据建模操作,得到用于表示该应用场景下的数据对象关系的实体关系模型。例如,在营销场景下,可商户及其属性、商品及其属性、商户和商品之间的销售关系及其属性建立营销模型,以便于对营销数据进行分析。基于此,当数据对象关系实现为营销模型时,营销模型中的商户、商品、商户和商品之间的销售关系,可被称为数据对象。
目标数据对象,可以是数据对象关系中的一个或多个数据对象,该目标数据对象存在数据同步需求。例如,营销模型对应的数据存放在离线数据库中。用户需要对该营销模型中的商品的数据进行分析时,可将商品作为目标数据对象,从离线数据库中,将商品对应的数据同步至在线资源中以进行数据分析。
在本实施例中,资源,指的是数据存储、数据加工或者数据计算所需的硬盘资源、数据库资源、CPU(Central Processing Unit,中央处理器)资源、内存资源以及网络资源等等,本实施例包含但不限于此。源资源和目标资源,分别是待同步数据的来源地和目的地。其中,源资源,可包括一个或多个不同的资源;例如,源资源可包括一个MySQL数据库和一个Oracle数据库。
其中,数据同步计划,指的是:用于按照指定的数据同步策略,将待同步数据同步至指定的资源中的数据同步方案。每执行一个数据同步计划,可生成一个数据同步任务。执行目标数据对象对应的数据同步计划时,可生成目标数据对象对应的数据同步任务,该同步任务可实现按照指定的数据同步策略,将目标数据对象在源资源中对应的数据,同步到目标资源中的目的。
本实施例中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
与此同时,从用户的角度来看,用户存在数据同步需求时,不需过多地关注待同步数据本身,只需关注目标数据对象即可实现数据同步,进而可在提高数据同步效率的同时,进一步降低了用户操作的复杂度。
在本申请的上述及下述实施例中,数据对象对应的数据同步计划可由至少两部分参数组成,其中一部分参数用于选取待同步数据,另一部分参数用于配置数据同步策略,以下将进行具体说明。
在一些示例性的实施例中,用于选取待同步数据的参数,可以实现为待同步数据的唯一识别标识。基于该唯一识别标识,可从源资源中,唯一确定待同步数据。例如,该唯一识别标识可以是待同步数据的哈希值(Hash)。
在另一些示例性的实施例中,用于选取待同步数据的参数,可以实现为待同步数据对应的数据标签。在本实施例中,采用数据标签抽象地对数据的属性进行描述,并在源资源和目标资源中建立数据和数据表标签的对应关系。基于此,可根据指定的数据标签,从源资源中选取待同步数据。例如,数据对象为商品时,数据对象对应的待同步数据的数据标签可以为:商品的品名、价格、产地等。再例如,数据对象为商户时,数据对象对应的待同步数据的数据标签可以为:商户所在的商圈、商户的品牌、商户的开业年限、商户的主营商品类型等。
在这种实施方式中,数据标签具有良好的可读性,对于用户而言,通过数据标签选择待同步数据,可极大降低选取待同步数据的操作复杂度,提升数据同步效率。
值得说明的的是,可选地,在建立数据对象关系的过程中,根据数据应用场景中的实体以及实体关系确定数据对象后,可根据实体的属性,为实体对应的数据对象添加数据标签;以及,可根据实体关系的属性,为实体关系对应的数据对象添加数据标签。例如,根据营销场景产生的数据建立营销模型的过程中,将营销数据抽象为商户和商品等实体等实体后,为商户添加品牌、所属商圈、位置等数据标签;为商品添加品级、价格、产地等数据标签。将营销数据抽象为商户和商品之间的销售关系后,可为商户和商品之间的销售关系添加进货数量、销售渠道、推广成本等数据标签。当然,上述营销模型和数据标签仅用于对本申请提供的技术方案进行示例性说明,其并不构成对本申请提供的技术方案的任何限制。
在此基础上,在源资源中存储数据对象对应的数据时,可在数据对象对应的数据上添加与该数据对象对应的数据标签,以通过数据标签将数据对象及其对应的数据关联起来。例如,当数据对象为商品时,源资源中用于存储用户数据的数据表上可添加商品的品级、价格、产地等数据标签。
应当理解,在一些实施例中,数据对象在源资源中对应多张数据表时,可根据每张数据表的数据内容分别为每张数据表添加与数据对象对应的不同的数据标签。例如,商品在源资源中对应3张数据表时,可根据3张数据表的内容,分别为3张数据表添加商品名称标签、产地标签以及价格标签。
上述实施例记载的待同步数据的哈希值或者数据标签,均可以作为选取待同步数据的可选参数,本实施例并不限制实际使用哪一种。在后续的各实施例中,将以数据标签为例进行示例性说明。
接下来,对数据同步计划包含的用于配置数据同步策略的参数进行说明。为便于表述,将用于配置数据同步策略的参数,称为同步参数。
在一些示例性的实施例中,同步参数,包括但不限于:目标资源对应的同步方式、目标数据表的类型、目标数据表的形式、结构映射参数等,以下将进行具体介绍。其中,目标数据表,指的是目标资源中用于存储目标数据对象的待同步数据的数据表。
可选地,在一些实施例中,目标资源对应的同步方式可包括批量同步方式或者实时同步方式。其中,批量同步方式指的是将待同步数据批量同步到目标资源中的同步方式,例如,将待同步数据批量写入目标资源中的一个或多个目标数据表,以提升数据同步效率。实时同步方式,指的是将实时获取到的待同步数据实时写入目标资源中的一个或多个目标数据表,以确保数据同步的实时性。
可选地,在一些实施例中,目标数据表的类型,可包括:维度表或者非维度表。其中,维度表是用户用来分析数据的窗口,维度表包含事实表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为用户提供有用的信息。在维度表中,每个表都包含独立于其他维度表的事实特性,例如,客户维度表包含有关客户数据的事实特性,产品维度表包含有关产品数据的事实特性。通常,维度表可按照维度表中的列字段将信息分为不同层次的结构级。例如,包含产品信息的维度表通常通过列字段将产品分为食品、饮料、非消费品等若干类的层次结构,这些产品中的每一类还可进一步多次细分,直到各产品达到最低级别。其中,非维度表,可包括事实表、实体表等等,不再赘述。
可选地,在一些实施例中,目标数据表的形式,可包括:分区数据表或者非分区数据表。其中,存储结构为分区数据表时,同步参数还可配置分区数据表所属的数据表组、所属的分区列以及分区大小。其中,数据表组指的是一系列可发生关联的数据表的集合。
除上述之外,当源资源和目标资源为异构的资源时,同步参数还可包括结构映射参数,该结构映射参数可用于对目标数据表进行数据表结构转换、字段类型映射和/或字段长度设置等等,以使该目标数据表能够写入来自源资源的待同步数据。
在本申请的上述以及下述各实施例中,获取目标数据对象对应的数据同步计划时,可预先查询已有的数据同步计划中,是否存在与目标数据对象匹配的数据同步计划。可选地,与目标数据对象匹配的数据同步计划,指的是是将目标数据对象对应的待同步数据同步至目标资源中的数据同步计划。若存在与目标数据对象匹配的数据同步计划,则可根据该已有的数据同步计划中与目标数据对象匹配的数据同步计划,确定目标数据对象对应的数据同步计划;若不存在与目标数据对象匹配的数据同步计划,则可根据数据同步请求,实时生成目标数据对象对应的数据同步计划。以下将结合具体的实施方式进行示例性说明。
示例性实施方式A:
在这种实施方式中,已有的数据同步计划中,存在与目标数据对象匹配的数据同步计划。
可选地,该已有的数据同步计划,可以是预先为数据对象关系中的每个数据对象分别创建的数据同步计划,以便于在接收到针对目标数据对象的数据同步请求时,根据已创建的数据同步计划,快速确定目标数据对象对应的数据同步计划。
或者,可选地,该已有的数据同步计划,可以是在历史的数据同步操作中,执行过的数据同步计划。例如,在历史阶段内,针对数据对象关系中的任意一个数据对象,将该数据对象对应的待同步数据同步至目标资源时,可创建该数据对象对应的数据同步计划,并保存该数据同步计划,作为已有的数据同步计划。其中,每个已有的数据同步计划分别与其对应的数据对象存在一一对应关系,以便于后续查询。
可选地,在本实施例中,为描述方便,可将该已有的数据同步计划中与目标数据对象匹配的数据同步计划标记为预估的数据同步计划。在获取到该预估的数据同步计划后,可展示该预估的数据同步计划包含的数据标签和/或同步参数,以供用户进行修正。
接着,获取用户对该数据标签和/或同步参数进行修正得到的修正结果,并根据该修正结果包含的目标数据标签以及目标同步参数,得到目标数据对象的数据同步计划。
在上述实施例中,应当理解的是,展示该数据标签和/或同步参数,表示三种可能的情况:第一种情况下,在数据标签可修改而同步参数不可修改的情况下,可展示数据标签,不展示同步参数,以向用户提供修改数据标签的入口;第二种情况下,在数据标签不可修改而同步参数可修改的情况下,可展示同步参数,不展示数据标签,以向用户提供修改同步参数的入口;第三种情况下,在数据标签和同步参数均可修改的情况下,可同时展示同步参数和数据标签,以向用户提供修改数据标签和同步参数的入口。
同样应当理解是,在本实施例中,用户可根据实际的数据同步需求对数据标签进行修正,或者对同步参数进行修正,或者对数据标签和同步参数均进行修正。
若用户只对数据标签进行了修正,则该目标数据标签指的是修正后的数据标签,目标同步参数可指的是第一数据同步计划中未修正的同步参数;若用户只对同步参数进行了修正,则该目标同步参数指的是修正后的同步参数,目标数据标签指的是第一数据同步计划中未修正的数据标签;若用户对数据标签和同步参数均进行了修正,则该目标数据标签指的是修正后的数据标签,目标同步参数可以是修正后的同步参数。
示例性实施方式B:
在这种实施方式中,已有的数据同步计划中,不存在与目标数据对象匹配的数据同步计划,则可根据数据同步请求,实时创建目标数据对象对应的数据同步计划。
在本实施例中,源资源中的数据和数据标签存在对应关系。基于此,在创建目标数据对象对应的数据同步计划时,可从源资源中,获取与目标数据对象关联的至少一个数据标签作为待选的数据标签。接着,展示该至少一个待选的数据标签,以供用户进行选择。响应用户对该至少一个待选的数据标签的选择操作,可获取被选择的数据标签,作为目标数据标签。
除此之外,还可获取针对目标数据对象的同步参数,作为目标同步参数,并根据目标数据标签和目标同步参数,生成目标数据对象对应的据同步计划。
可选地,在一些示例性实施例中,基于上述实施例记载的同步参数包含的内容,可通过以下实施方式获取针对目标数据对象的目标同步参数:
首先,可展示至少一个待选的资源,以供用户从中选择目标资源;响应用户对该至少一个待选的资源的选择操作,确定被选择的资源作为目标资源。
可选地,在确定目标资源后,可根据目标资源的自身属性,判断该目标资源是否支持批量写入来自源资源的待同步数据。若支持,则在目标同步参数中,设置目标资源对应的同步方式为批量同步方式。如不支持,则在目标同步参数中,设置目标资源对应的同步方式为实时同步方式。例如,源资源为MaxCompute(一种开放数据处理服务,原名Open DataProcessing Service,ODPS),目标资源为ADS(Analytic Database Service,分析型数据库服务)时,设置ADS对应的同步方式为批量同步。
可选地,在确定目标资源后,可根据目标资源的自身属性,确定目标资源支持的存储形式,展示该存储形式,以供用户进行选择,并根据用户的选择设置目标同步参数中目标数据表的类型。其中,该数据存储形式可包括:维度表或者非维度表。例如,源资源为MaxCompute,目标资源为ADS时,由于ADS支持的存储形式包括维度表以及事实表、实体表等非维度表,则可展示上述存储形式供用户选择。若用户选择维度表,则可将目标同步参数中目标数据表的类型设置为维度表。
可选地,在确定目标资源后,可根据目标资源的自身属性,判断该目标资源是否支持数据表分区。若支持,则提示用户选择是否将待同步数据同步为目标资源中的分区数据表。若用户选择将待同步数据同步为目标资源中的分区数据表,则可进一步获取用户指定的分区数据表所属的数据表组、分区数量和分区大小。接着,基于用户指定的分区数据表所属的数据表组、分区数量和分区大小,设置目标同步参数中目标数据表的形式。例如,当目标资源为ADS时,若用户选择将待同步数据同步为ADS中的非维度表,则可进一步提示用户指定该非维度表在ADS中所属的数据表组,一级分区列以及一级分区大小。
可选地,在确定目标资源后,可判断目标资源和源资源是否为异构的资源。若为是,则根据源资源中用于存储待同步数据的原数据表的结构和目标数据表的形式差异,设置目标同步参数中结构映射参数。例如,源资源为MySQL,目标资源为MaxCompute,若来自MySQL的待同步数据包含text类型的字段,则可设置结构映射参数为:将MaxCompute中目标数据表的对应字段修改为string类型。
除此之外,针对待同步数据对应的指定字段,可进一步提示用户设定该指定字段在目标数据表中对应的字段长度,并根据用户设定的字段长度设置结构映射参数。例如,源资源为MaxCompute,目标资源为MySQL时,若来自MaxCompute的待同步数据包含string类型的字段,则可设置结构映射参数为:将MaxCompute中目标数据表的对应字段修改为varchar类型,并设置varchar类型的字段的存储长度为8kb。
除上述列举的各参数之外,配置目标同步参数时,还可配置目标数据表的表名、配置目标字段的字段名、配置分区字段等等,此处不赘述。
应当理解,上述实施例示例性地列举了目标同步参数包含的多种不同参数,实际中,目标数据对象对应的数据同步计划可包含上述一种参数,也可包含上述任意多种参数的组合,或者,还可以包含上述未列举的其他参数,视实际的数据同步场景而定,本实施例不做限制。
需要说明的是,在上述实施方式A以及实施方式B中,在获取到目标数据标签后,可进一步对目标数据标签进行去重处理。
可选地,在本实施例中,可从目标资源中,获取与目标数据对象对应的数据标签,作为已有的数据标签;接着,从获取到的目标数据标签中,去除该已有的数据标签,以实现对目标数据标签进行去重处理。基于该去重处理,一方面,可避免重复同步相同数据标签对应的数据,进而浪费数据同步资源和目标资源;另一方面,避免了在目标资源中根据目标数据标签进行数据查询时,出现一个目标数据标签对应多份数据的进而导致查询出现歧义的情形。
上述各实施例记载了数据同步计划的具体内容以及如何获取目标数据同步计划,以下将结合具体的实施方式,进一步说明如何根据获取到的目标数据同步计划,将目标数据对象对应的待同步数据从源资源同步至目标资源。
图2a是本申请另一示例性实施例提供的数据同步方法的流程示意图,如图2a所示,该方法包括:
步骤201、响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取目标数据对象对应的数据同步计划。
步骤202、从目标数据对象对应的数据同步计划中,获取与目标数据对象对应的目标数据标签以及目标同步参数。
步骤203、根据数据标签和数据表的对应关系,从源资源中确定与目标数据标签对应的源数据表。
步骤204、根据目标同步参数,将与目标数据标签对应的源数据表同步至目标资源中。
在步骤201中,可选地,可展示至少一个数据对象,以供用户进行选择。该至少一个数据对象可以是某一个数据对象关系包含的数据对象,也可以是多个数据对象关系包含的数据对象,本实施例不做限制。在检测到用户的选择操作时,可将用户选择的数据对象作为目标数据对象。
其中,获取与目标数据对象对应的数据同步计划的可选实施方式可参考前述实施例的记载,此处不再赘述。
在步骤202中,可选地,目标数据对象对应的数据同步计划包括目标数据标签和目标同步参数。其中,目标数据标签用于从原计算资中选取与目标数据对象对应的待同步数据,目标同步参数用于配置数据同步策略。
在步骤203中,可选地,在本实施例中,源资源可以是用户指定的资源。例如,在一些场景下,当多个资源中均存在与目标数据标签对应的数据时,可展示该多个资源,以供用户从中选择至少一个资源,作为源资源。例如,多个资源上都有一张商户的基本信息表,这些商户的基本信息表可能会有一些共同的数据标签,比如商圈标签在多个资源中都存在。此时,当目标数标签为商户的商圈标签时,可由用户指定同步哪一个资源中与商圈标签对应的数据。
可选地,在一些应用场景下,源资源中的数据以数据表的形式进行存储。在确定目标数据标签后,可从源资源中确定与目标数据标签对应的源数据表,作为目标数据对象对应的待同步数据。
若源资源中与目标数据标签对应的源数据表包含多个分区数据表,则可将该多个分区数据表提供给用户,以供用户进行选择,并根据用户的选择结果,从该多个分区数据表中获取指定的至少一个分区数据表。其中,分区数据表指的是按照数据表内部的属性,对数据表进行划分得到的多个数据表子集。例如,在一些实施例中,针对一数据表,可按照其包含的数据的生成时间,将该数据表划分为多个分区数据表:包含5月1日产生的数据的第一分区数据表、包含5月2日产生的数据的第二分区数据表、包含5月3日产生的数据的第三分区数据表等等,不再赘述。在获取用户选择的至少一个分区数据表后,接着,可将该至少一个分区数据表,作为与目标数据标签对应的源数据表。
若源资源中与目标数据标签对应的源数据表不包含分区数据表,则对该与目标数据标签对应的源数据表进行全量扫描,以获取待同步数据。
需要说明的是,在本步骤中,在获取目标数据标签对应的源数据表之后,可对这些数据表的连通性和可靠性进行校验,并再校验通过后,执行下一步数据同步操作。其中,校验数据表的连通性,指的是校验数据表是否处于可访问状态,是否支持数据的读写操作;校验数据表的可靠性,指的是,校验数据表和数据标签的对应关系是否正确,以避免数据表的结构被修改而导致的数据表和数据标签映射关系数出现错误的情况。
在步骤204中,可选地,可对目标同步参数进行解析,得到目标资源对应的同步方式、目标数据表的类型、目标数据表的形式以及结构映射参数中的至少一种。
若目标同步参数指示的目标资源对应的同步方式为批量同步方式,则可按照批量同步方式,将与目标数据标签对应的源数据表同步为目标资源中的目标数据表;若目标同步参数指示的目标资源对应的同步方式为实时同步方式,则可按照实时同步方式,将与目标数据标签对应的源数据表实时同步为目标资源中的目标数据表。例如,目标资源为ADS时,可按照目标同步参数指定的批量同步方式,将来自MaxCompute的待同步数据批量写入ADS。
可选地,若目标同步参数指示的目标数据表的类型为维度表,则可将与目标数据标签对应的源数据表同步为目标资源中的维度数据表;或者,若目标同步参数指示的目标数据表的类型为非维度表,则可将与目标数据标签对应的源数据表同步为目标资源中的非维度数据表。例如,当目标资源为ADS时,若目标数据表的类型为维度表,则可将来自MaxCompute的待同步数据同步为ADS中的维度表。
可选地,若目标同步参数指示的目标数据表的形式为分区数据表,则可根据目标同步参数指示分区数据表所属的数据表组、所属的分区列以及分区大小,将与目标数据标签对应的源数据表同步为目标资源中指定数据表组下具有指定分区数量和分区大小的分区数据表。例如,可按照目标同步参数指示的存储结构,将来自MaxCompute的待同步数据同步为ADS中数据表组C下的分区列D中分区大小为E的目标数据表。
可选地,在本步骤中,若源资源和目标资源为异构的资源,则可根据目标同步参数包含的结构映射参数,对目标资源中的目标数据表进行结构转换,其中,该目标数据表用于存储目标数据标签对应的源数据表中的数据。例如,根据结构映射参数,将MaxCompute中目标数据表的对应字段修改为str i ng类型,以存储来自MySQL的包含text类型的字段的待同步数据。又例如,根据结构映射参数,将MaxCompute中的目标数据表中varchar类型的字段长度设为8kb,以存储来自MaxCompute的待同步数据中的str i ng类型的字段。
值得说明的是,在一些典型的应用场景中,目标数据标签在源资源中可能对应多张数据表。该多张数据表来自多个不同的源资源,或者该多张数据表为来自同一源资源的不同的分区数据表。
为提升数据同步的效率,本实施例可预先对该多张数据表进行合并操作。可选地,多张数据表的合并操作可在中转资源中进行。其中,中转资源,可以是源资源,可以是目标资源,或者也可以是任意可选的其他资源,本实例不做限制。
可选地,在本实施例中,可将目标资源对应的多张数据表同步至中转资源中;接着,在中转资源中,对该多张数据表进行数据合并操作,以得到目标数据标签对应的源数据表。
当然,在一些典型的应用场景中,若中转资源与源资源不同,则可在中转资源中创建临时数据表,该临时数据表用于临时存放该多张数据表合并后的数据。或者,在另一些典型的应用场景中,源资源与中转资源相同,但注册该源资源的用户账号和借助源资源实现数据中转的用户账号不同,则可如上述实施例所述,先创建临时数据表。
在创建临时数据表后,接下来,可按照该多张数据表对应的数据主键,合并该多张数据表中的数据,将合并后的数据存入临时数据表中,得到目标数据标签对应的源数据表。基于此,在根据目标同步参数进行数据同步时,可针对合并后的数据表执行数据同步操作,其同步效率更高。
图2b结合一种应用场景,对在中转资源中合并多张源数据表的过程进行了示意。如图2b所示,待同步数据对应的数据表为RDS(Relational Database Service,关系型数据库服务)源表t1和ODPS数据表t2。其中源表t1为商户基本信息表,t1以商户的ID(identity,身份识别号)为主标签,包含品牌、商圈等两个标签。t2为商户经营信息表,以商户的ID为主标签,包含经营范围、商品风格等两个标签。接着,在中转云资源中创建ODPS合并表t3。与此同时,将RDS源表t1和ODPS数据表t2复制到云中转资源中,得到RDS源表t1’和ODPS数据表t2’。接着,以主标签对应的ID为主键,将RDS源表t1’和ODPS数据表t2’中的数据合并到ODPS合并表t3中。该合并得到的ODPS合并表t3中,包含品牌、商圈、经营范围、商品风格等四个标签。结合,将ODPS合并表t3同步到目标资源中,得到如图2b所示的ADS目标表t4。
本实施例中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
图3是本申请另一示例性实施例提供的数据同步方法的流程示意图,如图3所示,该方法包括:
步骤301、响应针对目标数据对象发起的数据同步请求,获取目标数据对象对应的数据同步计划。
步骤302、根据目标数据对象对应的数据同步计划,将源资源中与目标数据对象关联的待同步数据同步至目标资源中。
在本实施例中,数据对象,可包括但不限于数据应用场景下的实体以及实体关系。其中,实体指的是存在于数据应用场景中的具体事物或者个体。目标数据对象,指的是存在数据同步需求的数据对象。数据对象与数据存在关联关系,因此,确定目标数据对象后,可确定源资源中与目标数据对象关联的待同步数据。目标数据对象对应的数据同步计划,指的是用于按照指定的数据同步策略,将目标数据对应的待同步数据同步至目标资源中的数据同步方案。
基于上述实施方式,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。与此同时,从用户的角度来看,用户存在数据同步需求时,不需过多地关注待同步数据本身,只需关注目标数据对象即可实现数据同步,进而可在提高数据同步效率的同时,进一步降低了用户操作的复杂度。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请的上述各实施例提供的数据同步方法中各个步骤之间的联系,可进一步由图4a以及图4b所示的流程图进行示意。
图4a示意了获取目标数据对象的数据同步计划的一种可选的流程。如图4a所示,首先,用户可选择目标资源和目标数据对象;接着,在已有的数据同步计划中,查询是否存在将目标数据对象对应的待同步数据同步至目标资源的数据同步计划。若存在,则对查询到的数据同步计划进行修改。若不存在,则新建数据同步计划。其中,新建数据同步计划包括:配置数据标签、配置同步参数。其中,配置同步参数可包括:配置目标资源对应的同步方式、目标数据表的类型、目标数据表的形式、结构映射参数、目标数据表的表名、目标字段的字段名、分区字段等等。其中,新建的数据同步计划,可进行保存,以更新该已有的数据同步计划。
图4b示意了执行目标数据对象对应的数据同步计划的一种可选的流程。如图4b所示,首先可根据数据同步计划包含的数据标签确定包含待同步数据的源数据表。接着,校验源数据表的连通性、可靠性。接着,判断源数据表是否包含多张数据表;若包含,则在中转资源中创建临时数据表,并将源数据表中的数据合并后写入临时数据表。接着,当目标资源为ADS时,创建ADS表组,授权ADS导入账号,并根据数据同步计划中的同步参数将待同步数据同步为ADS中的维度表,或者指定ADS表组下的非维度表。当目标资源为MaxCompute时,设置目标数据表的分区,将待同步数据同步至该目标数据表中。当目标资源为MySQL时,直接将待同步数据同步至MySQL中的目标数据表中。
上述各实施例提供的技术方案,适用于多种不同的应用场景,以下将进行示例性说明。
在一种典型的应用场景中,在ADS中对数据进行分析时,ADS中的数据量不够充足,一部分待分析的数据保存在MaxCompute中,此时可基于本申请实施例提供的数据同步方法,将MaxCompute中的指定数据同步至ADS中。
在另一种典型的应用场景中,需要在ADS中进行分析的数据存在于多个数据库中,需要将这些数据同步至ADS中的一张数据表中进行分析。例如,在智能交通场景中,不同道路上的车流量、事故详情等数据存放于MaxCompute中,不同道路上信号灯的分布数据存放于Oracle数据库中,检测到的不同道路上的车辆行驶速度等数据由线上数据系统写入到MySQL的数据库中。当需要通过ADS分析如何优化某一指定道路上的信号灯的点亮时长时,可将MaxCompute、MySQL以及Oracle中与该道路相关的车流量、事故详情、车辆行驶速度、信号灯的分布数据等同步至ADS中,以满足数据分析需求。
除上述各实施例记载的数据同步方法之外,本申请实施例还提供一种数据同步装置。图5是本申请一示例性实施例提供的数据同步装置的结构示意图,如图5所示,该装置包括:
同步计划获取模块501,用于:响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;数据同步模块502,用于:根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
进一步可选地,同步计划获取模块501在获取所述目标数据对象对应的数据同步计划时,具体用于:从已有的数据同步计划中,查询与所述目标数据对象匹配的数据同步计划,作为预估的数据同步计划;根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划。
进一步可选地,同步计划获取模块501在根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划时,具体用于:展示所述预估的数据同步计划包含的数据标签和/或同步参数;获取用户对所述数据标签和/或所述同步参数进行修正得到的修正结果;根据所述修正结果包含的目标数据标签以及目标同步参数,得到所述目标数据对象的数据同步计划。
进一步可选地,同步计划获取模块501在获取所述目标数据对象对应的数据同步计划时,具体用于:展示与所述目标数据对象关联的至少一个待选的数据标签;响应对所述至少一个待选的数据标签的选择操作,获取被选择的数据标签,作为目标数据标签;获取针对所述目标数据对象的同步参数,作为目标同步参数;根据所述目标数据标签和所述目标同步参数,生成所述目标数据对象对应的据同步计划。
进一步可选地,同步计划获取模块501还用于:从所述目标资源中,获取与所述目标数据对象对应的数据标签,作为已有的数据标签;从所述目标数据标签中,去除所述已有的数据标签,以对所述目标数据标签进行去重处理。
进一步可选地,数据同步模块502在根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中时,具体用于:从所述目标数据对象对应的数据同步计划中,获取与所述目标数据对象对应的目标数据标签以及目标同步参数;根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据;根据所述目标同步参数,将所述待同步数据同步至目标资源中。
进一步可选地,数据同步模块502在根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据时,具体用于:根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;若与所述目标数据标签对应的源数据表包含多个分区数据表,则从所述多个分区数据表中获取指定的至少一个分区数据表;将所述至少一个分区数据表,作为所述待同步数据。
进一步可选地,数据同步模块502在根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据时,具体用于:根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;若存在与所述目标数据标签对应的多张数据表,则合并所述多张数据表,以得到所述待同步数据。
进一步可选地,数据同步模块502在合并所述多张数据表,以得到所述待同步数据时,具体用于:在中转资源中创建临时数据表;按照所述多张数据表对应的数据主键,合并所述多张数据表中的数据;将合并后的数据存入所述临时数据表中,得到所述待同步数据。
进一步可选地,数据同步模块502在根据所述目标同步参数,将所述待同步数据同步至目标资源中时,具体用于:按照批量同步方式或者实时同步方式,将所述待同步数据同步为所述目标资源中的目标数据表;和/或,将所述待同步数据同步为所述目标资源中的维度数据表或者非维度数据表;和/或,将所述待同步数据同步为所述目标资源中指定数据表组下指定分区列中具有指定分区大小的分区数据表。
进一步可选地,数据同步模块502在根据所述目标同步参数,将所述待同步数据同步至目标资源中时,具体用于:若所述源资源和所述目标资源为异构的资源,则对所述目标资源中的目标数据表进行数据表结构转换,以将所述待同步数据同步至所述目标数据表中,和/或,确定所述待同步数据中的指定字段在所述目标数据表中的存储长度,以存储所述指定字段。
本实施例中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。与此同时,从用户的角度来看,用户存在数据同步需求时,不需过多地关注待同步数据本身,只需关注目标数据对象即可实现数据同步,进而可在提高数据同步效率的同时,进一步降低了用户操作的复杂度。
图6是本申请一示例性实施例提供的数据同步装置的结构示意图,如图6所示,该装置包括:
同步计划获取模块601,用于:响应针对目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;数据同步模块602,用于:根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
本实施例中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
图7是本申请一示例性实施例提供的数据同步设备的结构示意图,如图7所示,该数据同步设备包括:存储器701以及处理器702。
存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据同步设备上的操作。这些数据的示例包括用于在数据同步设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器702,与存储器701耦合,用于执行存储器701中的计算机程序,以用于:响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
进一步可选地,处理器702在获取所述目标数据对象对应的数据同步计划时,具体用于:从已有的数据同步计划中,查询与所述目标数据对象匹配的数据同步计划,作为预估的数据同步计划;根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划。
进一步可选地,处理器702在根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划时,具体用于:展示所述预估的数据同步计划包含的数据标签和/或同步参数;获取用户对所述数据标签和/或所述同步参数进行修正得到的修正结果;根据所述修正结果包含的目标数据标签以及目标同步参数,得到所述目标数据对象的数据同步计划。
进一步可选地,处理器702在获取所述目标数据对象对应的数据同步计划时,具体用于:展示与所述目标数据对象关联的至少一个待选的数据标签;响应对所述至少一个待选的数据标签的选择操作,获取被选择的数据标签,作为目标数据标签;获取针对所述目标数据对象的同步参数,作为目标同步参数;根据所述目标数据标签和所述目标同步参数,生成所述目标数据对象对应的据同步计划。
进一步可选地,处理器702还用于:从所述目标资源中,获取与所述目标数据对象对应的数据标签,作为已有的数据标签;从所述目标数据标签中,去除所述已有的数据标签,以对所述目标数据标签进行去重处理。
进一步可选地,处理器702在根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中时,具体用于:从所述目标数据对象对应的数据同步计划中,获取与所述目标数据对象对应的目标数据标签以及目标同步参数;根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据;根据所述目标同步参数,将所述待同步数据同步至目标资源中。
进一步可选地,处理器702在根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据时,具体用于:根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;若与所述目标数据标签对应的源数据表包含多个分区数据表,则从所述多个分区数据表中获取指定的至少一个分区数据表;将所述至少一个分区数据表,作为所述待同步数据。
进一步可选地,处理器702在根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据时,具体用于:根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;若存在与所述目标数据标签对应的多张数据表,则合并所述多张数据表,以得到所述待同步数据。
进一步可选地,处理器702在合并所述多张数据表,以得到所述待同步数据时,具体用于:在中转资源中创建临时数据表;按照所述多张数据表对应的数据主键,合并所述多张数据表中的数据;将合并后的数据存入所述临时数据表中,得到所述待同步数据。
进一步可选地,处理器702在根据所述目标同步参数,将所述待同步数据同步至目标资源中时,具体用于:按照批量同步方式或者实时同步方式,将所述待同步数据同步为所述目标资源中的目标数据表;和/或,将所述待同步数据同步为所述目标资源中的维度数据表或者非维度数据表;和/或,将所述待同步数据同步为所述目标资源中指定数据表组下指定分区列中具有指定分区大小的分区数据表。
进一步可选地,处理器702在根据所述目标同步参数,将所述待同步数据同步至目标资源中时,具体用于:若所述源资源和所述目标资源为异构的资源,则对所述目标资源中的目标数据表进行数据表结构转换,以将所述待同步数据同步至所述目标数据表中,和/或,确定所述待同步数据中的指定字段在所述目标数据表中的存储长度,以存储所述指定字段。
进一步,如图7所示,该数据同步设备还包括:通信组件703、显示器704、电源组件705、音频组件706等其它组件。图7中仅示意性给出部分组件,并不意味着数据同步设备只包括图7所示组件。
本实施例中,数据处理设备在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。与此同时,从用户的角度来看,用户存在数据同步需求时,不需过多地关注待同步数据本身,只需关注目标数据对象即可实现数据同步,进而可在提高数据同步效率的同时,进一步降低了用户操作的复杂度。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由数据同步设备执行的各步骤。
图8是本申请另一示例性实施例提供的数据同步设备的结构示意图,如图8所示,该数据同步设备包括:存储器801以及处理器802。
存储器801,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据同步设备上的操作。这些数据的示例包括用于在数据同步设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器802,与存储器801耦合,用于执行存储器801中的计算机程序,以用于:响应针对目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
进一步,如图8所示,该数据同步设备还包括:通信组件803、显示器804、电源组件805、音频组件806等其它组件。图8中仅示意性给出部分组件,并不意味着数据同步设备只包括图8所示组件。
本实施例中,在接收到针对目标数据对象发起的数据同步请求时,可获取目标数据对象对应的数据同步计划;接着,根据目标数据对象对应的数据同步计划,将目标数据对象对应的数据从源资源转移到目标资源中,进而,实现了数据对象级别的数据同步过程。在这种实施方式中,以数据对象为数据同步单位,可有效降低对数据表本身的关注度,有利于提升数据同步的效率。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由数据同步设备执行的各步骤。
在图7以及图8对应的实施例中,存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在图7以及图8对应的实施例中,通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在图7以及图8对应的实施例中,显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在图7以及图8对应的实施例中,电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种数据同步方法,其特征在于,包括:
响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;
根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
2.根据权利要求1所述的方法,其特征在于,获取所述目标数据对象对应的数据同步计划,包括:
从已有的数据同步计划中,查询与所述目标数据对象匹配的数据同步计划,作为预估的数据同步计划;
根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划。
3.根据权利要求2所述的方法,其特征在于,根据所述预估的数据同步计划,确定所述目标数据对象对应的数据同步计划,包括:
展示所述预估的数据同步计划包含的数据标签和/或同步参数;
获取用户对所述数据标签和/或所述同步参数进行修正得到的修正结果;
根据所述修正结果包含的目标数据标签以及目标同步参数,得到所述目标数据对象的数据同步计划。
4.根据权利要求1所述的方法,其特征在于,获取所述目标数据对象对应的数据同步计划,包括:
展示与所述目标数据对象关联的至少一个待选的数据标签;
响应对所述至少一个待选的数据标签的选择操作,获取被选择的数据标签,作为目标数据标签;
获取针对所述目标数据对象的同步参数,作为目标同步参数;
根据所述目标数据标签和所述目标同步参数,生成所述目标数据对象对应的据同步计划。
5.根据权利要求3或4所述的方法,其特征在于,还包括:
从所述目标资源中,获取与所述目标数据对象对应的数据标签,作为已有的数据标签;
从所述目标数据标签中,去除所述已有的数据标签,以对所述目标数据标签进行去重处理。
6.根据权利要求1所述的方法,其特征在于,根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中,包括:
从所述目标数据对象对应的数据同步计划中,获取与所述目标数据对象对应的目标数据标签以及目标同步参数;
根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据;
根据所述目标同步参数,将所述待同步数据同步至目标资源中。
7.根据权利要求6所述的方法,其特征在于,根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据,包括:
根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;
若与所述目标数据标签对应的源数据表包含多个分区数据表,则从所述多个分区数据表中获取指定的至少一个分区数据表;
将所述至少一个分区数据表,作为所述待同步数据。
8.根据权利要求6所述的方法,其特征在于,根据数据标签和数据表的对应关系,从所述源资源中确定与所述目标数据标签对应的源数据表,作为所述待同步数据,包括:
根据数据标签和数据表的对应关系,在所述源资源查询与所述目标数据标签对应的源数据表;
若存在与所述目标数据标签对应的多张数据表,则合并所述多张数据表,以得到所述待同步数据。
9.根据权利要求8所述的方法,其特征在于,合并所述多张数据表,以得到所述待同步数据,包括:
在中转资源中创建临时数据表;
按照所述多张数据表对应的数据主键,合并所述多张数据表中的数据;
将合并后的数据存入所述临时数据表中,得到所述待同步数据。
10.根据权利要求6-9任一项所述的方法,其特征在于,根据所述目标同步参数,将所述待同步数据同步至目标资源中,包括:
按照批量同步方式或者实时同步方式,将所述待同步数据同步为所述目标资源中的目标数据表;
和/或,
将所述待同步数据同步为所述目标资源中的维度数据表或者非维度数据表;
和/或,
将所述待同步数据同步为所述目标资源中指定数据表组下指定分区列中具有指定分区大小的分区数据表。
11.根据权利要求6-9任一项所述的方法,其特征在于,根据所述目标同步参数,将所述待同步数据同步至目标资源中,包括:
若所述源资源和所述目标资源为异构的资源,则对所述目标资源中的目标数据表进行数据表结构转换,以将所述待同步数据同步至所述目标数据表中,和/或,确定所述待同步数据中的指定字段在所述目标数据表中的存储长度,以存储所述指定字段。
12.一种数据同步方法,其特征在于,包括:
响应针对目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;
根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
13.一种数据同步装置,其特征在于,包括:
同步计划获取模块,用于:响应针对数据对象关系中的目标数据对象发起的数据同步请求,获取所述目标数据对象对应的数据同步计划;
数据同步模块,用于:根据所述目标数据对象对应的数据同步计划,将源资源中与所述目标数据对象关联的待同步数据同步至目标资源中。
14.一种数据同步设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求1-12任一项所述的数据同步方法。
15.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被处理器执行时能够使处理器实现权利要求1-12任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910451592.1A CN112015804A (zh) | 2019-05-28 | 2019-05-28 | 数据同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910451592.1A CN112015804A (zh) | 2019-05-28 | 2019-05-28 | 数据同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112015804A true CN112015804A (zh) | 2020-12-01 |
Family
ID=73501679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910451592.1A Pending CN112015804A (zh) | 2019-05-28 | 2019-05-28 | 数据同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015804A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901141A (zh) * | 2021-10-11 | 2022-01-07 | 京信数据科技有限公司 | 一种分布式数据同步方法及系统 |
CN114510534A (zh) * | 2022-01-28 | 2022-05-17 | 广东航宇卫星科技有限公司 | 数据同步方法、装置、设备及存储介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5315709A (en) * | 1990-12-03 | 1994-05-24 | Bachman Information Systems, Inc. | Method and apparatus for transforming objects in data models |
CN1392704A (zh) * | 2001-06-15 | 2003-01-22 | 诺基亚有限公司 | 选择同步数据 |
US20050044235A1 (en) * | 2003-07-30 | 2005-02-24 | Balahura Robert Eugene | System, computer product and method for enabling wireless data synchronization |
CN1996872A (zh) * | 2006-01-05 | 2007-07-11 | 乐金电子(中国)研究开发中心有限公司 | 一种选择性数据同步方法 |
US20090271653A1 (en) * | 2006-04-10 | 2009-10-29 | Huawei Technologies Co., Ltd. | Method and system for data synchronization |
CN101854400A (zh) * | 2010-06-09 | 2010-10-06 | 中兴通讯股份有限公司 | 一种数据库同步部署及监控的方法和装置 |
CN103873451A (zh) * | 2012-12-17 | 2014-06-18 | 中国移动通信集团公司 | 一种数据同步的方法、设备和系统 |
CN104268234A (zh) * | 2014-09-26 | 2015-01-07 | 东软集团股份有限公司 | 一种基于sql语句的数据同步方法和装置 |
CN104462192A (zh) * | 2011-12-01 | 2015-03-25 | 中国核工业二三建设有限公司 | 基于核电施工多项目管理数据同步技术装置的方法 |
CN105187464A (zh) * | 2014-06-19 | 2015-12-23 | 中兴通讯股份有限公司 | 一种分布式存储系统中的数据同步方法、装置及系统 |
WO2016101752A1 (zh) * | 2014-12-22 | 2016-06-30 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN105787077A (zh) * | 2016-03-02 | 2016-07-20 | 百度在线网络技术(北京)有限公司 | 数据同步方法和装置 |
CN106569731A (zh) * | 2015-10-10 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN106776894A (zh) * | 2016-11-29 | 2017-05-31 | 北京众享比特科技有限公司 | 日志数据库系统和同步方法 |
CN107508924A (zh) * | 2017-10-18 | 2017-12-22 | 珠海市魅族科技有限公司 | 数据同步方法及终端、设备、计算机装置、可读存储介质 |
CN108076081A (zh) * | 2016-11-09 | 2018-05-25 | 菜鸟智能物流控股有限公司 | 一种业务数据的同步方法、装置和系统 |
CN108121827A (zh) * | 2018-01-15 | 2018-06-05 | 农信银资金清算中心有限责任公司 | 一种全量数据的同步方法及装置 |
CN108345617A (zh) * | 2017-01-24 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置以及电子设备 |
CN108737487A (zh) * | 2018-03-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
CN109634970A (zh) * | 2018-10-19 | 2019-04-16 | 平安科技(深圳)有限公司 | 表数据同步方法、设备、存储介质及装置 |
-
2019
- 2019-05-28 CN CN201910451592.1A patent/CN112015804A/zh active Pending
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5315709A (en) * | 1990-12-03 | 1994-05-24 | Bachman Information Systems, Inc. | Method and apparatus for transforming objects in data models |
CN1392704A (zh) * | 2001-06-15 | 2003-01-22 | 诺基亚有限公司 | 选择同步数据 |
US20050044235A1 (en) * | 2003-07-30 | 2005-02-24 | Balahura Robert Eugene | System, computer product and method for enabling wireless data synchronization |
CN1996872A (zh) * | 2006-01-05 | 2007-07-11 | 乐金电子(中国)研究开发中心有限公司 | 一种选择性数据同步方法 |
US20090271653A1 (en) * | 2006-04-10 | 2009-10-29 | Huawei Technologies Co., Ltd. | Method and system for data synchronization |
CN101854400A (zh) * | 2010-06-09 | 2010-10-06 | 中兴通讯股份有限公司 | 一种数据库同步部署及监控的方法和装置 |
CN104462192A (zh) * | 2011-12-01 | 2015-03-25 | 中国核工业二三建设有限公司 | 基于核电施工多项目管理数据同步技术装置的方法 |
CN103873451A (zh) * | 2012-12-17 | 2014-06-18 | 中国移动通信集团公司 | 一种数据同步的方法、设备和系统 |
CN105187464A (zh) * | 2014-06-19 | 2015-12-23 | 中兴通讯股份有限公司 | 一种分布式存储系统中的数据同步方法、装置及系统 |
CN104268234A (zh) * | 2014-09-26 | 2015-01-07 | 东软集团股份有限公司 | 一种基于sql语句的数据同步方法和装置 |
WO2016101752A1 (zh) * | 2014-12-22 | 2016-06-30 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN106569731A (zh) * | 2015-10-10 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN105787077A (zh) * | 2016-03-02 | 2016-07-20 | 百度在线网络技术(北京)有限公司 | 数据同步方法和装置 |
CN108076081A (zh) * | 2016-11-09 | 2018-05-25 | 菜鸟智能物流控股有限公司 | 一种业务数据的同步方法、装置和系统 |
CN106776894A (zh) * | 2016-11-29 | 2017-05-31 | 北京众享比特科技有限公司 | 日志数据库系统和同步方法 |
CN108345617A (zh) * | 2017-01-24 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置以及电子设备 |
CN107508924A (zh) * | 2017-10-18 | 2017-12-22 | 珠海市魅族科技有限公司 | 数据同步方法及终端、设备、计算机装置、可读存储介质 |
CN108121827A (zh) * | 2018-01-15 | 2018-06-05 | 农信银资金清算中心有限责任公司 | 一种全量数据的同步方法及装置 |
CN108737487A (zh) * | 2018-03-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
CN109634970A (zh) * | 2018-10-19 | 2019-04-16 | 平安科技(深圳)有限公司 | 表数据同步方法、设备、存储介质及装置 |
Non-Patent Citations (1)
Title |
---|
周京晖;: "数据缓存按需同步的设计与应用", 软件, no. 05, pages 14 - 19 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901141A (zh) * | 2021-10-11 | 2022-01-07 | 京信数据科技有限公司 | 一种分布式数据同步方法及系统 |
CN114510534A (zh) * | 2022-01-28 | 2022-05-17 | 广东航宇卫星科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN114510534B (zh) * | 2022-01-28 | 2022-09-06 | 广东航宇卫星科技有限公司 | 数据同步方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112668968B (zh) | 一种基于领域驱动设计的仓储管理建模方法及系统 | |
CN106844372B (zh) | 一种物流信息查询方法和装置 | |
CN102214187B (zh) | 复合事件处理方法及装置 | |
CN110443552B (zh) | 一种产品主数据信息自动传输的方法及装置 | |
CN104298769B (zh) | 一种数据库间共有域差异数据同步系统及方法 | |
CN102609488B (zh) | 客户端及其数据查询方法、服务端和数据查询系统 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
US20110208691A1 (en) | Accessing Large Collection Object Tables in a Database | |
CN104199881A (zh) | 数据库集群、数据查询方法、数据同步方法和装置 | |
CN113112208A (zh) | 一种基于三维可视化模型的电力物资仓储管理方法 | |
CN110109929A (zh) | 数据存储方法、装置以及计算机可读存储介质 | |
CN112015804A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN111125051A (zh) | 一种商品信息管理方法和系统 | |
WO2019061997A1 (zh) | 丰富微信客户标签的方法、电子装置及存储介质 | |
CN110929120B (zh) | 管理技术元数据的方法和装置 | |
CN112463986A (zh) | 信息存储的方法及装置 | |
CN111400430A (zh) | 数字建筑清单计价中快速组价的方法及系统 | |
CN101452556A (zh) | 一种客户信息处理系统及方法 | |
US11710155B2 (en) | System and method for generating text-based advertisements | |
CN110879799B (zh) | 标注技术元数据的方法和装置 | |
US11250002B2 (en) | Result set output criteria | |
CN104573132A (zh) | 歌曲查找方法及装置 | |
CN106886546B (zh) | 一种数据网站的构建方法和设备 | |
US9898493B2 (en) | Runtime generation of a mapping table for uploading data into structured data marts | |
CN108197164A (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 |