CN115982278A - 基于mpp数据库的自助式实时数据比对方法及系统 - Google Patents

基于mpp数据库的自助式实时数据比对方法及系统 Download PDF

Info

Publication number
CN115982278A
CN115982278A CN202211708987.3A CN202211708987A CN115982278A CN 115982278 A CN115982278 A CN 115982278A CN 202211708987 A CN202211708987 A CN 202211708987A CN 115982278 A CN115982278 A CN 115982278A
Authority
CN
China
Prior art keywords
data
comparison
mpp database
source data
source
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
Application number
CN202211708987.3A
Other languages
English (en)
Inventor
张帆
董珊
王正文
叶艳
郝亮
王超然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Zhengzhou Technology Co ltd
Original Assignee
Digital Zhengzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Digital Zhengzhou Technology Co ltd filed Critical Digital Zhengzhou Technology Co ltd
Priority to CN202211708987.3A priority Critical patent/CN115982278A/zh
Publication of CN115982278A publication Critical patent/CN115982278A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理技术领域,特别涉及一种基于MPP数据库的自助式实时数据比对方法及系统,通过构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数来获取源数据和目标数据比对结果并输出。本发明利用分布式MPP数据库代替传统大数据数据库组件,在MPP数据库中能够大大提高数据比对处理速度,达到对业务大数据的近实时数据比对;让业务人员自助式无需任何代码或者SQL能力就可以通过操作Web交互界面页面快速得到待处理数据比对结果,大大降低技术门槛,便于实施应用。

Description

