从单个表到多个表的引用数据分割的制作方法

文档序号:8460741阅读:400来源:国知局
从单个表到多个表的引用数据分割的制作方法【专利说明】从单个表到多个表的引用数据分割【
背景技术
】[0001]本发明的实施例一般地涉及用于提供从单个表到多个表的引用数据分割的方法和系统,并且更具体地讲,涉及通过自动地将交叉引用数据从一个表迀移到多个表中来提高交叉引用查找性能。[0002]目前,公司使用许多不同软件应用以满足不同业务需要。例如,公司可使用用于顾客交互、账户管理、产品配送等的不同应用。每个应用可能使用它自己的特定数据模型,意味着一个应用的数据可被以不同于另一应用的数据的方式来格式化或组织。即使当应用数据在两个应用中代表相同实体时,这也能够使得难以或无法实现应用之间的应用数据的直接共享。[0003]应用集成是能够使应用能够共享数据的处理,减少通过针对每个应用重复地手工重新输入数据而引入的负担和错误的可能性。实现应用集成的一个方式是使用交叉引用(XREF)数据库,XREF数据库链接每个应用的标识符(ID)并且具有公共格式。当在应用之间传递数据时,能够使用存储在XREF数据库中的信息来变换数据。例如,当第一应用将数据发送给第二应用时,数据能够被从与第一应用关联的第一格式变换为公共格式,然后从公共格式变换为与第二应用关联的第二格式。[0004]XREF数据通常被存储在单个数据库表中。这个表能够变得非常大,包括数亿行。随着表的大小增加,在该表中查找XREF数据所需的时间增加,并且能够导致性能的瓶颈。【
发明内容】[0005]本发明的实施例涉及通过自动地将交叉引用数据从一个表迀移到多个表来提高交叉引用查找性能的方法和系统。根据实施例,一种多表数据分割的方法能够包括:利用多表(multi-table)数据加强与数据库表关联的多个定义文件中的每个定义文件。该方法还能够包括创建多个多表。每个多表与所述多个定义文件中的不同定义文件关联。该方法还能够包括:基于所述多个定义文件转换存储在数据库表中的数据;以及将转换的数据从数据库表迀移到所述多个多表。在一些实施例中,多表数据能够包括与多表之一关联的标识符和多表标记。[0006]在一些实施例中,能够通过下述步骤来创建所述多个多表:解析每个定义文件以确定该定义文件的表信息;自动地产生多个脚本,其中每个脚本定义多表之一,并且其中使用从定义文件中的一个不同定义文件解析的表信息产生每个脚本;以及执行所述多个脚本中的每个脚本以创建所述多个多表。另外,能够创建将每个定义文件映射到它的关联的多表的映射定义表。[0007]在一些实施例中,转换存储在数据库表中的数据能够包括:产生用于每个定义文件的转换脚本。每个转换脚本能够定义与该定义文件关联的数据如何被分割和变换以与该定义文件的关联的多表兼容。另外,将转换的数据从数据库表迀移到所述多个多表能够包括:执行每个转换脚本以分割和变换与每个定义文件关联的数据。一旦被分割和变换,数据能够被从数据库表复制到所述多个多表。另外,在迀移完成之后,迀移的数据能够被验证。【附图说明】[0008]图1示出了根据本发明的实施例的示例性交叉引用表的摘录;[0009]图2示出了根据本发明的实施例的用于执行多数据分割的系统;[0010]图3示出了根据本发明的实施例的执行多数据分割的方法;[0011]图4A、4B和4C示出了根据本发明的实施例的示例性迀移的多表;[0012]图5示出了根据本发明的实施例的示例性监测表;[0013]图6是表示根据本发明的某些实施例的可使用的系统环境的部件的简化方框图;和[0014]图7是根据本发明的实施例的可使用的计算系统的简化方框图。【具体实施方式】[0015]在下面的描述中,为了解释的目的,阐述特定细节以便提供对本发明的实施例的彻底的理解。然而,将会清楚的是,可在没有这些特定细节的情况下实施本发明实施例。[0016]本发明的实施例能够被用于通过执行多表数据分割来提高交叉引用查找性能。根据实施例,一种多表数据分割的方法能够包括:利用多表数据加强与数据库表关联的多个定义文件中的每个定义文件。该方法还能够包括创建多个多表。每个多表与所述多个定义文件中的一个不同定义文件关联。该方法还能够包括:基于所述多个定义文件转换存储在数据库表中的数据;以及将转换的数据从数据库表迀移到所述多个多表。[0017]图1示出了本发明的示例性交叉引用表100的摘录。如图1中所示,交叉引用表能够包括用于在不同应用中创建的多个不同实体的交叉引用(XREF)数据。交叉引用表能够被用于使这些实体的标识相关,并且可能随着由业务使用的应用和实体的数量增加而变得非常大。能够通过XREF表名(XREFTABLENAME)102和行号(ROWNUMBER)104来组织交叉引用表。XREF表名102与构成交叉引用表的多个组成假想表对应。例如,在图1中,示出的交叉引用表的部分对应于Business_Unit_IDXREF实体,并且因此在XREF表名102列下列出Business_Unit_IDXREF产物(artifact)106的路径。如以下进一步所述,每个XREF产物可以是定义与该XREF产物关联的XREF实体和交叉引用表中的其它实体的映射的XML文件。如在108所示,未示出的另外的行可与不同XREF实体的不同假想表对应。[0018]每个行号104代表与该行的XREF_Table_Name对应的XREF实体的不同实例。因此,行号3、4和5中的每一个与Business_Unit_ID的不同实例对应。例如,如图1中所示,映射存在于两个应用标识符(ID)和BusineSS_Unit_IDXREF实体中的每个实例的公共值(EBIZ_01110;JDEE1_01112;和COMMON114)之间。因此,例如针对与行号3对应的实例,EBIZ_01_03、JDEE1_01_03和Common_03中的每一个彼此映射。[0019]图2示出了根据本发明的实施例的用于执行多数据分割的系统。如图2中所示,这种系统能够包括服务器200和服务器可访问的交叉引用数据库202。根据实施例,服务器能够直接地、经局域网或经互联网与数据库通信。服务器能够是包括计算机可读介质和处理器的计算机或一群计算机。服务器能够包括在它上面执行的多表数据分割工具204。交叉引用数据库202能够包括XREF_DATA表206,XREF_DATA表206包括如以上参照图1所述的交叉引用数据。使用多表数据分割工具204,存储在XREF_DATA表206中的交叉引用数据能够被分割并且迀移到多个多表208。以下更详细地描述这个处理。[0020]图3示出了根据本发明的实施例的执行多数据分割的方法。根据实施例,以下描述的方法能够由以上参照图2描述的多表数据分割工具执行。随着单个交叉引用表变大,查找引用所花费的增加的时间会导致性能瓶颈。在这种情况下,将所述单个交叉引用表划分为多个较小的表会是有益的,每个较小的表对应于不同XREF产物。这些较小的表中的每一个在这里被称为多表,并且将交叉引用表划分为多个多表的处理在这里被称为多数据分割。[0021]如图3中所示,多数据分割能够包括多个步骤以确保交叉引用数据被准确地迀移并且仍然能够根据需要被快速地识别和使用。根据本发明的实施例,提供多数据分割处理以产生、整理(Regiment)、转换、迀移和验证从一个单个交叉引用表到多个交叉引用多表的数据。[0022]在步骤300,为多表产生新的交叉引用定义。这些定义能够被用于定义将要创建的多表数据库表的结构。在步骤302,产生新的交叉引用定义能够包括:扫描数据库以识别原始交叉引用定义文件(当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1