数据的涓流传输方法及装置、存储介质、终端制造方法及图纸

技术编号:20160444 阅读:21 留言:0更新日期:2019-01-19 00:13
一种数据的涓流传输方法及装置、存储介质、终端,所述方法包括:并行导入全量数据流和增量数据流,所述全量数据流和增量数据流分别包括至少一个记录行,对于每一记录行,所述记录行具有用于唯一标识数据版本的时间戳、用于标识记录行有效性的状态码以及行键,所述行键根据所述记录行的主键确定;对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行,所述操作类型用于指示所述记录行的导入方式。通过本发明专利技术提供的方案能够有效实现数据库与大数据平台之间、大数据平台与大数据平台之间的数据实时同步,并确保同步期间大数据平台的持续可用性。

【技术实现步骤摘要】
数据的涓流传输方法及装置、存储介质、终端
本专利技术涉及大数据
,具体地涉及一种数据的涓流传输方法及装置、存储介质、终端。
技术介绍
随着信息化技术的发展,大数据应用已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。因而,如何对大数据进行有效管理并进一步同步、复制和应用已经成为提供核心竞争力、抢占市场先机的关键。在传统关系型数据库应用领域中,数据库与数据库之间的数据实时同步,更多依赖于先全量再增量的机制。具体而言,需要先将源表的数据全量导出再导入到目标表,等到全量导入完成后,根据全量导出的时间点,通过增量同步工具将增量数据从源表同步到目标表。然而,基于这样的方案,现有在数据库与大数据平台之间、大数据平台与大数据平台之间往往无法有效进行数据实时同步,仍需通过全量导数来进行。而频繁地将数据全量导出与导入既增加了源数据库的压力,导致源数据库性能下降,又降低了大数据平台的持续可用性,因为在导数期间大数据平台的相关功能是不可用的。综上所述,现有技术无法提供一种可应用于大数据平台的数据实时同步方案,以实现数据库与大数据平台之间、大数据平台与大数据平台之间的数据实时同步,并确保同步期间大数据平台的持续可用性。
技术实现思路
本专利技术解决的技术问题是如何更有效地实现数据库与大数据平台之间、大数据平台与大数据平台之间的数据实时同步,并确保同步期间大数据平台的持续可用性。为解决上述技术问题,本专利技术实施例提供一种数据的涓流传输方法,包括:并行导入全量数据流和增量数据流,所述全量数据流和增量数据流分别包括至少一个记录行,对于每一记录行,所述记录行具有用于唯一标识数据版本的时间戳、用于标识记录行有效性的状态码以及行键,所述行键根据所述记录行的主键确定;对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行,所述操作类型用于指示所述记录行的导入方式;其中,对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳。可选的,导入自所述全量数据流的记录行的时间戳设置为预设最早时间戳,导入自所述增量数据流的记录行的时间戳为该记录行导入时的实时时间戳。可选的,所述对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳是指:所述导入自所述全量数据流的记录行的时间戳早于导入自增量数据流的记录行的时间戳。可选的,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为插入操作时,保留所述多个记录行中时间戳最新的记录行。可选的,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为删除操作时,保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行。可选的,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为更新操作时,根据所述记录行的主键类型确定合并操作包括的子操作;根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段;将合并后的所述更新操作指向的字段与所述多个记录行中时间戳最新的记录行中除所述更新操作指向的字段之外的字段合并,获取合并后的记录行。可选的,所述根据所述记录行的主键类型确定合并操作包括的子操作包括:当所述记录行的主键类型为所述记录行的预设字段时,判断所述更新操作指向的字段是否包括所述预设字段;根据判断结果确定所述合并操作包括的子操作。可选的,所述根据判断结果确定所述合并操作包括的子操作包括:当判断结果表明所述更新操作指向的字段不包括所述预设字段时,确定所述合并操作为插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新的记录行中所述更新操作指向的字段。可选的,所述根据判断结果确定所述合并操作包括的子操作包括:当判断结果表明所述更新操作指向的字段包括所述预设字段时,确定所述合并操作包括的子操作为删除操作和插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行,以及所述多个记录行中时间戳最新的记录行中所述更新操作指向的字段。可选的,所述根据所述记录行的主键类型确定合并操作包括的子操作包括:当所述记录行的主键类型为所述记录行包括的多个字段的拼接数据时,确定所述合并操作包括的子操作为删除操作和插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行,以及所述多个记录行中时间戳最新的记录行中所述更新操作指向的字段。为解决上述技术问题,本专利技术实施例还提供一种数据的涓流传输装置,包括:导入模块,用于并行导入全量数据流和增量数据流,所述全量数据流和增量数据流分别包括至少一个记录行,对于每一记录行,所述记录行具有用于唯一标识数据版本的时间戳、用于标识记录行有效性的状态码以及行键,所述行键根据所述记录行的主键确定;合并模块,对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行,所述操作类型用于指示所述记录行的导入方式;其中,对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳。可选的,导入自所述全量数据流的记录行的时间戳设置为预设最早时间戳,导入自所述增量数据流的记录行的时间戳为该记录行导入时的实时时间戳。可选的,所述对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳是指:所述导入自所述全量数据流的记录行的时间戳早于导入自增量数据流的记录行的时间戳。可选的,所述合并模块包括:插入操作子模块,当所述导入自增量数据流的记录行的操作类型为插入操作时,保留所述多个记录行中时间戳最新的记录行。可选的,所述合并模块包括:删除操作子模块,当所述导入自增量数据流的记录行的操作类型为删除操作时,保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行。可选的,所述合并模块包括:第一更新操作子模块,当所述导入自增量数据流的记录行的操作类型为更新操作时,根据所述记录行的主键类型确定合并操作包括的子操作;第一合并子模块,用于根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段;第二合并子模块,用于将合并后的所述更新操作指向的字段与所述多个记录行中时间戳最新的记录行中除所述本文档来自技高网...

