CN111143463B - 一种基于主题模型的银行数据仓库的构建方法及装置 - Google Patents
一种基于主题模型的银行数据仓库的构建方法及装置 Download PDFInfo
- Publication number
- CN111143463B CN111143463B CN202010009457.4A CN202010009457A CN111143463B CN 111143463 B CN111143463 B CN 111143463B CN 202010009457 A CN202010009457 A CN 202010009457A CN 111143463 B CN111143463 B CN 111143463B
- Authority
- CN
- China
- Prior art keywords
- data
- date
- history
- loading
- topic model
- 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.)
- Active
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种基于主题模型的银行数据仓库的构建方法及装置,基于主题模型的银行数据仓库的构建方法包括:将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中;根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中;将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。本发明提供的方法具有比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高的优点。
Description
技术领域
本发明涉及大数据技术领域,具体涉及金融行业的大数据仓库的构建以及验证技术,特别是涉及一种基于主题模型的银行数据仓库的构建方法及装置。
背景技术
现有技术中,商业银行企业级数据仓库一般均是基于TERADATA一体机来建设,近十年来,数据仓库为商业银行的业务发展起到了重要的推动作用。虽然一体机是专为大量数据的分析处理而设计的软、硬件结合的数据库产品,由一组集成的服务器、存储设备、操作系统、数据库管理系统以及一些为数据仓库用途而特别预先安装及优化的软件组成,对数据管理、处理有着相对成熟的方案,然而,随着商业银行企业级数据仓库数据容量的不断扩张、业务的不断扩展,一体机的扩容、维护成本高等弊端明显显现,为此,亟需一种适合于商业银行开展企业级数据仓库的IT架构转型的方法。
发明内容
针对现有技术中的问题,本发明可以提供了一种比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高的基于主题模型的银行数据仓库的构建方法及装置
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种基于主题模型的银行数据仓库的构建方法,包括:
将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中;
根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中;
将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
优选地,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
优选地,生成优先级规则包括:根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。
优选地,所述根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中,包括:
利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表;
从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中;
利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表;
利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中。
优选地,基于主题模型的银行数据仓库的构建方法还包括:对目标数据仓库进行数据验证,包括:
再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据;
根据所述Start_dt=Tx_Date数据生成第一数据集合;
根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合;
获取原始数据中截止Tx_Date数据量;
根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证。
优选地,所述对目标数据仓库进行数据验证还包括:
再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt=Tx_Date数据;
根据所述Etl_Tx_Dt=Tx_Date数据生成第三数据集合;
根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt=Tx_Date数据所对应的数据生成第四数据集合;
获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量;
根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
第二方面,本发明提供一种基于主题模型的银行数据仓库的构建装置,该装置包括:
主题表划分单元,用于将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中,
主题表加载单元,用于根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中,
目标数据库生成单元,用于将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
优选地,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
优选地,基于主题模型的银行数据仓库的构建装置还包括:
规则生成单元,用于生成优先级规则,具体用于根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。
优选地,所述主题表加载单元包括:
历史拉链表生成模块,用于利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表;
历史拉链表加载模块,用于从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中;
非历史拉链表生成模块,用于利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表;
非历史拉链表加载模块,用于利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中。
优选地,基于主题模型的银行数据仓库的构建装置还包括:
数据验证单元,用于对目标数据仓库进行数据验证,具体包括:
历史拉链表再次生成模块,用于再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据;
第一数据集合生成模块,用于根据所述Start_dt=Tx_Date数据生成第一数据集合;
第二数据集合生成模块,用于根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合;
数据量获取第一模块,用于获取原始数据中截止Tx_Date数据量;
数据验证第一模块,用于根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证。
优选地,所述数据验证单元还包括:
非历史拉链表再次生成单元,用于再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt=Tx_Date数据;
第三数据集合生成模块,用于根据所述Etl_Tx_Dt=Tx_Date数据生成第三数据集合;
第四数据集合生成模块,用于根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt=Tx_Date数据所对应的数据生成第四数据集合;
数据量获取第二模块,用于获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量;
数据验证第二模块,用于根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现基于主题模型的银行数据仓库的构建方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于主题模型的银行数据仓库的构建方法的步骤。
从上述描述可知,本发明提供的基于主题模型的银行数据仓库的构建方法及装置,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中基于主题模型的银行数据仓库的构建方法流程示意图一;
图2为本发明的实施例中基于主题模型的银行数据仓库的构建方法流程示意图二;
图3为本发明的实施例中基于主题模型的银行数据仓库的构建方法步骤200的流程示意图;
图4为本发明的实施例中基于主题模型的银行数据仓库的构建方法流程示意图三;
图5为本发明的实施例中基于主题模型的银行数据仓库的构建方法步骤500的流程示意图一;
图6为本发明的实施例中基于主题模型的银行数据仓库的构建方法步骤500的流程示意图二;
图7为本发明的具体应用实例中基于主题模型的银行数据仓库的构建方法的流程示意图;
图8为本发明的具体应用实例中主题模型数据表加载优先级示意图;
图9为本发明的具体应用实例中基于主题模型的银行数据仓库的构建装置的结构示意图一;
图10为本发明的具体应用实例中基于主题模型的银行数据仓库的构建装置的结构示意图二;
图11为本发明的具体应用实例中主题表加载单元结构示意图;
图12为本发明的具体应用实例中基于主题模型的银行数据仓库的构建装置的结构示意图三;
图13为本发明的具体应用实例中数据验证单元结构示意图一;
图14为本发明的具体应用实例中数据验证单元结构示意图二;
图15为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种基于主题模型的银行数据仓库的构建方法的具体实施方式,参见图1该方法具体包括如下内容:
步骤100:将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中。
可以理解的是,参照Teradata FS-LDM将主题模型数据表分类为当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。采用分类设计的策略为:重点设计主题(客户、协议、事件、资产、财务)。特点是模型中的重点主题,且在源系统中有丰富的数据来源和参照。目标是尽量保持完整性、丰富性。自主设计主题(申请、营销活动、渠道、机构、产品)特点是非核心主题,基本没有或者仅有非常少的数据来源和参照。目标为保证模型架构的完整性和扩充性。简化设计主题(地域),特点是模型的重要参考主题,一般情况下源系统有数据,但定义和使用方法与FS-LDM不匹配。目标为暂不进行唯一地址识别,但要完整保留此类信息。
步骤200:根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中。
可以理解的是,步骤200中的异构数据临时表架设于目标数据仓库中。
步骤300:将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
步骤300在实施时具体为:商业银行企业级数据仓库基于Teradata FS-LDM业务主题模型建立,该模型包括十大主题:当事人、产品、协议、事件、资产、财务、机构、地域、营销、渠道。将上游产品系统中主账户、分户账、客户信息、日志等数据表按照上述十大主题拆分到各主题模型表中,构成数据仓库基础层。
从上述描述可知,本发明提供的基于主题模型的银行数据仓库的构建方法,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
一实施例中,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
上述主题模型数据表分类策略为:按照FS-LDM的框架进行设计,同时补充银行的个性数据元素、按照FS-LDM进行设计,将来根据实际情况调整以及暂作为PARTY等的属性信息进行设计。
一实施例中,参见图2,基于主题模型的银行数据仓库的构建方法还包括:
步骤400:生成优先级规则。
可以理解的是,基于主题模型的历史拉链表来说迁移需要考虑存量数据的连续性以及需要考虑增量数据能准确无误地表达每一天的历史拉链情况,因此不能有跳批加载的情况,也不能简单用增量拉链去连接存量拉链,这样容易出现数据冗余而引起的数据不准确,另外由于主题模型表加载作业之间存在加工依赖关系,即部分主题模型表的数据加载(由作业A加载)要依赖于其他主题模型表(由作业B加载)数据加载完成,这里称这种情况叫主题模型作业(即基础层)作业之间存在依赖,即作业A依赖于作业B。正是由于这样的依赖关系的存在,使得数据仓库主题模型的迁移带来极大难度,所有有被依赖的模型表必须保证存量迁移完成、且作业脚本确认迁移准确后,依赖于它们的后续主题模型作业才进行存量数据迁移和作业运行,以保证后层主题模型表的数据准确性。
具体地,根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。进一步地,无前序基础层依赖,但有后续基础层依赖。由于此类基础层作业的准确性影响后续基础层,因此迁移优先级最高,对于此类作业若较多时,则可内部再进行分批,原则上同一表所有作业分在一批中;有前序基础层表依赖,且前序仅包含前序已导的优先级表,且有后续依赖为第二优先级,需要注意的是,第二优先级中的步骤需要循环,直到无后续依赖作业;无后续依赖基础层表为第三优先级。
一实施例中,参见图3,步骤200包括:
步骤201:利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表。
步骤201对应的程序代码为:SELECT*from DWPDATA.XXX where Start_Dt<='Tx_Date'。即从DWPDATA.XXX表中获取开始日期(Start_Dt)小于等于批量日期('Tx_Date')的历史拉链表并加载至所述异构数据临时表中。
可以理解的是,根据步骤201中的历史加载算法加载数据并进入目标表之后,数据记录增加Start_Dt(开始日期)和End_Dt(结束日期)字段,当数据记录任一字段发生变化时,不会修改原记录,只会再插入一条新记录,新记录的Start_Dt为插入时的批量日期,这里称为开链,并将原记录的End_Dt修改为批量日期,称之为关链。
步骤202:从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中。
步骤202对应的程序代码为:SELECT*from DWPDATA.XXX where Start_Dt<='Tx_Date',即从DWPDATA.XXX表中获取开始日期(Start_Dt)小于等于批量日期('Tx_Date'),加载所述历史拉链表至所述异构数据临时表中。
对于步骤201以及步骤202,以各主题模型表数据的重要程度、使用场景为主要考虑因素,用不同加载算法对,系统数据进行拆分加载,对于历史变化敏感的数据,例如账户的状态、金额变化情况,会采用历史加载算法进行加载,该类算法能够获取到历史批量时点的数据,特点是在主题模型表中包含Start_Dt(含义为开始日期)和End_Dt(含义为结束日期)字段,形成历史拉链,用历史加载算法加载的表定义为历史拉链表。
步骤203:利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表。
可以理解的是,根据步骤203中的非历史加载算法加载的数据,进入目标表后,数据记录无Start_Dt(开始日期)和End_Dt(结束日期)字段,只有一个Etl_Tx_Dt(加载日期)来表示数据加载时间,使用者无法在目标表中获取历史上某一批量日期的数据,只有当前最新数据快照。严格来说,直接追加算法可以获得历史上某一批量日期的数据,但是由于在数据记录保留方式上不包含开始日期(Start_Dt)和结束日期(End_Dt),因此习惯上也认为直接追加算法属于非历史加载算法。
步骤204:利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中。
对于步骤203以及步骤204,以各主题模型表数据的重要程度、使用场景为主要考虑因素,用不同加载算法对,系统数据进行拆分加载,对于历史变化敏感度较低的数据(包含本身数据很少变化的数据),例如交易明细等,会采用非历史加载算法进行加载,该类算法只能获取到当前时点的最新记录情况,特点是在主题模型表中包含Etl_Tx_Dt字段(含义为加载日期,追加算法严格意义上也保留了数据变化情况,但由于表结构的关系归属到非历史拉链表中),对于非历史加载算法加载的表定义为非历史拉链表。
一实施例中,参见图4,基于主题模型的银行数据仓库的构建方法还包括:
步骤500:对目标数据仓库进行数据验证。
可以理解的是,异构数据平台由于SQL标准不同,对于原始的数仓加载作业会进行脚本转换,且数据仓库由于本来就是对上游贴源数据进行转换加载的,因此部分字段与上游有一定差异,为保证平滑过渡,数据加载与原平台一致,必须对于数据进行验证。
一实施例中,参见图5,步骤500具体包括:
步骤501:再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据。
步骤502:根据所述Start_dt=Tx_Date数据生成第一数据集合。
步骤503:根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合。
步骤504:获取原始数据中截止Tx_Date数据量。
步骤505:根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证。
步骤505在实施时,具体为:比对目标数据仓库的第一数据集合与原始数据的第二数据集合的记录数一致性结果和记录字段一致性结果,以及截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果,其中,记录数结果COUNT(目标数据仓库)-COUNT(原始数据),记录字段一致性结果目标数据仓库[A1,A2...,An,Start_Dt]MINUS原始数据[A1,A2...,An,Start_Dt],截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果COUNT(S目标数据仓库全量)-COUNT(S原始数据Tx_Date)。
可以理解的是,步骤501至步骤505是针对历史拉链表的数据进行验证,具体地:针对历史拉链表A,在目标数据仓库重新加载一次批量日期为Tx_Date的数据(鉴于从原始数据中存量导过来的数据已包含批量日期为Tx_Date的数据,故这里为重新加载,下同),重新加载完成后,获取目标数据仓库A表的Start_dt=Tx_Date数据,形成数据集合S目标数据仓库[A1,A2...,An,Start_Dt,End_Dt,Etl_Job],获取原始数据A表Start_Dt=Tx_Dt的数据,形成数据集合S原始数据[A1,A2...,An,Start_Dt,End_Dt,Etl_Job],同时获取原始数据截止Tx_Date数据量COUNT(S原始数据Tx_Date),比对S目标数据仓库与S原始数据两个数据集合的记录数一致性结果R1和记录字段一致性结果R2,截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果R3,其中,记录数结果R1=COUNT(S目标数据仓库)-COUNT(S原始数据),记录字段一致性结果R2=S目标数据仓库[A1,A2...,An,Start_Dt]MINUS S原始数据[A1,A2...,An,Start_Dt],R3=COUNT(S目标数据仓库全量)-COUNT(S原始数据Tx_Date),若R1=0,COUNT(R2)=R1,R3=0,则说明存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,重复以上过程,直至迁移成功。
一实施例中,参见图6,步骤500还包括:
步骤50a:再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt=Tx_Date数据。
步骤50b:根据所述Etl_Tx_Dt=Tx_Date数据生成第三数据集合。
步骤50c:根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt=Tx_Date数据所对应的数据生成第四数据集合。
步骤50d:获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量。
步骤50e:根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
步骤50e在实施时,具体为:比对S目标数据仓库与S原始数据两个数据集合的记录数一致性结果和记录字段一致性结果,截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果,其中记录数结果为COUNT(S目标数据仓库)-COUNT(S原始数据),记录字段一致性结果为S目标数据仓库[B1,B2...,Bn,Etl_Tx_Dt]MINUS S原始数据[B1,B2...,Bn,Etl_Tx_Dt],截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果为COUNT(S目标数据仓库全量)-COUNT(S原始数据Tx_Date)。
针对非历史拉链表B(直接追加算法),步骤501至步骤505有:在目标数据仓库重新加载一次批量日期为Tx_Date的数据,获取目标数据仓库B表的Etl_Tx_Dt=Tx_Date的数据,S目标数据仓库[B1,B2...,Bn,Etl_Tx_Dt,Etl_Job],同时获取原始数据B表Etl_Tx_Dt=Tx_Dt的数据,形成数据集合S原始数据[B1,B2...,Bn,Etl_Tx_Dt,Etl_Job],获取目标数据仓库全量数据记录数据量COUNT(S目标数据仓库全量),同时获取原始数据截止Tx_Date数据量COUNT(S原始数据Tx_Date),比对S目标数据仓库与S原始数据两个数据集合的记录数一致性结果R1和记录字段一致性结果R2,截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果R3,其中记录数结果R1=COUNT(S目标数据仓库)-COUNT(S原始数据),记录字段一致性结果R2=S目标数据仓库[B1,B2...,Bn,Etl_Tx_Dt]MINUS S原始数据[B1,B2...,Bn,Etl_Tx_Dt],R3=COUNT(S目标数据仓库全量)-COUNT(S原始数据Tx_Date),若R1=0,COUNT(R2)=R1,R3=0,则说明存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除目标数据仓库表C加载的批量日期为Tx_Date的数据,重新加载数据后重复以上过程,直至迁移成功。
与直接追加算法类似的,针对非历史拉链表C(按主键更新算法),在目标数据仓库重新加载一次批量日期为Tx_Date的数据,获取目标数据仓库C表的Etl_Tx_Dt=Tx_Date的数据,S目标数据仓库[C1,C2...,Cn,Etl_Tx_Dt,Etl_Job],获取原始数据C表Etl_Tx_Dt=Tx_Date的数据,形成数据集合S原始数据[C1,C2...,Cn,Etl_Tx_Dt,Etl_Job],获取目标数据仓库全量数据记录数据量COUNT(S目标数据仓库全量),同时获取原始数据截止Tx_Date数据量COUNT(S原始数据Tx_Date),比对S目标数据仓库与S原始数据两个数据集合的记录数一致性结果R1、记录字段一致性结果R2、截止Tx_Date目标数据仓库和原始数据的全量记录数一致性结果R3,其中记录数结果R1=COUNT(S目标数据仓库)-COUNT(S原始数据),记录字段一致性结果R2=S目标数据仓库[C1,C2...,Cn,Etl_Tx_Dt]MINUS S原始数据[C1,C2...,Cn,Etl_Tx_Dt],R3=COUNT(S目标数据仓库全量)-COUNT(S原始数据Tx_Date),若R1>=0,COUNT(R2)=R1,R3=R1则存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除目标数据仓库表C加载的批量日期为Tx_Date的数据,重新加载数据后重复以上过程,直至迁移成功。
同样地,针对非历史拉链表D(全删全加算法),参照目前原始数据运行到的Tx_Date原始数据,在目标数据仓库运行批量日期为Tx_Date原始数据批量,获取目标数据仓库D表的Etl_Tx_Dt=Tx_Date的数据,S目标数据仓库[D1,D2...,Dn,Etl_Tx_Dt,Etl_Job],获取原始数据D表Etl_Tx_Dt=Tx_Date的数据,形成数据集合S原始数据[D1,D2...,Dn,Etl_Tx_Dt,Etl_Job],比对S目标数据仓库与S原始数据两个数据集合的记录数一致性结果R1,记录字段一致性结果R2,其中记录数结果R1=COUNT(S目标数据仓库)-COUNT(S原始数据),记录字段一致性结果R2=S目标数据仓库[D1,D2...,Dn,Etl_Tx_Dt]MINUS S原始数据[D1,D2...,Dn,Etl_Tx_Dt],若R1>=0,COUNT(R2)=R1,则存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除目标数据仓库表D加载的批量日期为由于全删全加算法不涉及存量,若定义R3会发现实际结果与R1定义一致。
综上所述,无论是历史拉链表还是非历史拉链表,不论非历史拉链表的加载算法是直接追加、主键更新、全删全加,都可以获取R1,R2,R3,来判断存量数据和程序是否与原始数据一致,唯一的区别仅仅是历史拉链表和非历史拉链表的差异,因此该验证算法可以做到与加载算法无关,且由于该算法仅比较增量数据的字段级一致性以及全量记录数,提高了比对效率,且无须知道加载表的主键,但比对结果准确率没有任何损失。
从上述描述可知,本发明提供的基于主题模型的银行数据仓库的构建方法,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
为进一步地说明本方案,本发明提供基于主题模型的银行数据仓库的构建方法的具体应用实例,该具体应用实例具体包括如下内容,参见图7。
S0:确定主题数据表导出清单。
所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
S1:数据从原平台按条件导出。
确定主题模型数据表导出顺序,按照一定策略原则分批次安排存量主题模型数据表导出顺序。参见图8(PDM即为主题模型表的物理化表的缩写,即基础层表PHYSICAL DATAMODLE),顺序原则如下:
优先级(1):无前序基础层依赖,但有后续基础层依赖。由于此类基础层作业的准确性影响后续基础层,因此迁移优先级最高,对于此类作业,若较多,则可内部再进行分批,原则上同一表所有作业分在一批中;
优先级(2):有前序基础层表依赖,且前序仅包含前序已导的优先级表,且有后续依赖,此步骤循环,直到无后续依赖作业;
优先级(3):无后续依赖基础层表。
S2:导出数据导入临时表并处理
截止特定时间点的存量数据导出。针对历史拉链表,采用SELECT*fromDWPDATA.XXX where Start_Dt<=Tx_Date,该条件控制导出数据的时间点,避免由于数据导出时间过长导出非导出时间点数据。针对非历史拉链表,包含3种算法,其一,直接追加算法,针对该种算法,采用SELECT*from DWPDATA.XXX where Etl_Tx_Dt<=Tx_Date;其二,全删全加算法,针对该种算法无需进行存量数据迁移;其三,按主键更新算法,针对该种算法,采用SELECT*from DWPDATA.XXX where Etl_Tx_Dt<=Tx_Date;(DWPDATA.XXX为基础层表的库名.表名)
S3:将导出数据导入目标表。
具体地,将临时表数据插入异构数据平台基础层目标表。针对步骤S2中导出数据,加载到异构数据平台临时表中。对于历史拉链表,为防止导出过程中历史拉链表的End_Dt被后续增量数据跟新,导入到临时表后,需对数据进行开链处理,对于End_Dt>=Tx_Date的数据,进行End_Dt调整成数据仓库默认最大日期的操作。对于其他算法的临时表,无需处理。
S4:数据验证
异构数据平台由于SQL标准不同,对于原来的数仓加载作业会进行脚本转换,且数据仓库由于本来就是对上游贴源数据进行转换加载的,因此部分字段与上游有一定差异,为保证平滑过渡,数据加载与原平台一致,必须对于数据进行验证。具体验证方法如下:
针对历史拉链表A,在新平台重新加载一次批量日期为Tx_Date的数据(鉴于从就平台中存量导过来的数据已包含批量日期为Tx_Date的数据,故这里为重新加载,下同),重新加载完成后,获取新平台A表的Start_dt=Tx_Date数据,形成数据集合S新平台[A1,A2...,An,Start_Dt,End_Dt,Etl_Job],获取旧平台A表Start_Dt=Tx_Dt的数据,形成数据集合S旧平台[A1,A2...,An,Start_Dt,End_Dt,Etl_Job],同时获取旧平台截止Tx_Date数据量COUNT(S旧平台Tx_Date),比对S新平台与S旧平台两个数据集合的记录数一致性结果R1和记录字段一致性结果R2,截止Tx_Date新平台和旧平台的全量记录数一致性结果R3,
其中记录数结果R1=COUNT(S新平台)-COUNT(S旧平台),记录字段一致性结果R2=S新平台[A1,A2...,An,Start_Dt]MINUS S旧平台[A1,A2...,An,Start_Dt],R3=COUNT(S新平台全量)-COUNT(S旧平台Tx_Date),若R1=0,COUNT(R2)=R1,R3=0,则说明存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,重复以上过程,直至迁移成功。
针对非历史拉链表B(直接追加算法),在新平台重新加载一次批量日期为Tx_Date的数据,获取新平台B表的Etl_Tx_Dt=Tx_Date的数据,S新平台[B1,B2...,Bn,Etl_Tx_Dt,Etl_Job],同时获取旧平台B表Etl_Tx_Dt=Tx_Dt的数据,形成数据集合S旧平台[B1,B2...,Bn,Etl_Tx_Dt,Etl_Job],获取新平台全量数据记录数据量COUNT(S新平台全量),同时获取旧平台截止Tx_Date数据量COUNT(S旧平台Tx_Date),比对S新平台与S旧平台两个数据集合的记录数一致性结果R1和记录字段一致性结果R2,截止Tx_Date新平台和旧平台的全量记录数一致性结果R3,其中记录数结果R1=COUNT(S新平台)-COUNT(S旧平台),记录字段一致性结果R2=S新平台[B1,B2...,Bn,Etl_Tx_Dt]MINUS S旧平台[B1,B2...,Bn,Etl_Tx_Dt],R3=COUNT(S新平台全量)-COUNT(S旧平台Tx_Date),若R1=0,COUNT(R2)=R1,R3=0,则说明存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除新平台表C加载的批量日期为Tx_Date的数据,重新加载数据后重复以上过程,直至迁移成功。
针对非历史拉链表C(按主键更新算法),在新平台重新加载一次批量日期为Tx_Date的数据,获取新平台C表的Etl_Tx_Dt=Tx_Date的数据,S新平台[C1,C2...,Cn,Etl_Tx_Dt,Etl_Job],获取旧平台C表Etl_Tx_Dt=Tx_Date的数据,形成数据集合S旧平台[C1,C2...,Cn,Etl_Tx_Dt,Etl_Job],获取新平台全量数据记录数据量COUNT(S新平台全量),同时获取旧平台截止Tx_Date数据量COUNT(S旧平台Tx_Date),比对S新平台与S旧平台两个数据集合的记录数一致性结果R1、记录字段一致性结果R2、截止Tx_Date新平台和旧平台的全量记录数一致性结果R3,其中记录数结果R1=COUNT(S新平台)-COUNT(S旧平台),记录字段一致性结果R2=S新平台[C1,C2...,Cn,Etl_Tx_Dt]MINUS S旧平台[C1,C2...,Cn,Etl_Tx_Dt],R3=COUNT(S新平台全量)-COUNT(S旧平台Tx_Date),若R1>=0,COUNT(R2)=R1,R3=R1则存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除新平台表C加载的批量日期为Tx_Date的数据,重新加载数据后重复以上过程,直至迁移成功。
针对非历史拉链表D(全删全加算法),参照目前旧平台运行到的Tx_Date旧平台,在新平台运行批量日期为Tx_Date旧平台批量,获取新平台D表的Etl_Tx_Dt=Tx_Date的数据,S新平台[D1,D2...,Dn,Etl_Tx_Dt,Etl_Job],获取旧平台D表Etl_Tx_Dt=Tx_Date的数据,形成数据集合S旧平台[D1,D2...,Dn,Etl_Tx_Dt,Etl_Job],比对S新平台与S旧平台两个数据集合的记录数一致性结果R1,记录字段一致性结果R2,其中记录数结果R1=COUNT(S新平台)-COUNT(S旧平台),记录字段一致性结果R2=S新平台[D1,D2...,Dn,Etl_Tx_Dt]MINUS S旧平台[D1,D2...,Dn,Etl_Tx_Dt],若R1>=0,COUNT(R2)=R1,则存量数据与脚本迁移成功,反之,针对问题进行加载脚本修改,并删除新平台表D加载的批量日期为由于全删全加算法不涉及存量,若定义R3会发现实际结果与R1定义一致。
综上所述,无论是表是历史拉链表还是非历史拉链表,不论非历史拉链表的加载算法是直接追加、主键更新、全删全加,都可以获取R1,R2,R3,来判断存量数据和程序是否与旧平台一致,唯一的区别仅仅是历史拉链表和非历史拉链表的差异,因此该验证算法可以做到与加载算法无关,且由于该算法仅比较增量数据的字段级一致性以及全量记录数,提高了比对效率,且无须知道加载表的主键,但比对结果准确率没有任何损失。循环步骤S0至步骤S4,直到所有原始数据全部完成。
从上述描述可知,本发明提供的基于主题模型的银行数据仓库的构建方法,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
基于同一发明构思,本申请实施例还提供了基于主题模型的银行数据仓库的构建装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于基于主题模型的银行数据仓库的构建装置解决问题的原理与基于主题模型的银行数据仓库的构建方法相似,因此基于主题模型的银行数据仓库的构建装置的实施可以参见基于主题模型的银行数据仓库的构建方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现基于主题模型的银行数据仓库的构建方法的基于主题模型的银行数据仓库的构建装置的具体实施方式,参见图9,基于主题模型的银行数据仓库的构建装置具体包括如下内容:
主题表划分单元10,用于将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中,
主题表加载单元20,用于根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中,
目标数据库生成单元30,用于将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
优选地,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
优选地,参见图10,基于主题模型的银行数据仓库的构建装置还包括:
规则生成单元40,用于生成优先级规则,具体用于根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。
优选地,参见图11,所述主题表加载单元20包括:
历史拉链表生成模块201,用于利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表;
历史拉链表加载模块202,用于从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中;
非历史拉链表生成模块203,用于利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表;
非历史拉链表加载模块204,用于利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中。
优选地,参见图12,基于主题模型的银行数据仓库的构建装置还包括:
数据验证单元50,用于对目标数据仓库进行数据验证,参见图13,具体包括:
历史拉链表再次生成模块501,用于再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据;
第一数据集合生成模块502,用于根据所述Start_dt=Tx_Date数据生成第一数据集合;
第二数据集合生成模块503,用于根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合;
数据量获取第一模块504,用于获取原始数据中截止Tx_Date数据量;
数据验证第一模块505,用于根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证。
优选地,参见图14,所述数据验证单元50还包括:
非历史拉链表再次生成单元50a,用于再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt=Tx_Date数据;
第三数据集合生成模块50b,用于根据所述Etl_Tx_Dt=Tx_Date数据生成第三数据集合;
第四数据集合生成模块50c,用于根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt=Tx_Date数据所对应的数据生成第四数据集合;
数据量获取第二模块50d,用于获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量;
数据验证第二模块50e,用于根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
从上述描述可知,本发明提供的基于主题模型的银行数据仓库的构建装置,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
本申请的实施例还提供能够实现上述实施例中的基于主题模型的银行数据仓库的构建方法中全部步骤的一种电子设备的具体实施方式,参见图15,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、存储设备以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的基于主题模型的银行数据仓库的构建方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中。
步骤200:根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中。
步骤300:将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
从上述描述可知,本申请实施例中的电子设备,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
本申请的实施例还提供能够实现上述实施例中的基于主题模型的银行数据仓库的构建方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于主题模型的银行数据仓库的构建方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中。
步骤200:根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中。
步骤300:将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库。
从上述描述可知,本申请实施例中的计算机可读存储介质,基于主题模型的银行数据仓库的构建方法提供了一种针对数据仓库主题模型的加载、迁移以及验证的方法,并且生成了优先级规则以保证数据导出的准确性,还提供了针对不同算法的加载以及验证方法。具体地,本方法具有以下优点:
(1)数据迁移同时,在本方法中,数据的导出和数据的验证不依赖旧批量加载情况,因此旧平台批量不用停批,不影响原平台数据加载及对外提供服务,对使用用户透明。
(2)数据验证算法与数据表主键、加载算法无关,最大限度减少由于主键、加载算法等信息收集不准确可能带来的错误。
(3)数据验证算法仅对增量数据以及全量数据记录数进行比对,比对效率高;
(4)适用于包含历史的、大数据量数据仓库迁移。
(5)已在商业银行企业级数据仓库IT架构转型中实现。
综上,本发明目的是提供数据仓库主题模型不同算法加载数据的迁移、核对验证方法,该数据核对验证方法采用数据增量验证方法,相较传统全量数据集合比较方法具有明显优点:比对数据集合少,核对方式与加载算法和表主键无关,核对结果准确性高。该迁移验证方法与实现平台、实现技术手段无关,能够针对不同平台的传统数据仓库的数据向异构数据平台进行快速、准确迁移。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于主题模型的银行数据仓库的构建方法,其特征在于,包括:
将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中;
根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中;
将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库;
对目标数据仓库进行数据验证;
所述优先级规则包括:优先级最高:无前序基础层表依赖,有后续基础层表依赖;第二优先级:有前序基础层表依赖,且前序仅包含前序已导的优先级表,以及有后续基础层表依赖;第三优先级:无后续基础层表依赖;
所述根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中,包括:
利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表;
从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中;
利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表;
利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中;
所述对目标数据仓库进行数据验证,包括:
再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据;
根据所述Start_dt=Tx_Date数据生成第一数据集合;
根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合;
获取原始数据中截止Tx_Date数据量;
根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证;所述Tx_Date 为批量日期、Start_dt 为开始日期。
2.根据权利要求1所述的银行数据仓库的构建方法,其特征在于,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
3.根据权利要求1所述的银行数据仓库的构建方法,其特征在于,生成优先级规则包括:根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。
4.根据权利要求1所述的银行数据仓库的构建方法,其特征在于,所述对目标数据仓库进行数据验证还包括:
再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt = Tx_Date数据;Etl_Tx_Dt为加载日期;
根据所述Etl_Tx_Dt = Tx_Date数据生成第三数据集合;
根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt = Tx_Date数据所对应的数据生成第四数据集合;
获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量;
根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
5.一种基于主题模型的银行数据仓库的构建装置,其特征在于,包括:
主题表划分单元,用于将原始数据按照预设的主题模型数据表分类划分至其对应的主题模型数据表中,
主题表加载单元,用于根据预先生成的优先级规则将多个主题模型数据表加载至异构数据临时表中,
目标数据库生成单元,用于将所述异构数据临时表插入至异构数据基础层目标表,以生成目标数据仓库;
数据验证单元,用于对目标数据仓库进行数据验证;
所述优先级规则包括:优先级最高:无前序基础层表依赖,有后续基础层表依赖;第二优先级:有前序基础层表依赖,且前序仅包含前序已导的优先级表,以及有后续基础层表依赖;第三优先级:无后续基础层表依赖;
所述主题表加载单元包括:
历史拉链表生成模块,用于利用历史加载算法加载多个主题模型数据表中对于时间变化敏感的数据,以生成历史拉链表;
历史拉链表加载模块,用于从所述历史拉链表中获取开始日期不大于批量日期的历史拉链表并加载至所述异构数据临时表中;
非历史拉链表生成模块,用于利用非历史加载算法加载多个主题模型数据表中对于时间变化不敏感的数据,以生成非历史拉链表;
非历史拉链表加载模块,用于利用直接追加算法、全删全加算法以及按主键更新算法加载所述非历史拉链表至所述异构数据临时表中;
所述对目标数据仓库进行数据验证,包括:
再次生成历史拉链表,并根据再次生成的历史拉链表生成Start_dt=Tx_Date数据;
根据所述Start_dt=Tx_Date数据生成第一数据集合;
根据再次生成的历史拉链表在所述原始数据中与所述Start_dt=Tx_Date所对应的数据生成第二数据集合;
获取原始数据中截止Tx_Date数据量;
根据所述第一数据集合、所述第二数据集合以及所述数据量对目标数据仓库进行验证;所述Tx_Date 为批量日期、Start_dt 为开始日期。
6.根据权利要求5所述的银行数据仓库的构建装置,其特征在于,所述预设的主题模型数据表包括:当事人数据表、产品数据表、协议数据表、事件数据表、资产数据表、财务数据表、机构数据表、地域数据表、营销数据表以及渠道数据表。
7.根据权利要求5所述的银行数据仓库的构建装置,其特征在于,还包括:
规则生成单元,用于生成优先级规则,具体用于根据在将所述主题模型数据表导入至异构数据临时表过程中,所述主题模型数据表对于其在原始数据中的前后基础表是否存在依赖关系。
8.根据权利要求5所述的银行数据仓库的构建装置,其特征在于,所述数据验证单元还包括:
非历史拉链表再次生成单元,用于再次生成非历史拉链表,并根据再次生成的非历史拉链表分别生成Etl_Tx_Dt = Tx_Date数据;Etl_Tx_Dt为加载日期;
第三数据集合生成模块,用于根据所述Etl_Tx_Dt = Tx_Date数据生成第三数据集合;
第四数据集合生成模块,用于根据再次生成的历史拉链表在所述原始数据中与所述Etl_Tx_Dt = Tx_Date数据所对应的数据生成第四数据集合;
数据量获取第二模块,用于获取原始数据中截止Tx_Date数据量以及所述目标数据仓库的记录数据量;
数据验证第二模块,用于根据所述第三数据集合、所述第四数据集合、所述数据量以及所述记录数据量对目标数据仓库进行验证。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述基于主题模型的银行数据仓库的构建方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述基于主题模型的银行数据仓库的构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010009457.4A CN111143463B (zh) | 2020-01-06 | 2020-01-06 | 一种基于主题模型的银行数据仓库的构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010009457.4A CN111143463B (zh) | 2020-01-06 | 2020-01-06 | 一种基于主题模型的银行数据仓库的构建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143463A CN111143463A (zh) | 2020-05-12 |
CN111143463B true CN111143463B (zh) | 2023-07-04 |
Family
ID=70523782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010009457.4A Active CN111143463B (zh) | 2020-01-06 | 2020-01-06 | 一种基于主题模型的银行数据仓库的构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143463B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650744B (zh) * | 2020-12-31 | 2024-04-30 | 广州晟能软件科技有限公司 | 一种防止数据二次污染的数据治理方法 |
CN112749167A (zh) * | 2021-01-18 | 2021-05-04 | 中国邮政储蓄银行股份有限公司 | 确定断链数据的方法、装置及非易失性存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203633A (zh) * | 2017-05-31 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 数据表推数处理方法、装置及电子设备 |
CN110297818A (zh) * | 2019-06-26 | 2019-10-01 | 杭州数梦工场科技有限公司 | 构建数据仓库的方法及装置 |
CN110647563A (zh) * | 2018-06-07 | 2020-01-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及其设备 |
-
2020
- 2020-01-06 CN CN202010009457.4A patent/CN111143463B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203633A (zh) * | 2017-05-31 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 数据表推数处理方法、装置及电子设备 |
CN110647563A (zh) * | 2018-06-07 | 2020-01-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及其设备 |
CN110297818A (zh) * | 2019-06-26 | 2019-10-01 | 杭州数梦工场科技有限公司 | 构建数据仓库的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111143463A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
CN107506260B (zh) | 一种动态分块数据库增量备份方法 | |
CN111444196B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN110555770B (zh) | 一种基于增量哈希的区块链世界状态校验和恢复方法 | |
CN111143463B (zh) | 一种基于主题模型的银行数据仓库的构建方法及装置 | |
WO2024021362A1 (zh) | 一种流量回放的数据验证方法及装置 | |
CN111291023A (zh) | 一种数据迁移的方法、系统、设备以及介质 | |
US20210004225A1 (en) | System for electronic integration and deployment of computer code in a code development network | |
US20070220481A1 (en) | Limited source code regeneration based on model modification | |
US20120272225A1 (en) | Incremental upgrade of entity-relationship systems | |
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN115993966B (zh) | 应用开发系统及方法 | |
CN110597821B (zh) | 数据仓库表结构变更方法及装置 | |
CN110134646B (zh) | 知识平台服务数据存储与集成方法及系统 | |
CN114564500A (zh) | 在区块链系统中实现结构化数据存储和查询的方法和系统 | |
CN115373889A (zh) | 数据同步中的数据比对校验及数据修复的方法及装置 | |
Soundarapandian et al. | Certified mergeable replicated data types | |
CN112711633B (zh) | 基于区块链的bim图纸多人协同创作方法及系统 | |
CN111367894B (zh) | 基于数据库迁移的数据对比方法及装置 | |
CN112699129A (zh) | 一种数据处理系统、方法及装置 | |
CN111680004B (zh) | 核对非结构化影像文件迁移准确性的方法和装置 | |
US9785894B2 (en) | Simulation of supply chain plans using web service | |
CN111090638A (zh) | 一种数据库迁移中交易功能的对比方法及装置 | |
CN115250231B (zh) | 应用配置方法及装置 | |
CN115905402B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |