将关系数据库与olap立方体同步的制作方法

xiaoxiao2020-7-22  8

专利名称:将关系数据库与olap立方体同步的制作方法
技术领域
本发明涉及在BI (商业智能)系统中使用的数据库的准备,尤其涉及针对具有自动生成的或先前存在的多维表示的源系统(诸如,CRM(客户关系管理)和ERP (企业资源规划))来自动地同步关系数据库。
背景技术
商业智能是用于商业管理的强大的工具,并且已经有多个专利声明提供了能够提供商业智能的系统·美国专利71206 公开了一种商业智能系统,其通过使用基于因特网的系统和商业数据库来获得前景。·美国专利7315861公开了一种用于商业智能的文本挖掘系统。 美国专利7333982公开了一种具有集成的数据库管理系统的CRM,其将数据聚集到可经由查询处理机制访问的非关系性数据存储设备中。 美国专利申请2004/0034615公开了一种将关系数据库映射到OLAP (联机分析处理)立方体(针对数据的快速检索和聚集而被优化的多维数据库)的钻取数据BI系统。·美国专利申请2005/0149583公开了一种方法,该方法通过比较同一数据库的两个不同版本的元数据来合并这两个数据库的数据,并使用不同的算法来识别差异并然后产生元数据交换策略来合并这两个数据库。·美国申请2006/0116859公开了一种生成针对关系数据库的报告模型的方法。·美国专利申请2007/0022093公开了一种用于可扩展数据格式和OLAP立方体的分析与报告系统,该系统将可扩展数据格式和OLAP立方体转换成公共模型而不需创建数据仓库。·专利申请WO 2007/095959公开了一种用于从一个或多个数据库来生成OLAP立方体的商业智能系统和方法,其涉及将形成数据仓库作为构建立方体的方法的一部分。·美国专利6477536公开了一种用于形成针对OLAP服务器的虚拟立方体的方法, 其中,元数据用于定义立方体的映射和维度。通常定制用于CRM和ERP的关系数据库,以适合特定工业中的商业需求。虽然某些公司提供了能够与这些数据库一起使用的立方体,但是他们没有考虑已经出现的定制问题。需要一种使得BI系统能够执行对数据库同步到分析立方体的繁重且专业的过程进行分析的系统。该过程的花费阻碍了购买和实施BI系统,并且仅大公司才能够付得起所涉及的花费。本发明的目的是提供一种通过使用OLAP立方体来定制关系数据库以进行分析的自动方法。

