确定数据库表之间的数据映射关系的方法和装置制造方法及图纸

技术编号:7718665 阅读:297 留言:1更新日期:2012-08-30 02:48
一种用于确定源数据库表和目标数据库表之间的数据映射关系的方法和装置,该方法包括:从源数据库表的多行数据获取主键之外的至少一个其他属性的属性值及其对应的主键值集合,并从目标数据库表中的多行数据获取相应主键之外的特定属性的属性值及其对应的主键值集合;判断源数据库表的至少一个其他属性与目标数据库表的特定属性之间是否存在潜在的数据映射关系;如果判断为是,确定源数据库表的至少一个其他属性与目标数据库表的特定属性之间的数据映射关系。一种用于验证数据的方法和装置,该方法包括上述方法的各步骤,和根据数据映射关系验证源数据库表的至少一个其他属性的属性值和/或目标数据库表的特定属性的属性值的附加步骤。

【技术实现步骤摘要】

本专利技术涉及数据处理技木,具体涉及ー种用于确定源数据库表和目标数据库表之间的数据映射关系的方法和装置,以及ー种用于验证数据的方法和装置。
技术介绍
多年以来,商业智能(Business Intelligence,简称BI) —直是ー个技术热点,越来越多的企业采用了商业智能技术,以提供决策支持。商业智能是指用于发现、收集、 分析企业的诸如销售、成本、收入等商业数据的基于计算机的技木。商业智能技术通常通过ETL(Extract-Transform-Load,即数据抽取、转换、装载)过程,从企业自身的诸如ERP (Enterprise Resource Planning,即企业资源计划)、CRM(Customer RelationshipManagement,即客户关系管理)等业务系统及企业所处的外部环境等数据源中提取数据,并将所述数据进行适当转换后,注入到数据仓库中;然后,通过OLAP (On-Line AnalyticalProcessing,即联机分析处理)等技术生成可用于决策支持的数据报告。图I示出了商业智能技术的示意图。如图所示,来自于ERP、CRM、其他业务系统数据库等数据源的数据通过ETL过程被注入到数据仓库中,而通过OLAP过程可以根据数据仓库中的数据生成各种用于决策支持的数据报告。数据仓库中数据的准确性对于提供正确的决策支持是至关重要的。在目前的BI解决方案中,经常会发生如下三种类型的数据错误一是在数据仓库中出现脏数据(dirtydata),这种脏数据并不是由数据源中的数据经适当转换而产生的,而是在ETL过程中错误地产生的;ニ是对数据源中的数据应用了错误的过滤器逻辑,过滤掉了不该过滤的数据,使得数据仓库中无法出现本该出现的数据;三是ETL开发不符合设计规范,在ETL过程中应用了错误的数据转换,使得数据仓库中的数据与数据源中的数据之间的映射关系错误。为了发现并改正BI解决方案中的数据错误,需要对BI解决方案中的数据进行验证。图2示出了一种现有的基于样本的验证方法。如图所示,该方法需要测试者首先从目标数据库(即数据仓库)中获得随机样本目标数据,理解所述目标数据的业务含义,根据所述业务含义生成针对源数据库(即作为数据源的业务系统数据库等)的查询,通过针对源数据库执行所述查询而获取源数据,并将源数据与目标数据进行比较,以便发现数据错误。这种数据验证方法具有如下缺点高度依赖于测试者理解目标数据和源数据的业务含义,这种要求对很多测试者来说是很难达到的;该数据验证方法是人工进行的,而不是自动化的,因而费时费力,效率很低;由于目标数据库和源数据库中的数据通常非常庞大,因此通常不可能验证所有的数据;由于只能对目标数据库和源数据库中的部分数据进行验证,因此可能无法发现BI解决方案中存在的某些错误。
技术实现思路
为了克服现有的数据验证方法的缺点,提出了本专利技术的用于验证数据的方法和装置。 根据本专利技术的ー个方面,提出了 ー种用于确定源数据库表和目标数据库表之间的数据映射关系的方法,包括从至少一个源数据库表中的多行数据获取所述主键之外的至少ー个其他属性的属性值及其对应的主键值集合,并从目标数据库表中的多行数据获取相应主键之外的特定属性的属性值及其对应的相应主键值集合;判断所述至少ー个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系;如果判断所述至少一个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间存在潜在的数据映射关系,确定所述至少一个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间的数据映射关系。根据本专利技术的另ー个方面,提出了ー种用于验证数据的方法,包括上述用于确定源数据库表和目标数据库表之间的数据映射关系的方法中的各步骤;以及根据所确定的数据映射关系对所述至少一个源数据库表的至少ー个其他属性的属性值和/或目标数据库表的特定属性的属性值进行验证。根据本专利技术的再ー个方面,提出了一种用于确定源数据库表和目标数据库表之间的数据映射关系的装置,包括属性值剖析模块,用于从至少ー个源数据库表中的多行数据获取主键之外的至少ー个其他属性的属性值及其对应的主键值集合,并从目标数据库表中的多行数据获取相应主键之外的特定属性的属性值及其对应的相应主键值集合;潜在数据映射关系判断模块,用于判断所述至少一个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系;数据映射关系确定模块,用于如果判断所述至少一个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间存在潜在的数据映射关系,确定所述至少一个源数据库表的至少ー个其他属性与所述目标数据库表的特定属性之间的数据映射关系。根据本专利技术的又ー个方面,提出了 ー种用于验证数据的装置,包括上述用于确定源数据库表和目标数据库表之间的数据映射关系的装置中的各模块;以及验证模块,用于根据所述确定的数据映射关系对所述至少一个源数据库表的至少ー个其他属性的属性值和/或目标数据库表的特定属性的属性值进行验证。本专利技术的技术方案的优点包括以下各项中的至少ー项本专利技术的技术方案从源数据和目标数据本身中自动导出源数据和目标数据之间的数据映射关系,而不需要测试者从设计规范中人工获得源数据和目标数据之间的数据映射关系,因而适应于设计规范不易获得的情况,并节省了测试者阅读和理解复杂的设计规范的时间和成本,也不需要测试者理解目标数据和源数据的业务含义;由于本专利技术的技术方案自动获取源数据库和目标数据库中的数据,从中导出源数据和目标数据之间的数据映射关系,井根据导出的数据映射关系对源数据和目标数据进行验证,因此,本专利技术的技术方案能够容易地实现对目标数据库和源数据库中的全部数据进行验证,从而实现全面的测试覆盖,能够发现目标数据库和源数据库中存在的诸如脏数据、错误的过滤器逻辑、错误的数据转换等各种数据错误。附图说明所附权利要求中阐述了被认为是本专利技术的特点的创造性特征。但是,通过參照附图阅读下面对说明性实施例的详细说明可更好地理解专利技术本身以及其优选使用模式、目标、特征以及优点,在附图中图1示出了商业智能技术的示意图;图2示出了一种现有的基于样本的验证方法;图3示出了根据本专利技术的实施例的用于确定源数据库表和目标数据库表之间的数据映射关系的方法;以及图4示出了根据本专利技术的实施例的用于确定源数据库表和目标数据库表之间的数据映射关系的装置。具体实施例方式下面參照附图来说明本专利技术的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本专利技术。但是,对于本
内的技术人员明显的是,本专利技术的实现可不具有这些具体细节中的ー些。此外,应当理解的是,本专利技术并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本专利技术,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。现參照附图3,其示出了根据本专利技术的实施例的用于确定源数据库表和目标数据库表之间的数据映射关系的方法。如图所示,该方法包括以下步骤在步骤301,根据至少一个源数据库表中的多行数据剖析(profile)至少ー个源数据库表的主键之外的至少ー个其他属性的属值,井根据目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于确定源数据库表和目标数据库表之间的数据映射关系的方法,包括 从至少一个源数据库表中的多行数据获取主键之外的至少一个其他属性的属性值及其对应的主键值集合,并从目标数据库表中的多行数据获取相应主键之外的特定属性的属性值及其对应的主键值集合; 判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系; 如果判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间存在潜在的数据映射关系,确定所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间的数据映射关系。2.根据权利要求I的方法,其中,判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系是通过比较所述至少一个源数据库表的至少一个其他属性的属性值所对应的主键值集合与所述目标数据库表的特定属性的属性值所对应的主键值集合进行的。3.根据权利要求2的方法,其中,判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系包括 判定所述目标数据库表的特定属性的属性值所对应的相应主键值集合是否与所述至少一个源数据库表的一个其他属性的属性值所对应的主键值集合相对应;以及 响应于所述判定为是,判断所述至少一个源数据库表的所述一个其他属性与所述目标数据库表的特定属性之间存在潜在的数据映射关系。4.根据权利要求2的方法,其中,判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系包括 判定所述目标数据库表的特定属性的属性值所对应的相应主键值集合是否与所述至少一个源数据库表的多个其他属性各自的属性值所对应的主键值集合的交集相对应;以及 响应于所述判定为是,判断所述至少一个源数据库表的所述多个其他属性与所述目标数据库表的特定属性之间存在潜在的数据映射关系。5.根据权利要求I方法,其中,确定所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间的数据映射关系包括 根据所述至少一个源数据库表的至少一个其他属性的属性值所对应的主键值集合与所述目标数据库表的特定属性的属性值所对应的相应主键值集合之间的对应关系,建立所述至少一个源数据库表的至少一个其他属性的属性值与所述目标数据库表的特定属性的属性值之间的对应关系;以及 根据所建立的所述至少一个源数据库表的至少一个其他属性的属性值与所述目标数据库表的特定属性的属性值之间的对应关系,确定所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间的数据映射关系。6.根据权利要求5的方法,其中,所述确定所述源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间的数据映射关系是基于所建立的源数据库表的至少一个其他属性的全部属性值中超过指定阈值百分比的属性值与所述目标数据库表的特定属性的全部属性值中超过指定阈值百分比的对应属性值之间的对应关系进行的。7.根据权利要求I的方法,其中,判断所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间是否存在潜在的数据映射关系以及确定所述至少一个源数据库表的至少一个其他属性与所述目标数据库表的特定属性之间的数据映射关系是基于包含源数据库表与目标数据库表之间的数据转换关系的设计规范进行的。8.根据权利要求I的方法,其中,所述目标数据库表为商业智能解决方案中的数据仓库中的数据库表,所述至少一个源数据库表是作为数据仓库的数据源的业务系统数据库中的数据库表。9.一种用于验证数据的方法,包括 根据权利要求1-8中任何一项中的各步骤;以及 根据所确定的数据映射关系对所述至少一个源数据库表的至少一个其他属性的属性值和/或目标数据库表的特定属性的属性值进行验证。10.根据权利要求9的方法,其中,根据所述确定的数据映射关系对所述至少一个源数据库表的至少一个其他属性的属性值和/或目标数据库表的特定属性的属性值进行验证包括以下各项中的任何一个或多个 通过将所述确定的数据映射关系与包含源数据库表与目标数据库表之间的数据转换关系的设计规范进行比较来判断所述确定的数据映射关系是否符合该设计规范; 判断所述至少一个源数据库表的至少一个其他属性的特定属性值与所述目标数据库表的特定属性的对应属性值之间是否符合所述确定的数据映射关系; 判断所述至少一个源数据库表的至少一个其他属性的特定属性值是否具有所述目标数据库表的特定属性的对应属性值; 判断所述目标数据库表的特定属性的特定属性值是否具有所述至少一个源数据库表的至少一个其他属性的对应属性值。11.一种用于确定源数据库表和目标数据库表之间的数据映射关...

【专利技术属性】
技术研发人员:谈华芳朱俊高雪峰鞠琳
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2015年01月18日 08:41
    定数:(1)计定数量。(2)气数,定则;定理。常与变数相连
    0
1