基于数据湖和分析数据库的数据处理方法及系统与流程

摘要: 本技术涉及大数据,具体涉及数据湖,更具体地涉及一种基于数据湖和分析数据库的数据处理方法及系统。背景技术:1、数据分析与决策支持系统逐渐从批处理型离线计算向实时在...
基于数据湖和分析数据库的数据处理方法及系统与流程

本技术涉及大数据,具体涉及数据湖,更具体地涉及一种基于数据湖和分析数据库的数据处理方法及系统。

背景技术:

1、数据分析与决策支持系统逐渐从批处理型离线计算向实时在线分析演进。相关技术中,数据通过离线任务周期性导入数据仓库后再进行多维聚合分析,存在同步延迟高的问题。在数据湖与分析数据库独立部署的方案中,数据湖系统与分析引擎相互分离,两者之间缺乏完善的端到端事务协调机制,容易出现重复导入、数据丢失或时序错乱;同时,数据湖与分析数据库各自维护表结构及分区信息,难以实现数据模式演化的自动匹配,分析查询需分别针对不同系统执行,无法实现实时数据与历史数据的无缝融合查询。

技术实现思路

1、鉴于上述问题,本技术提供了一种基于数据湖和分析数据库的数据处理方法及系统,用于解决相关大数据分析系统中数据湖与分析引擎分离、数据同步延迟高、增量计算复杂及多源异构数据一致性难以维护的问题。

2、根据本技术的第一个方面,提供了一种基于数据湖和分析数据库 的数据处理方法,包括:从多种异构数据源采集业务数据,将上述业务数据封装为标准化事件;根据上述标准化事件的主键,将上述标准化事件写入数据湖系统,其中,上述数据湖系统根据写入操作生成提交实例并记录提交时间戳;获取上述数据湖系统中提交时间戳大于已同步最大提交时间戳的增量数据,将上述增量数据写入分析数据库;响应于数据分析请求,基于上述数据分析请求所指向的目标时间范围,将上述数据分析请求路由至上述分析数据库或上述数据湖系统。

3、通过本技术实施例提供的数据处理方法,标准化事件封装使得来自不同数据源的异构数据被转换为统一的内部格式,解决了多源异构数据接入口径不统一的问题;数据湖系统为每次写入生成提交实例并记录提交时间戳,为后续增量数据获取提供了精确的时间锚点;仅拉取提交时间戳大于已同步最大时间戳的增量数据而非全量数据,大幅减少了数据传输量和处理开销,将同步延迟降低至秒级;根据目标时间范围与分析数据库最早时间戳的比较结果将查询请求路由至不同引擎,使用户通过统一查询接口即可同时访问实时数据和历史数据,实现了实时数据与历史数据的无缝融合查询。

4、根据本技术的实施例,上述将上述标准化事件写入数据湖系统,包括:在上述操作类型字段指示操作类型为插入的情况下,将上述标准化事件作为新记录写入上述数据湖系统;在上述操作类型字段指示操作类型为更新的情况下,以上述标准化事件替换上述主键字段对应的记录;在上述操作类型字段指示操作类型为删除的情况下,移除上述主键字段对应的记录。

5、数据湖系统能够正确处理来自关系型数据库的插入、更新和删除三种变更操作,保证了数据湖中存储的是与业务数据库一致的数据状态;同时该机制支持幂等写入,即使因网络重传等原因导致同一标准化事件多次写入,也能通过主键去重确保最终数据的一致性,避免了数据冗余和版本冲突。

6、根据本技术的实施例,上述获取上述数据湖系统中提交时间戳大于已同步最大提交时间戳的增量数据,将上述增量数据写入分析数据库,包括:按照预设时间周期扫描上述数据湖系统的提交时间线,获取各提交时间戳对应的增量数据,将获取到的增量数据批量导入上述分析数据库;或通过流处理引擎的数据源连接器从上述数据湖系统实时读取增量数据,并通过上述流处理引擎的数据输出端连接器将读取到的增量数据实时写入上述分析数据库。

7、批量同步模式下按照预设时间周期扫描数据湖提交时间线并批量导入分析数据库,实现简单、资源占用集中;流式同步模式下通过流处理引擎的数据源连接器和数据输出端连接器实现实时读写,同步延迟低。两种模式可根据业务需求灵活选用或组合使用,其中流式同步模式负责日常实时同步,批量同步模式作为兜底机制定期进行全量校验和补录,在保证实时性的同时兼顾了最终一致性。

8、根据本技术的实施例,上述方法还包括:响应于上述数据湖系统的数据模式发生变更,根据预先建立的映射关系向上述分析数据库发送数据模式同步指令,其中,上述映射关系表征上述数据湖系统的数据表与上述分析数据库的数据表之间的对应关系;其中,预先建立的上述数据湖系统的数据表与上述分析数据库的数据表之间的对应关系,包括:通过元数据服务存储上述映射关系,上述映射关系包括字段名称对应关系、字段类型对应关系和分区键对应关系。

9、通过元数据服务集中存储字段名称对应关系、字段类型对应关系和分区键对应关系,使得数据湖系统与分析数据库之间的表结构对应关系可追踪、可对齐、可审计,确保了跨系统元数据的一致性,为后续的数据模式自动同步和查询路由提供了准确的映射依据。