【技术保护点】
1.一种数据的涓流传输方法,其特征在于,包括:并行导入全量数据流和增量数据流,所述全量数据流和增量数据流分别包括至少一个记录行,对于每一记录行,所述记录行具有用于唯一标识数据版本的时间戳、用于标识记录行有效性的状态码以及行键,所述行键根据所述记录行的主键确定;对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行,所述操作类型用于指示所述记录行的导入方式;其中,对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳。

【技术特征摘要】
1.一种数据的涓流传输方法,其特征在于,包括:并行导入全量数据流和增量数据流,所述全量数据流和增量数据流分别包括至少一个记录行,对于每一记录行,所述记录行具有用于唯一标识数据版本的时间戳、用于标识记录行有效性的状态码以及行键,所述行键根据所述记录行的主键确定;对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行,所述操作类型用于指示所述记录行的导入方式;其中,对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳。2.根据权利要求1所述的数据的涓流传输方法,其特征在于,导入自所述全量数据流的记录行的时间戳设置为预设最早时间戳,导入自所述增量数据流的记录行的时间戳为该记录行导入时的实时时间戳。3.根据权利要求2所述的数据的涓流传输方法,其特征在于,所述对于行键相同的多个记录行,导入自所述全量数据流的记录行的时间戳不同于导入自增量数据流的记录行的时间戳是指:所述导入自所述全量数据流的记录行的时间戳早于导入自增量数据流的记录行的时间戳。4.根据权利要求1所述的数据的涓流传输方法,其特征在于,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为插入操作时,保留所述多个记录行中时间戳最新的记录行。5.根据权利要求1所述的数据的涓流传输方法,其特征在于,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为删除操作时,保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行。6.根据权利要求1所述的数据的涓流传输方法,其特征在于,所述对于行键相同的多个记录行,根据所述多个记录行中导入自增量数据流的记录行的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行包括:当所述导入自增量数据流的记录行的操作类型为更新操作时,根据所述记录行的主键类型确定合并操作包括的子操作;根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段;将合并后的所述更新操作指向的字段与所述多个记录行中时间戳最新的记录行中除所述更新操作指向的字段之外的字段合并,获取合并后的记录行。7.根据权利要求6所述的数据的涓流传输方法,其特征在于,所述根据所述记录行的主键类型确定合并操作包括的子操作包括:当所述记录行的主键类型为所述记录行的预设字段时,判断所述更新操作指向的字段是否包括所述预设字段;根据判断结果确定所述合并操作包括的子操作。8.根据权利要求7所述的数据的涓流传输方法,其特征在于,所述根据判断结果确定所述合并操作包括的子操作包括:当判断结果表明所述更新操作指向的字段不包括所述预设字段时,确定所述合并操作为插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新的记录行中所述更新操作指向的字段。9.根据权利要求7所述的数据的涓流传输方法,其特征在于,所述根据判断结果确定所述合并操作包括的子操作包括:当判断结果表明所述更新操作指向的字段包括所述预设字段时,确定所述合并操作包括的子操作为删除操作和插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新且状态码指示为删除状态的记录行,以及所述多个记录行中时间戳最新的记录行中所述更新操作指向的字段。10.根据权利要求6所述的数据的涓流传输方法,其特征在于,所述根据所述记录行的主键类型确定合并操作包括的子操作包括:当所述记录行的主键类型为所述记录行包括的多个字段的拼接数据时,确定所述合并操作包括的子操作为删除操作和插入操作;所述根据所述子操作的操作类型、所述多个记录行各自的时间戳和状态码合并所述多个记录行中所述更新操作指向的字段包括:保留所述多个记录行中时间戳最新且状态码指...

【专利技术属性】
技术研发人员:侯松谈晟刘峰
申请(专利权)人:上海汽车集团股份有限公司
类型:发明
国别省市:上海,31

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

1