基于MPP数据库的自助式实时数据比对方法及系统
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于MPP数据库的自助式实时数据比对方法及系统。
背景技术
随着计算机技术的发展,不但互联网中的数据呈爆发式增长,如今,很多大型业务系统中的数据,同样也较以前产生了大幅增长。而且不单是数据量的增长,随着微服务架构的流行,在一个大型系统中,可能有众多数据源,并且这些数据源又可能由多个异构数据源,如一个系统中含有MySQL/PostgresSQL数据库、Excel文件等不同数据源来存储业务数据。在一些业务场景还有数据分析需求中,经常需要对这些系统中管理的数据进行数据比对,甚至需要接收业务外部的数据和系统中的数据进行碰撞。
目前,异构数据数据比对常用技术有:1、通过数据同步工具至大数据平台如HDFS,利用大数据仓库对SQL的支持,如Hive、SparkSQL,用SQL对数据进行比对计算,参加图2所示。由于大数据组件的特性,数据计算任务调度比较重和相对的耗时,如果需要比对的数据需要进行加工计算,一般需要调度离线任务进行预计算,时效性会打折。并且不会SQL的业务人员也无法使用。2、通过脚本方式将需要比对数据查询出来预载进内存进行比对计算,参见图3所示。这个方式的脚本可以是由技术人员编写一个Python+Pandas的脚本,也可以是利用可视化工具如Kettle生成的脚本,总之不能直接通过一条SQL实现比对,也无法直接由业务人员操作。对于新增的数据源和外部数据、不能复用已有脚本,导致脚本管理困难。这种常用处理方式需要每次查询比对目标的全部数据,然后再在脚本运行的单机内存中进行比对计算。当数据量较大时往往出现内存溢出导致比对失败。因此,亟需一种自助式准实时的数据比对方案来满足业务人员使用。
发明内容
为此,本发明提供一种基于MPP数据库的自助式实时数据比对方法及系统,能够解决外部数据与大数据碰撞比对时的时效性及用户比对数据技术门槛要求等问题,便于实施。
按照本发明所提供的设计方案,提供一种基于MPP数据库的自助式实时数据比对方法,包含:
构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,包含:
首先,依据用户在用户交互界面选择的字段和信息项来生成用于待比对源数据和目标数据比对的比对参数;
然后,将用户上传的源数据上传至对象存储组件服务中进行中转存储,并利用任务消息队列存储当前待比对任务的比对参数。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,将用户上传的源数据上传至对象存储组件服务中进行中转存储时,通过调用对象存储服务OSS接口将用户上传的源数据上传至对象存储组件服务,并获取对象存储组件服务中源数据的ID信息。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,将源数据加载至大规模并行处理架构MPP数据库,同时经过CDC实时处理加载入MPP数据库的目标数据,在大规模并行处理架构MPP数据库中利用比对参数来获取源数据和目标数据比对结果并输出,包含:
首先,业务数据经过CDC实时加工处理后加载至大规模并行处理架构MPP数据库中成为目标数据,待比对任务随时使用,这一动作无论是否有比对需求发生都是时刻进行着的;
接着,获取比对任务源数据和比对任务配置信息并加载到脚本机器内存中,并依据配置信息中的比对基准字段将源数据和目标数据项转嵌入大规模并行处理架构MPP数据库SQL语句,利用SQL查询子句与其他表单进行关联;
接着,依据大规模并行处理架构MPP数据库中数据表和比对信息项的映射关系,将比对信息项映射到表单子句中;将比对信息项和比对信息项对应的查询条件嵌入SQL语句并生成表单对应的子查询;
然后,将所有表单的子查询及大规模并行处理架构MPP数据库转嵌入的源数据和目标数据项进行主键关联来生成最终SQL查询语句;
最后,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,依据比对基准字段将源数据和目标数据转嵌入大规模并行处理架构MPP数据库SQL语句,包含:
判断源数据和目标数据的数据量是否小于预设阈值上限,若小于预设阈值上限,则通过比对基准字段将源数据和目标数据转嵌入大规模并行处理架构MPP数据库并生成转嵌入SQL语句,将所有数据的转嵌入SQL语句合并组合为SQL语句的子查询,若高于预设阈值上限,将源数据进行分批次转嵌入至大规模并行处理架构MPP数据库,并在每个批次中分配数据ID,直至通过比对基准字段将全部源数据嵌入大规模并行处理架构MPP数据库。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出,包含:
首先,利用大规模并行处理架构MPP数据库执行最终SQL查询语句并获取查询的数据结果;
然后,将查询的数据结果和源数据及目标数据项通过基准字段进行拼接,生成用于输出的源数据和目标数据比对数据。
作为本发明基于MPP数据库的自助式实时数据比对方法,进一步地,构建用户比对需求中源数据和目标数据的比对参数之前,还包含:判断目标数据是否为新捕获的数据源,若是新捕获的数据源,则对该新数据源进行配置,将新捕获的数据源进行预处理后写入大规模并行处理架构MPP数据库,并生成用于构建比对参数中比对基准字段和比对信息项的候选选项。
进一步地,本发明还提供一种基于MPP数据库的自助式实时数据比对系统,包含:比对配置模块和比对输出模块,其中,
比对配置模块,用于构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
比对输出模块,用于将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
本发明的有益效果:
本发明利用分布式MPP数据库代替传统大数据数据库组件,在MPP数据库中能够大大提高数据比对处理速度,达到对业务大数据的近实时数据比对;并可实现数据的实时同步,能够在同步过程中将数据ETL治理。另外,针对为业务人员使用大数据的门槛,根据业务数据比对业务需求,业务人员自助式无需任何代码或者SQL能力就可以通过操作Web交互界面页面快速得到待处理数据比对结果,让用户利用鼠标操作就可以配置数据比对任务,能够大大降低业务人员技术门槛,便于实施应用。
附图说明:
图1为实施例中基于MPP数据库的自助式实时数据比对流程示意图;
图2为实施例中通过数据同步工具并利用大数据仓库对SQL支持来实现SQL对数据比对计算流程示意;
图3为实施例中通过脚本方式将需要比对数据查询出来预载进内存的比对计算流程示意;
图4为实施例中基于MPP数据库的自助式实时数据比对算法原理示意;
图5为实施例中用户侧数据对比流程示意;
图6为实施例中开发侧数据预处理流程示意;
图7为实施例中系统原理框架示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
大规模并行处理架构MPP(Massively Parallel Processing),将任务并行分散到多个服务器和节点上,在每个结点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。通过增加节点数目达到系统线性扩展。类似将小数据库组织起来,联合成大型数据库。其中,采用MPP架构的数据库即为MPP数据库。
变动数据捕获CDC(Change Data Capture)识别和捕获对数据库中的数据所做的更改(包括数据或数据表的插入、更新、删除等),然后将这些更改按发生的顺序完整记录下来,并实时通过消息中间件传送到下游流程或系统的过程。通过这种方式,CDC能够向数据仓库提供高效、低延迟的数据传输,以便信息被及时转换并交付给专供分析的应用程序。
数据加工过程ETL(Extract Transform Load),将业务系统的数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
Hadoop分布式文件系统HDFS(Hadoop Distributed File System)适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,可适合大规模数据集上的应用。
针对现有外部数据与大数据碰撞比对时的时效性及用户比对数据技术门槛要求等问题,本发明实施例,参见图1所示,提供一种基于MPP数据库的自助式实时数据比对方法,包含:
S101、构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
S102、将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
传统的基于HDFS的大数据存储计算组件如旧版本的Hive等,不支持ACID事务或者对数据更新开销较大,并且Hive等基于Yarn调度的计算引擎在响应新查询时资源调度开销大,难以应付实时查询需求。本案实施例中,利用MPP数据库替代不仅减少了数据写入更新的开销,并且无需等待资源调度所以可以支持高并发的实时查询需求。相对于基于传统大数据组件的Presto实时查询引擎又不会引入更多组件依赖,有利于系统整体维护,减少资源成本。
作为优选实施例,进一步地,构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,包含:
首先,依据用户在用户交互界面选择的字段和信息项来生成用于待比对源数据和目标数据比对的比对参数;
然后,将用户上传的源数据上传至对象存储组件服务中进行中转存储,并利用任务消息队列存储当前待比对任务的比对参数。
利用友好的Web操作页面作为提供给用户的交互界面,让用户利用鼠标操作就可以配置数据比对任务,不是大大降低,而是几乎完全取消了用户的技术门槛。
作为优选实施例,进一步地,将用户上传的源数据上传至对象存储组件服务中进行中转存储时,通过调用对象存储服务OSS接口将用户上传的源数据上传至对象存储组件服务,并获取对象存储组件服务中源数据和目标数据的ID信息。
参见图4所示,本案实施例中,利用分布式MPP数据库代替传统大数据数据库组件,用Flink CDC技术实现实时同步,并且在同步过程中将数据ETL治理,用在MPP数据库中的治理后的数据模型进行数据比对以大大提高处理速度,从而达到对业务大数据的近实时数据比对。另外针对为业务人员降低使用大数据的门槛,根据业务数据比对流程设计系统页面,可以让业务人员自主拿手中的外部数据无需任何代码或者SQL能力就可以通过操作Web页面快速得到比对的数据结果。由于数据实时同步和预处理,加上MPP数据库分布式架构的高处理能力,极大的提高了数据比对效率,自助式数据比对系统页面大大减少了业务人员的使用门槛,无需知晓SQL知识也可进行数据比对操作。
进一步地,本案实施例中,将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数来获取源数据和目标数据比对结果并输出,包含:
首先,业务数据经过变动数据捕获和实时加工处理后作为目标数据被加载至大规模并行处理架构MPP数据库中,并将比对任务源数据加载到脚本机器内存中,依据比对基准字段将源数据和目标数据项转嵌入大规模并行处理架构MPP数据库SQL语句,利用SQL查询子句与其他表单进行关联。由于目标数据经过CDC进行ETL加工实时被加载至大规模并行处理架构MPP数据库中供比对任务随时使用,在数据比对任务预备中只需将源数据加载至大规模并行处理架构MPP数据库。
接着,依据大规模并行处理架构MPP数据库中数据表和比对信息项的映射关系,将比对信息项映射到表单子句中;将比对信息项和比对信息项对应的查询条件嵌入SQL语句并生成表单对应的子查询;
然后,将所有表单的子查询及大规模并行处理架构MPP数据库转嵌入的源数据和目标数据进行主键关联来生成最终SQL查询语句;
最后,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出。
用MPP数据库作为计算引擎代替在脚本内部进行数据计算,杜绝了单机性能限制等内存溢出风险,提供了更大的可处理数据量和计算速度,减少了自己在脚本内部实现并行处理的技术门槛。依据比对基准字段将源数据和目标数据项转嵌入大规模并行处理架构MPP数据库SQL语句时,可判断源数据的数据量是否小于预设阈值上限,若小于预设阈值上限,则通过比对基准字段将源数据和目标数据转嵌入大规模并行处理架构MPP数据库并生成转嵌入SQL语句,将所有数据的转嵌入SQL语句合并组合为SQL语句的子查询,若高于预设阈值上限,将源数据进行分批次转嵌入至大规模并行处理架构MPP数据库,并在每个批次中分配数据ID,直至通过比对基准字段将全部源数据嵌入大规模并行处理架构MPP数据库。
参见图5所示,在用户侧,用户可通过登录Web交互页面,Web页面逻辑中通过接口从数据比对元数据库中获取已注册的信息项。用户通过Web页面的本地文件选择控件提交需要进行比对的外部数据文件。Web页面逻辑通过调用OSS对象存储服务接口将用户本地的数据文件上传至OSS,并从接口返回结果中获得OSS中该文件的唯一ID。
需要注意说明的是,用户通过Web页面继续选择数据比对任务中的基准字段,即自己提供的外部数据文件中的哪一列或几列组合作为数据比对的主键。Web页面将获取的信息项展示给用户,用户可从中选择数据比对任务中需要获取的信息项,可以多选,且某些信息项可以配置查询条件,比如时间段限制、个数限制等。
根据用户做的所有选择,可以JSON格式组合生成数据比对任务配置信息,并通过接口将JSON信息发布到MQ消息队列中。开发好的通用数据比对Python脚本监听MQ消息队列,当有新消息时Python脚本接收到消息即任务配置的JSON,开始正式处理数据比对任务。利用Python脚本将此次任务唯一标识、“正在处理”的状态、开始时间记录到数据比对任务元数据库,以提供用户在页面查看任务处理状态。Python脚本从任务配置JSON信息中读取OSS文件ID,通过OSS服务接口获取用户上传的外部数据文件并加载到内存。
检查文件中数据量是否高于规定阈值,需要说明的是,阈值大小跟脚本机器内存、MPP数据的SQL长度限制设置相关,本实施例中,可使用阈值1000。
如果外部数据的数据量小于阈值,Python脚本使用“Select CAST(<基准字段具体数据>AS Varchar)AS compare_pk”将每一条外部数据转嵌入SQL语句,然后将所有数据UNION ALL起来组合一个子查询,可以放到SQL的FROM子句中和其他表进行关联。如果外部数据的数据量大于等于阈值,Python脚本将此次数据分配一个批次的唯一ID,将基准字段数据全部插入到MPP数据库中一个事先建立的通用临时表。
作为优选实施例,进一步地,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出,包含:
首先,利用大规模并行处理架构MPP数据库执行最终SQL查询语句并获取查询的数据结果;
然后,将查询的数据结果和源数据及目标数据通过基准字段进行拼接,生成用于输出的源数据和目标数据比对数据。
Python脚本根据任务配置JSON里的信息,将需要输出的比对数据信息项动态生成MPP数据库的查询SQL,生成的方式是借助MPP中数据表和信息项的映射关系,根据用户选择获取需要查询哪些信息项,将映射到的表放入From子句,将信息项即字段放入Select语句,将信息项对应的查询条件放入Where子句,每个数据表生成一个子查询,再将所有的子查询和步骤10中的外部数据进行主键关联,获得最终查询SQL。
Python脚本将生成好的SQL语句提交到MPP数据执行,同步(Synchronized)等待获取返回的数据结果。Python脚本将查询返回的结果和原始外部数据通过基准字段进行拼接产生最终结果并输出成Excel文件,再通过OSS服务接口将最终结果文件上传至OSS,成功后从接口返回内容中获取文件ID。Python脚本修改比对任务元数据中该任务的执行结果为“已完成”,并将结果文件ID写入。
用户在Web页面通过计时条等提示在一定事件后刷新页面,可以检查任务执行状态,待任务执行状态被标识为“已完成”时,页面会同时提供查看结果文件的链接。用户通过链接,即调用OSS服务接口和该任务结果文件ID获取该次任务结果文件,至此完成全部数据比对任务流程。
在用户侧,用户只需要操作Web界面,通过Web控件进行文件上传下载、所需比对数据信息项的勾选,即可完成数据比对任务,逻辑实现都由程序自动完成,用户完全不需要有SQL知识。
进一步地,构建用户比对需求中源数据和目标数据的比对参数之前,还包含:判断源数据和目标数据是否为新捕获的数据源,若是新捕获的数据源,则对该新数据源进行配置,将新捕获的数据源进行预处理后写入大规模并行处理架构MPP数据库,并生成用于构建比对参数中比对基准字段和比对信息项的候选选项。
参见图6所示,在开发侧,当业务出现新的数据源时,开发人员收集新数据源信息。通过数据源模块对数据源进行配置,包括链接信息,用户密码等,利用Flink CDCConnector插件让数据源的数据可以流式地进入实时数据处理引擎。开发人员开发Flink任务对接入的数据进行预处理,包括数据清洗、去除脏数据、根据业务需求将事实表结合维表进行打宽、敏感数据脱敏等操作。Flink任务的来源(Source)即为CDC Connector接入的流式数据源,目标端(Sink)即为MPP数据库。开发人员将Flink任务提交到Flink集群运行,数据源的数据即开始被实时处理入库。开发人员将此次开发任务产生写入MPP数据库的数据项的分类、字段、注释信息写入数据比对任务元数据库,即注册可对比数据基础信息项,用来给Web操作页面提供可对比信息的选项。
通过对业务数据进行增量数据实时处理,减少了传统架构中业务数据到大数据平台的时差,提高了数据鲜度。
需要注意说明的是,只有当业务需求有新增数据源时才会触发一次,正常业务系统运行生产数据时都会被此流程里创建的联通通路和Flink任务实时处理,无需开发人员介入。
进一步地,基于上述的方法,本发明实施例还提供一种基于MPP数据库的自助式实时数据比对系统,包含:比对配置模块和比对输出模块,其中,
比对配置模块,用于构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
比对输出模块,用于将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
利用实时计算引擎对业务数据进行实时预处理、利用MPP数据库提高大数据量下的数据比对计算速度、提供无技术门槛的操作界面给用户自助式配置数据比对任务,从整体上能够实现准实时数据比对计算,并经过实际验证测试,从业务数据库中产生数据到可以被用户在数据比对中查询并获取最终结果集的时效可控制在10秒~1分钟以内。
进一步地,准实时自助式数据比对系统的整体设计结构如图7所示,左边是数据比对基础数据准备时所需的3个模块,右边是对于用户进行数据比对操作的模块。
数据源模块是对应多种数据来源,负责创建关闭数据源链接、查询提取数据、或者监听数据库更新日志(如MySQL的Binlog等),将数据以流式消息格式传递到实时处理模块。
数据实时处理模块是利用Flink的流式处理能力,对数据源模块实时传递的消息数据进行数据治理、事实表和维表打宽等处理,再将结果表实时写入MPP数据库。
数据存储计算模块是统一存储数据比对所需基础数据,以及进行数据比对计算的。利用MPP数据库的分布式并发计算能力和在线横向扩展能力应对大数据量的数据比对任务。同时处理好的可以用于比对的基础数据项目,会在元数据库存储,以供用户比对时选取使用。
用户界面操作模块,是针对用户数据比对流程设计的一套WebUI交互界面,提供让用户提交自己待比对的外部数据,选择比对基准字段,选择所需比对信息项以及查看下载比对结果的功能。此模块中用户的外部数据会以CSV或Excel文件格式上传到对象存储组件服务中,文件的ObjectID、用户在界面选择的比对基准字段、比对信息项等选项会组成一个任务配置JSON,发送到任务消息队列中用于触发异步数据比对处理任务。
任务文件存储模块,顾名思义就是用来存储和中转用户提交的数据比对任务的配置信息和外部数据的。配置信息存储在消息队列组件中,外部数据文件存储在对象文件存储服务组件中。
异步数据比对任务模块是处理用户提交的数据比对任务的,比对任务的执行和任务结果的反馈都是异步的,所以叫异步数据比对。模块的具体实现就是由一个脚本一直监听任务消息队列,在从队列中获取到任务配置信息之后,将用户上传至对象文件存储服务的外部数据加载至MPP数据库,再根据用户选取的任务配置信息,动态生成外部数据和基础数据对比的SQL,提交至MPP数据库获得比对结果,最终将结果输出成Excel文件保存至对象文件存储服务。
每个数据源都经过实时处理后作为数据比对基础数据进入下一步。数据比对的具体计算在任何符合MPP架构的数据库中进行。自助式Web交互界面是基于Web、无需用户使用SQL等任何编程技术,用户上传外部数据和下载结果文件是基于OSS对象文件存储服务实现。异步通讯通过MQ消息队列传递JSON信息进行交互。根据用户配置的数据比对任务信息动态生成具体的数据比对计算SQL语句。
本案实施例中,可通过CDC将数据在实时同步过程中进行ETL,并将结果实时同步进大数据局计算引擎的MPP数据库,利用交互页面供业务人员上传外部数据时自助选择需要比对内容选项进行数据比对。由于数据实时同步和预处理,加上MPP数据库分布式架构的高处理能力,极大的提高了数据比对效率,自助式数据比对系统页面大大减少了业务人员的使用门槛,无需知晓SQL知识也可进行数据比对操作,便于实际部署实施。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于MPP数据库的自助式实时数据比对方法,其特征在于,包含:
构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
2.根据权利要求1所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,包含:
首先,依据用户在用户交互界面选择的字段和信息项来生成用于待比对源数据和目标数据比对的比对参数;
然后,将用户上传的源数据上传至对象存储组件服务中进行中转存储,并利用任务消息队列存储当前待比对任务的比对参数。
3.根据权利要求2所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,将用户上传的源数据上传至对象存储组件服务中进行中转存储时,通过调用对象存储服务OSS接口将用户上传的源数据上传至对象存储组件服务,并获取对象存储组件服务中源数据的ID信息。
4.根据权利要求1所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数来获取源数据和目标数据比对结果并输出,包含:
首先,业务数据经过变动数据捕获和实时加工处理后作为目标数据被加载至大规模并行处理架构MPP数据库中,并将比对任务源数据加载到脚本机器内存中,依据比对基准字段将源数据和目标数据项转嵌入大规模并行处理架构MPP数据库SQL语句,利用SQL查询子句与其他表单进行关联;
接着,依据大规模并行处理架构MPP数据库中数据表和比对信息项的映射关系,将比对信息项映射到表单子句中;将比对信息项和比对信息项对应的查询条件嵌入SQL语句并生成表单对应的子查询;
然后,将所有表单的子查询及大规模并行处理架构MPP数据库转嵌入的源数据和目标数据进行主键关联来生成最终SQL查询语句;
最后,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出。
5.根据权利要求4所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,依据比对基准字段将源数据和目标数据转嵌入大规模并行处理架构MPP数据库SQL语句,包含:
判断源数据的数据量是否小于预设阈值上限,若小于预设阈值上限,则通过比对基准字段将源数据转嵌入大规模并行处理架构MPP数据库并生成转嵌入SQL语句,将所有数据的转嵌入SQL语句合并组合为SQL语句的子查询,若高于预设阈值上限,将源数据进行分批次转嵌入至大规模并行处理架构MPP数据库,并在每个批次中分配数据ID,直至通过比对基准字段将全部源数据嵌入大规模并行处理架构MPP数据库。
6.根据权利要求1或4所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,利用大规模并行处理架构MPP数据库执行最终SQL查询语句来返回源数据和目标数据比对结果并输出,包含:
首先,利用大规模并行处理架构MPP数据库执行最终SQL查询语句并获取查询的数据结果;
然后,将查询的数据结果和源数据及目标数据通过基准字段进行拼接,生成用于输出的源数据和目标数据比对数据。
7.根据权利要求1所述的基于MPP数据库的自助式实时数据比对方法,其特征在于,构建用户比对需求中源数据和目标数据的比对参数之前,还包含:判断源数据和目标数据是否为新捕获的数据源,若是新捕获的数据源,则对该新数据源进行配置,将新捕获的数据源进行预处理后写入大规模并行处理架构MPP数据库,并生成用于构建比对参数中比对基准字段和比对信息项的候选选项。
8.一种基于MPP数据库的自助式实时数据比对系统,其特征在于,包含:比对配置模块和比对输出模块,其中,
比对配置模块,用于构建用户比对需求中源数据和目标数据的比对参数,并将源数据和比对参数进行缓存,所述比对参数包含比对基准字段和比对信息项;
比对输出模块,用于将源数据加载至大规模并行处理架构MPP数据库,在大规模并行处理架构MPP数据库中利用比对参数对源数据和目标数据进行比对并输出,其中,目标数据在变动数据捕获后通过数据加工过程被加载至大规模并行处理架构MPP数据库。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序,并在程序执行时实现权利要求1~7任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7任一项所述的方法步骤。
CN202211708987.3A 2022-12-29 2022-12-29 基于mpp数据库的自助式实时数据比对方法及系统 Pending CN115982278A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211708987.3A CN115982278A (zh) 2022-12-29 2022-12-29 基于mpp数据库的自助式实时数据比对方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211708987.3A CN115982278A (zh) 2022-12-29 2022-12-29 基于mpp数据库的自助式实时数据比对方法及系统

