【技术实现步骤摘要】
一种数据同步方法、装置及服务器
本申请涉及一种数据同步方法、装置及服务器,更具体的涉及一种基于分库分表数据库的数据同步方法、装置及服务器。
技术介绍
随着数据库单表数据量的增大,现有的单库单表的数据库设计已经不能满足高并发要求,数据库的水平拆分即分库分表的应用愈加广泛。在面对互联网海量数据情况时,所有数据存于单库单表,显然会轻易超过数据库表所能承受的数据量阈值,所以需将单库单表数据库中的数据同步至分库分表数据库中。现实中,企业运营人员或者管理人员经常会需要导出数据库报表,分析数据,在这种场景下,分库分表很难发挥它的作用。目前原始数据拆分到分库分表数据库,一般需要业务开发人员进行开发写成固定的配置,将源表的数据读取后,根据分库分表的规则,写到分库分表数据库中,但这样的方法不够灵活。目前业界针对分库分表数据库还不能实现全量数据的同步,无法解决历史数据的问题。另外就分库分表数据库到单库单表数据库的数据聚合过程,业界只能通过代理的方式进行,网络消耗较大,性能不佳,导致数据聚合过程的效率很低。
技术实现思路
为了克服现有技术存在的缺点与不足,本申请公开一种数据同步方法、装置及服务器,能够实现单库单表至分库分表的数据同步。为了达到上述申请的目的,本申请提供了一种数据同步方法,该方法包括:从单库单表数据库读取全量数据;将所述全量数据写到消息队列中;利用预设数据拆分规则确定所述全量数据的第一分库分表数据源,所述第一分库分表数据源表征分库分表数据库与部分全量数据的映射关系,所述部分全量数据包括所述全量数据中的任意部分数据;基于所述第一分库分表数据源将所述消息队列中全量数据依次写 ...
【技术保护点】
1.一种数据同步方法,其特征在于,该方法包括:从单库单表数据库读取全量数据;将所述全量数据写到消息队列中;利用预设数据拆分规则确定所述全量数据的第一分库分表数据源,所述第一分库分表数据源表征分库分表数据库与部分全量数据的映射关系,所述部分全量数据包括所述全量数据中的任意部分数据;基于所述第一分库分表数据源将所述消息队列中全量数据依次写入到目标分库分表数据库中。
【技术特征摘要】
1.一种数据同步方法,其特征在于,该方法包括:从单库单表数据库读取全量数据;将所述全量数据写到消息队列中;利用预设数据拆分规则确定所述全量数据的第一分库分表数据源,所述第一分库分表数据源表征分库分表数据库与部分全量数据的映射关系,所述部分全量数据包括所述全量数据中的任意部分数据;基于所述第一分库分表数据源将所述消息队列中全量数据依次写入到目标分库分表数据库中。2.根据权利要求1所述的数据同步方法,其特征在于,在所述从单库单表数据库读取全量数据之后,所述方法还包括:基于单库单表数据库对应的增量日志信息读取增量数据;在所述基于所述第一分库分表数据源将所述消息队列中全量数据依次写入到目标分库分表数据库中之后,所述方法还包括:将所述增量数据写到消息队列中;利用预设数据拆分规则确定所述增量数据的第二分库分表数据源,所述第二分库分表数据源表征分库分表数据库与部分增量数据的映射关系,所述部分增量数据包括所述增量数据中的任意部分数据;基于所述第二分库分表数据源将所述消息队列中增量数据依次写入到所述目标分库分表数据库中。3.根据权利要求1所述的数据同步方法,其特征在于,所述方法还包括:判断所述目标分库分表数据库中全量数据与所述单库单表数据库中的全量数据是否一致;当判断的结果为是时,确定全量数据的一致性比对通过。4.根据权利要求1所述的数据同步方法,其特征在于,在将所述全量数据写到消息队列中之前,所述方法还包括:基于预设过滤规则对所述全量数据进行数据过滤处理,得到过滤后的数据;相应的,所述将所述全量数据写到消息队列中包括将所述过滤后的数据写到消息队列中。5.根据权利要求1所述的数据同步方法,其特征在于,所述将所述全量数据写到消息队列中包括:利用所述单库单表数据库中单表的表名和所述单表中全量数据的每一行数据的关键信息确定所述每一行数据对应的消息队列的分区标识;基于所述消息队列的分区标识对消息队列进行数据分区;将所述单库单表数据库中全量数据的每一行的数据分别存储到所述消息队列的数据分区中。6.根据权利要求1所述的数据同步方法,其特征在于,所述利用预设数据拆分规则确定第一分库分表数据源包括:基于所述目标分库分表数据库的分片键确定所述多个部分全量数据所对应的分库分表数据库位置;基于所述目标分库分表数据库的预设分片算法对所述全量数据进行拆分,得到多个部分全量数据;将每一部分全量数据和所述部分全量数据所对应的所述分库分表数据库位置的映射关系作为所述第一分库分表数据源。7.一种数据同步方法,其特征在于,该方法包括:利用预设数据聚合规则确定待同步全量数据的第一单库单表数据源,所述第一单库单表数据源表征单库单表数据库与所述待同步全量数据的多个部分全量数据的映射关系;获取所述多个部分全量数据所对应的库表标识信息;按序从所述库表标识信息所对应的分库分表数据库中读取所述多个部分全量数据;将获取的多个部分全量数据写到消息队列中;根据所述第一单库单表数据源将所述消息队列中的所述多个部分全量数据写到单库单表数据库中。8.根据权利要求7所述的数据同步方法,其特征在于,在所述利用预设数据聚合规则确定待同步全量数据的第一单库单表数据源步骤之前,所述方法还包括:从所述分库分表数据库的日志信息中读取待同...
【专利技术属性】
技术研发人员:赵峰,
申请(专利权)人:浙江吉利控股集团有限公司,杭州优行科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。