10、根据本技术的实施例,上述根据预先建立的上述数据湖系统的数据表与上述分析数据库的数据表之间的映射关系,向上述分析数据库发送数据模式同步指令,包括:当检测到上述数据湖系统的表中新增字段时,根据上述映射关系确定上述分析数据库中的对应表;向上述对应表发送新增列指令,上述新增列指令的列名称和列类型根据上述映射关系由上述新增字段的字段名称和字段类型转换得到。

11、当检测到数据湖系统表中新增字段时,根据映射关系确定分析数据库中的对应表,并向该对应表发送新增列指令,列名称和列类型由映射关系转换得到。数据湖系统的表结构变更能够自动、及时地同步至分析数据库的对应表,无需人工在两侧分别执行数据定义(data definition language, ddl)操作,避免了人工同步带来的延迟和错误风险。

12、根据本技术的实施例,获取增量数据并写入分析数据库,包括执行两阶段提交操作:在第一阶段,验证上述分析数据库中目标表的分区结构和数据模式与待同步的增量数据是否匹配,当匹配时进入第二阶段,当不匹配时终止本次同步;在第二阶段,在上述数据湖系统中锁定当前提交版本并导出增量数据,将导出的增量数据写入上述分析数据库,在写入完成后确认本次提交;当上述第一阶段或上述第二阶段失败时,将上述数据湖系统和上述分析数据库回滚至本次同步开始之前的版本状态。

13、第一阶段验证分析数据库目标表的分区结构和数据模式是否与待同步增量数据匹配,匹配时进入第二阶段;第二阶段在数据湖系统中锁定当前提交版本并导出增量数据,写入分析数据库后确认提交;任一阶段失败时两个系统均回滚至同步前状态。使得跨系统的增量数据同步操作具备原子性,避免了部分同步、数据重复写入或数据丢失等问题,保障了端到端的数据一致性。

14、根据本技术的实施例,还包括:接收数据分析请求,上述数据分析请求携带用户指定的提交时间戳;根据上述映射关系,将上述指定提交时间戳发送至上述数据湖系统;根据上述指定提交时间戳定位与上述提交时间戳对应的数据版本快照,从上述数据版本快照中读取数据。

15、通过接收携带用户指定提交时间戳的查询请求,根据映射关系将提交时间戳发送至数据湖系统,由数据湖系统定位对应版本快照并读取数据。使得用户可以查询任意历史时刻的数据状态,无需预先备份或维护历史数据副本,即可实现历史回溯、合规审计和数据问题追踪,满足监管审计场景下验证数据变更合规性和完整性的需求。

16、根据本技术的实施例,还包括:解析上述数据分析请求中的筛选条件,从上述筛选条件中识别能够下推至上述数据湖系统的目标筛选条件;根据上述目标筛选条件,以主键索引字段和时间戳索引字段作为检索键,定位并读取满足上述目标筛选条件的数据文件或数据分区。

17、分析数据库解析筛选条件并识别可下推至数据湖系统的目标筛选条件,数据湖系统以主键索引和时间戳索引定位并读取满足条件的数据文件或分区,将数据返回分析数据库后以列式向量化方式执行聚合运算。数据湖系统利用索引仅扫描满足条件的数据分区,减少了数据传输量;分析数据库利用向量化指令集提高了计算效率,两方面协同使得查询延迟显著降低,减少数据扫描量。

18、根据本技术的实施例,上述基于上述数据分析请求所指向的目标时间范围,将上述数据分析请求路由至上述分析数据库或上述数据湖系统包括:若上述目标时间范围的起始时刻不早于上述分析数据库中已存储数据的最早时间戳,则将上述数据分析请求路由至上述分析数据库执行;若上述目标时间范围的起始时刻早于上述最早时间戳,则将上述数据分析请求路由至上述数据湖系统执行。

19、本技术的第二方面提供了一种基于数据湖和分析数据库的数据处理系统,包括:数据采集模块,配置为从多种异构数据源采集业务数据,将采集到的上述业务数据按预定数据结构封装为标准化事件,上述标准化事件包含操作类型字段、主键字段、时间戳字段和业务数据字段;流式处理模块,配置为根据上述标准化事件中的上述操作类型字段和上述主键字段,将上述标准化事件写入数据湖系统;分布式数据同步协调模块,配置为持久化存储数据,根据数据写入操作生成对应的提交实例,并记录上述提交实例的提交时间戳;数据同步协调模块,配置为获取上述数据湖系统中提交时间戳大于已同步最大提交时间戳的增量数据,将上述增量数据写入分析数据库模块,并以当前写入的增量数据的最大提交时间戳更新上述已同步最大提交时间戳;分析数据库模块,配置为以列式存储结构存储数据,以向量化执行引擎执行查询运算;元数据与目录管理模块,配置为维护上述数据湖系统的数据表与上述分析数据库的数据表之间的映射关系,监测上述数据湖系统的数据模式,在检测到上述数据模式发生变更时根据上述映射关系向上述分析数据库模块发送数据模式同步指令;查询与服务模块,配置为接收数据分析请求,解析上述数据分析请求所指向的目标时间范围,若上述目标时间范围的起始时刻不早于上述分析数据库模块中已存储数据的最早时间戳,则将上述数据分析请求路由至上述分析数据库模块执行;若上述目标时间范围的起始时刻早于上述最早时间戳,则将上述数据分析请求路由至上述分布式数据同步协调模块执行。

20、本技术的第三方面还提供了一种计算机可读存储介质,其上存储有固件程序或指令,固件程序或指令被处理器执行时实现上述方法的步骤。

21、本技术的第四方面提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储固件程序或指令,固件程序在被处理器执行时实现根据上述方法的步骤。