Publications (1)

Publication Number Publication Date
CN115982278A true CN115982278A (zh) 2023-04-18

Family

ID=85975611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211708987.3A Pending CN115982278A (zh) 2022-12-29 2022-12-29 基于mpp数据库的自助式实时数据比对方法及系统

Country Status (1)

Country Link
CN (1) CN115982278A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116756150A (zh) * 2023-08-16 2023-09-15 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116756150A (zh) * 2023-08-16 2023-09-15 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法
CN116756150B (zh) * 2023-08-16 2023-10-31 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法

Similar Documents

Publication Publication Date Title
CN107958010B (zh) 用于在线数据迁移的方法及系统
US9594803B2 (en) Parallel processing database tree structure
JP6117378B2 (ja) 分散型データベースクエリ・エンジン用のシステムおよび方法
KR101621137B1 (ko) 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진
CN107368503B (zh) 基于Kettle的数据同步方法和系统
JP5298117B2 (ja) 分散コンピューティングにおけるデータマージング
US20180113746A1 (en) Software service execution apparatus, system, &amp; method
US20220067044A1 (en) Microservice component-based database system and related method
EP3218823A1 (en) Processing queries containing a union-type operation
CN112905339B (zh) 任务调度执行方法、装置及系统
CN112379884A (zh) 基于Spark和并行内存计算的流程引擎实现方法及系统
CN113901078A (zh) 业务订单关联查询方法、装置、设备及存储介质
CN113076729A (zh) 用于报表导入的方法及系统、可读存储介质及电子设备
CN111966692A (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
CN115982278A (zh) 基于mpp数据库的自助式实时数据比对方法及系统
CN114328759A (zh) 一种数据仓库的数据构建与管理方法及终端
CN111159300A (zh) 基于区块链的数据处理方法及装置
Gousios et al. A platform for software engineering research
CN112395307A (zh) 执行语句的方法、装置、服务器及存储介质
US11567957B2 (en) Incremental addition of data to partitions in database tables
WO2023185309A1 (zh) 数据同步方法和系统、计算机可读存储介质
EP3953831A1 (en) Enterprise resource planning system, server and supervision method of sql queries in such a system or server
CN112800064B (zh) 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
US10963426B1 (en) Method of providing access controls and permissions over relational data stored in a hadoop file system
US20240176593A1 (en) System and method for API driven rapid application development and execution

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