发明内容
为了实现这个目的,本发明提供了一种将关系数据库同步到OLAP立方体的方法,其中a)将关系数据库的结构建模成中间表示;b)将立方体的结构建模成能够与关系数据库的中间表示进行比较的中间表示;c)识别两个模型之间的差异;d)使用所述差异来修改立方体的结构;e)使用立方体的修改的结构来生成用于从关系数据库中检索用于插入到立方体中的数据的脚本;f)运行该脚本,并将数据插入修改的立方体中。修改后的立方体于是适用于与数据的MDX询问一起使用。该系统不需要数据仓库。该方法允许关系数据库被转换以能够用于商业智能分析,而不需要IT专家昂贵且长期的参与。通过常规地运行程序,关系数据库的任何结构改变都能够被识别并能够逐步增加地应用到OLAP立方体。在优选实施例中,关系数据库是定制的微软CRM产品,并且为微软SQL服务器分析服务来创建立方体。在第一步骤中,元数据用于构建源系统的模型。元数据是用于描述以下内容的数据通常描述源数据库中不同实体之间的关系的数据。源系统中的每个数据表成为内部模型中的实体。根据该表中的列中保存的数据的性质来映射该表的列。关系数据库的元数据用于构建初始模型,因为该元数据描述了源数据库中的实体、它们彼此之间的关系以及数据的安全性设置。因此,用于对源关系数据库和立方体的内容进行比较的这两个中间模型对数据的结构、关系和安全性进行了建模。注意·关系数据库和立方体都被建模成能够彼此进行比较的中间表示。·优选通过使用应用程序编程接口来创建或修改立方体的结构。·数据源视图优选用于用来自关系数据库的数据建立立方体。 对于源系统中的每个实体而言,优选使用唯一的标识符,并且在立方体中用同一标识符标记每个实体。OLAP立方体在BI分析中是关键的,并通常被修改成适合的特定查询。本发明的工具确保了在该工具运行来更新立方体时保留对立方体做出的外部修改。在另一方面中,本发明还提供了一种方法,该方法通过基于源系统的应用层安全性模型中每个用户的角色的权限来在立方体安全性中为每个用户创建权限组,来将源系统的应用层安全性设置引入立方体中。最简单可行的安全性模型对特定的实体限制了每个用户能够做什么或不能做什么。通常,权限确定用户是否能够创建、读取、更新或删除,或称为CRUD。为大量的用户和实体管理权限列表的排列,这在管理方面是困难的。然而,由于许多用户通常共享相同或类似的权限组,所以在某些应用(诸如CRM)中引入了安全性角色的概念。这样就可以针对那个角色来定义权限,并在需要时向那个角色添加或从那个角色去除用户或用户组。然而,描述安全性的方式非常依赖于其所工作的上下文。从数据库的角度而言,针对单独的表或视图以相当低的级别来定义安全性。这通常称为“数据库安全性模型”。然而,类似CRM这样的应用程序以非常高的级别进行操作,通常称为“应用安全性模型”,并从与域(即,CRM商业单元和组织)相关的方面对其进行定义。这两个安全性模型以非常不同的抽象级进行创建,并且不能够自动地进行比较。 本发明的关键方面是能够综合CRM中在更高应用层级定义的安全性,并自动地创建那些更低级别的合成的角色,以在对生成的OLAP立方体中的数据进行分析时,在CRM应用程序中工作时实现相同的安全性结果。定义在本发明的说明书中使用下面的术语。CRM——客户关系管理Cube——为了数据的快速检索和聚集而被优化的多维数据库DSV——数据源视图,即比原始数据更为自然地映射到它在立方体中的定义的基本系统数据的视图ERP——企业资源规划,是用于由多模块应用程序软件支持的广泛的活动组的工业术语,该多模块应用程序软件帮助制造商或其他商业管理其商业的重要部分,包括产品规划、元件购买、维护报表。MDX——用于多维数据库的主要的查询语言是MDX,其被创建以查询OLAP数据库并在OLAP应用中得到了广泛的应用。OLAP——联机分析处理系统通过提供对各种可能的信息视图的快速交互的访问, 来使得主管能够了解数据。下面的定义介绍了反映多维视图的概念,并且对于OLAP而言是基本的。“维度”是对数据进行分类的结构。通常使用的维度包括客户、产品和时间。通常, 维度与一个或多个层次相关联。若干个与测量值相组合的相异维度使得终端用户能够回答商业问题。例如,通过月份来对数据进行分类的时间维度帮助回答这样的问题“我们在一月或六月卖了更多的小配件吗? ”。数值数据是分析的中心,但是在本发明中如何对其进行处理依赖于它的测量尺度。通常存在着4个必须考虑的测量尺度·标额的·顺序的·间隔的·比率的“测量”包括能够被检查和分析的数据(通常是数值的并位于比例标尺上)。通常, 一个或多个维度对给定测量进行分类,并被描述为由它们“进行度量”。“层次”是将有序级别用作组织父子关系中的维度成员的方式的逻辑结构。通常, 终端用户能够通过在它这一级上向下或向上钻取数据来扩展或压缩所述层次。“级别”是在层次中的位置。例如,时间维度可以具有以天、月、季度和年级别来表示数据的层次。“属性”是终端用户能够指定以选择数据的维度的元素的描述性特性。例如,终端用户可以使用颜色属性来选择产品。在这种情况中,颜色属性被用作“聚集轴”。某些属性能够表示进入其他表中的关键字或关系。“查询”是针对特定数据组(其称为查询的结果集)的规范。该规范需要选择、聚集、计算或以其他方式处理数据。如果需要这种处理,则它是该查询的内在部分。“元数据”是本发明中涉及的关键概念。元数据本质上是关于数据的数据。它是描述数据库(关系数据库或多维数据库)中的实体的信息。它还包含关于这些实体之间的关系的信息以及详细描述准许用户查看什么样的信息的安全性信息。
具体实施例方式现在将参照附图描述本发明的优选实施例,其中

图1是本发明的系统的示意性概要; 图2示意性地示出了测量组(因特网销售)与两个维度(客户和地理位置)之间的关系; 图3示意性地示出了测量组(银行账户)与两个维度(账户ID和用户)之间的关系; 图4示意性地示出了 CRM和立方体中的安全性关系; 图5示出了用于CRM数据库中的安全性的商业单元结构; 图6到图11示出了在CRM应用程序中表示这些安全性设置的角色。下面的示例示出了在与微软CRM软件和微软SQL服务器分析服务一起使用时应用的本发明的某些方面。本发明实施的过程在图1中概要地示出,并且与用微软的CRM软件进行操作相关的每个步骤在下面进行注释。步骤1——读取元数据通过采用微软CRM,通过一系列网络服务调用由本发明收集所有这些元数据。步骤2——创建模型A为了将这两个系统同步,需要每个系统的可兼容的表示以将它们进行比较。这将在下文中标题为“表示结构和合成的安全性”的章节中进行详细描述。步骤3——为定制检查立方体通过应用程序编程接口(API)(在该示例中,是分析管理对象(AMO))来执行对立方体元数据的读取。该步骤的主要原因在于,如果位于模型A外部存在着立方体则识别这些立方体的各个方面,以便能够被保留。步骤4——创建模型B本发明构建的用于表示数据的模型非常类似于立方体的结构。结果,将立方体元数据转换成模型B以用于与模型A进行比较是相当简单的转换。步骤5和6——整合模型并创建用于增量更新的模型Delta本发明首次运行时,将来自关系数据库的数据转换成结构上不同的多维数据并创建立方体。随后的运行说明了之前创建的立方体的存在。本发明说明了两个级别的定制。本发明不仅说明了已经在源系统中引入的所有定制(“内容定制”),而且本发明的转换过程还保留了来自本发明的之前运行的、对其输出立方体做出的任何定制。这些改变位于模型A之外。还对该方法进行了进一步的改进,以允许为改善的性能进行增量更新。所述同步(应用在图1中的步骤5处)通过检查两个模型中的每个实体并应用下面的规则来构建模型delta,来将这两个模型进行比较·如果模型A中的实体χ不存在于模型B中,则将χ的增加插入delta中。·如果实体χ不存在于模型A中但存在于模型B中,则将χ的删除插入delta中。
如果模型A中的实体χ与模型B中的对应实体χ不匹配,则将χ的更新插入delta 中。步骤7——将Delta应用于立方体配备有delta,该工具通过应用程序编程接口(API)来更新立方体的结构,在该实例中,API是分析管理对象(AMO)。步骤8——生成数据源视图(DSV)重要的是,对两个模型进行比较并将差异应用到立方体的方法允许对立方体进行手动改变(其中立方体的业务需要不同类型的分析)并在两个关键创新的帮助下自动地保留手动改变。首先,建立协定,以为基本系统中描述的每一项来创建唯一的标识符(其能够一致性地导出)。然后,在立方体中用同一标识符来标记该项。其次,本发明构建了 SQL查询,以生成在建立立方体时使用的数据源视图或DSV。 该数据源视图精确地反映了上面概述的内部表示。以特定的方式来构造所述查询,该特定的方式允许该工具与手动修改的视图一起工作,只要遵守所述协定。从这里概述的作为起始模板的基本结构开始
权利要求
1.一种用于将关系数据库同步到OLAP立方体的计算机操作方法,其中a)使用计算机将所述关系数据库的结构建模成中间表示;b)使用计算机将所述立方体的结构建模成能够与所述关系数据库的中间表示进行比较的中间表示;c)识别两个模型之间的差异;d)使用所述差异来修改所述立方体的结构;e)使用所述立方体的修改后的结构来生成用于从所述关系数据库中检索用于插入到所述立方体中的数据的脚本;f)使用计算机运行所述脚本,并将所述数据插入修改后的立方体中。
2.根据权利要求1所述的方法,其中,使用元数据来导出所述关系数据库的多维模型。
3.根据权利要求1所述的方法,其中,通过基于在源系统的应用层安全性模型中每个用户的安全性角色的权限来在立方体安全性中为所述每个用户创建权限组,来将所述源系统的应用层安全性设置引入到所述立方体中。
4.根据权利要求1所述的方法,其中,使用应用程序编程接口来修改所述立方体的结构。
5.根据权利要求1所述的方法,其中,使用数据源视图来用来自于所述关系数据库的数据建立所述立方体。
6.根据权利要求5所述的方法,其中,为基本系统中的每一项使用唯一的标识符,并且在所述立方体中用同一标识符来标记每一项。
7.根据权利要求1所述的方法,其中,保留对所述立方体做出的外部修改。
8.一种编码有用以将关系数据库同步到OLAP立方体的数据结构的计算机可读介质, 其中a)将所述关系数据库的结构建模成中间表示;b)将所述立方体的结构建模成能够与所述关系数据库的中间表示进行比较的中间表示;c)识别两个模型之间的差异;d)使用所述差异来修改所述立方体的结构;e)使用所述立方体的修改后的结构来生成用于从所述关系数据库中检索用于插入到所述立方体中的数据的脚本;f)运行所述脚本,并将所述数据插入修改后的立方体中。
全文摘要
一种同步源系统的方法,该源系统将它的记录存储在关系数据库中并用OLAP立方体来定义它自己的应用层安全性,其中,关系数据库和立方体的结构被建模成中间表示,以对两个结构进行比较;两个模型之间的差异被识别并用于修改立方体的结构;立方体的修改后的结构用于生成用于从关系数据库中检索用于插入到立方体中的数据的脚本,在生成脚本后运行该脚本并将所述数据插入修改后的立方体中。将唯一的标识符用于基本系统中的每一项,并在立方体中用同一标识符来标记每一系统。
文档编号G06F7/06GK102171648SQ200980139638
公开日2011年8月31日 申请日期2009年10月6日 优先权日2008年10月7日
发明者J·H·威尔逊, M·J·勒威克 申请人:渣普控股有限公司

最新回复(0)