CN101147187B - 用于管理分布式异质数据源之间的复杂关系的系统和方法 - Google Patents

用于管理分布式异质数据源之间的复杂关系的系统和方法 Download PDF

Info

Publication number
CN101147187B
CN101147187B CN2005800492626A CN200580049262A CN101147187B CN 101147187 B CN101147187 B CN 101147187B CN 2005800492626 A CN2005800492626 A CN 2005800492626A CN 200580049262 A CN200580049262 A CN 200580049262A CN 101147187 B CN101147187 B CN 101147187B
Authority
CN
China
Prior art keywords
data
tree structure
navigation
relation
navigation tree
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.)
Expired - Fee Related
Application number
CN2005800492626A
Other languages
English (en)
Other versions
CN101147187A (zh
Inventor
E·Y-S·尚
H·T·莫里斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101147187A publication Critical patent/CN101147187A/zh
Application granted granted Critical
Publication of CN101147187B publication Critical patent/CN101147187B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases

Abstract

一种关系和导航数据仓库能够与中央数据模型进行接口连接并且包含对在来自多个分布式异质数据源的数据之间的关系进行定义的模板。集成引擎耦合到关系和导航数据仓库,并且能够接收查询命令以及确定查询适用于哪一或者哪些异质数据源和哪一或者哪些模板,然后响应于命令基于相关数据源和模板来计算所需查询结果。分布式异质数据源通过如下系统和方法来管理,该系统和方法涉及到获得预先存在的定义数据,对用于数据的存储器内节点进行实例化,对针对各节点的关系属性和实体属性进行初始化,然后从中形成已更新的导航树结构。

Description

用于管理分布式异质数据源之间的复杂关系的系统和方法
技术领域
本发明涉及数据处理领域并且更特别地涉及一种用于管理多个分布式异质数据源之间的关系的系统和方法。
背景技术
在很多企业中希望集成来自各种数据源的数据。目前,注意力主要集中于在涉及到数据库管理系统、知识库、平面文件系统、表单(form)和电子数据表(spreadsheet)应用等的异质数据源分布式环境中的简单数据查询和映射。这样的数据查询通常使得用户可以使用比如结构化查询语言(SQL)来指定搜索标准,而数据映射用来在异质后端系统与集中式集成平台之间转译查询和结果。虽然当前正在构建大规模集成解决方案以提供高效的数据获取,但是这些解决方案都不支持用于数据的复杂关系管理的基础结构。目前,用于数据集成的规范通常仅涉及到来自多个数据源的显式数据映射。例如,Dessloch等人的美国专利申请第6,633,889号教导了将驻留于多个数据源中的持久型数据对象映射到对于计算机所执行的面向对象编程语言应用而言可访问的单个可重用软件部件中以便对可以物理地分布和存储于全异数据库管理系统中的数据进行多数据库访问。可以基于注册数据对象来创建单个虚拟数据对象,而该虚拟数据对象可以封装成可重用软件部件。
现有技术的解决方案通常不能促进在传统显式映射之上对隐式信息即复杂关系定义的使用和标识。另外,在现有技术的系统中,用户必须传统地发布多个查询以收集最终答案以便例如开发管理链。仅就表达出正确的查询而言,用户通常就必须预先具有对系统的方案和结构的整体了解。最后,现有技术的系统通常限于获取显式数据而不允许通过广义数据结构来获取和维护在多条显式数据之间的逻辑牵连。
鉴于上述内容,希望提供一种用于管理分布式异质数据源之间的复杂关系的系统和方法。除了促进对传统显式映射的使用和标识之外,该系统和方法还应当促进对隐式信息即复杂关系定义的使用和标识,并且应当为用户提供例如使用可扩展标记语言(XML)脚本以概念上直观和视觉上显式的方式定义任一类所需关系的灵活性。也将希望该系统和方法使得用户可以容易地导航而无需复杂的查询表达式。另外也将希望该系统和方法使得用户可以通过将导航结构和组件本身视为复杂的数据形式来获取附加的“隐式”数据。
发明内容
本发明解决了现有技术中的上述需要,提供一种用于管理分布式异质数据源之间的复杂关系的系统和方法。在一个方面中,提供管理多个分布式异质数据源的系统集成平台以及配置为包含从数据源映射和/或转译的实体和/或属性的中央数据模型。该管理能够对例如来自用户的查询命令做出响应。该平台能够确定与命令相对应的所需查询结果。该平台能够包括关系和导航数据仓库,该数据仓库配置为包含定义在来自不同数据源的数据之间的关系的关系模板并且也与中央数据模型进行接口连接。该系统集成平台还能够包括耦合到关系和导航数据仓库的集成引擎。该引擎能够配置为接收查询命令、确定查询命令适用于哪个或者哪些数据源以及哪个或者哪些模板并且响应于查询命令来计算所需查询结果。
在本发明的另一方面中,提供一种构造用于管理多个分布式异质数据源的导航树结构的方法。该方法包括以下步骤:获得预先存在的定义数据;对用于预先存在的定义数据的多个存储器内节点(in-memory node)进行实例化;至少对针对各节点的关系属性和实体属性进行初始化;以及从具有给定属性的给定节点形成已更新的导航树结构。
在本发明的又一方面中,提供一种处理与多个分布式异质数据源相关联的查询命令的方法。该方法包括:获得查询命令;以及响应于查询命令,创建导航会话或者加载预先存在的导航会话。该方法还包括:将查询命令以及新的导航会话或者预先存在的导航会话传递到集成引擎;然后通过使用集成引擎来标识和解释与查询命令相关联的有关定义和计算模板。该方法还包括:至少部分地基于定义和计算模板中的至少一个定义和计算模板而从有关分布式异质数据源计算和获取所需查询结果。
在本发明的又一个方面中,提供一种用于构造导航树结构的系统,该导航树结构用于管理多个分布式异质数据源。该系统包括关系和导航数据仓库以及集成引擎。该集成引擎耦合到该关系和导航数据仓库,以及配置为从该关系和导航数据仓库和/或一个或者多个分布式数据源获得预先存在的定义数据。集成引擎还配置为对用于定义数据的多个存储器内节点进行实例化以及至少对针对各节点的关系属性和实体属性进行初始化。该集成引擎还配置为从具有给定属性的给定节点形成已更新的导航树结构。
通过参照以下具体描述和附图将获得对本发明以及本发明的更多特征和优点的更完整理解。
附图说明
图1示出了根据本发明的系统集成平台;
图2示出了根据本发明的处理查询命令的方法的流程图;
图3示出了根据本发明的示例性关系定义和计算模板;
图4示出了配置为向用户进行显示的导航树结构;
图5示出了根据本发明的导航树结构的导航树以及节点数据阵列;
图6示出了广义导航树结构;
图7示出了多维导航树结构;以及
图8示出了根据本发明的构造导航树结构的方法。
具体实施方式
现在将参照图1,该图描绘了根据本发明实施例的系统集成装置(也称为平台)100。平台100管理多个分布式异质数据源102和中央数据模型104。中央数据模型104配置为包含从数据源102映射和/或转译的实体和/或属性。平台100响应于例如能够从外部浏览器106接收的查询命令来确定所需查询结果。将认识到(恰如在使用数据联合的传统集成平台中一样)各数据源102能够具有可以例如通过适当的连接和封装器(比如JDBC(Java数据库连通性)封装器或者定制API(应用程序接口)封装器)来传送到平台100中的数据。
平台100包括配置为包含关系模板110的关系和导航数据仓库108,这些模板定义在来自数据源102的数据之间的关系。关系模板110定义在单独数据源102内的数据之间的关系,也定义在不同数据源102中的数据之间的关系。关系和导航数据仓库108配置为与中央数据模型104进行接口连接。关系和导航数据仓库108能够可选地包括导航组件和结构仓库112,而中央数据模型104能够可选地包括实体定义114和映射/转译模板116。
系统集成平台也包括耦合到关系和导航数据仓库108的集成引擎118。集成引擎118配置为接收查询命令以及确定该查询命令适用于多个数据源102中的哪个或者哪些数据源以及方框110中所含模板中的哪个或者哪些模板,以便标识有关数据源和有关模板。集成引擎还配置为响应于查询命令基于有关数据源和有关模板来计算所需查询结果。集成引擎118能够例如实施为XML引擎,该引擎确定查询适用于哪个或者哪些数据源102以及用于在各有关后端系统102中对关系进行计算的方法和参数。例如能够通过解释仓库108中的关系定义和计算模板110(例如形式为脚本)来执行后一功能。如果希望则能够将结果映射/转译到中央数据模型104。
可选地,集成引擎118可以是应用服务器120的一部分。应用服务器也能够包括接口模块122,该接口模块耦合到集成引擎118而集成引擎118通过该接口模块来接收查询命令。举例而言,如图1中所示,能够优选地使用适当的servlet/JSP(Java服务器页面)容器124以及适当的JAVA Beans和类126来构造接口模块。然而,能够代之以利用通过浏览器接口来工作的任一类适当应用(例如C++或者Visual Basic)。集成引擎能够可选地计算被形成为具有多个源数据项的导航树结构(下文将更全面地加以讨论)的结果,而接口模块122能够配置为在适于以易于访问的方式从平台100输出(例如输出到外部浏览器106)的方式下格式化导航树结构的至少一部分。一旦集成引擎110已经确定所需结果,这些结果就能够随同导航树数据结构的至少所需部分(比如活跃部分)一起被传递回到接口114中的servlet 124以便显示导航树并更新接口,和/或能够存留到例如仓库112。接口模块122能够可选地将导航树结构的至少一部分格式化到查询接口400中,下文将参照图4加以讨论。关系和导航数据仓库108能够配置为将导航树结构存储于方框112中。
将继续参照图1对如下系统进行讨论,该系统用于构造对多个分布式异质数据源102进行管理的导航树结构。用于构造导航树结构的系统的单元包括关系和导航数据仓库108以及耦合到关系和导航数据仓库108的集成引擎118。集成引擎118配置为从关系和导航数据仓库108和/或至少一个分布式数据源102获得预先存在的定义数据以及配置为对用于该定义数据的多个存储器内节点进行实例化。另外,集成引擎配置为至少对针对各节点的关系属性和实体属性进行初始化,从而对多个关系属性进行初始化。至少一些关系属性定义在不同数据源中的数据之间的关系。节点的关系属性和实体属性能够例如对应于下文参照图5讨论的任何项502、510、512、514、516。最后,集成引擎118能够配置为从具有给定属性的给定节点形成例如这里所述类型的已更新导航树结构。由此将认识到刚才描述的方法是能够实施下文参照图8描述的方法的一种可能的系统。因而,预先存在的定义数据可以是存储于数据源102之一中的结果、存储于关系和导航数据仓库108中的结果或者存储于关系和导航数据仓库108中的子图表(sub-graph)。集成引擎118然后能够配置为实现下文参照图8描述的任何附加方法步骤。
现在将参照图2,该图描绘了根据本发明对与多个分布式异质数据源如数据源102相关联的查询命令进行处理的方法的流程图200。该方法包括以下步骤:如在方框202中所示获得查询命令;然后按照方框204响应于查询命令来创建导航会话或者加载预先存在的导航会话。例如能够通过接口400从外部浏览器106获得命令(下文加以讨论)。该方法还包括以下步骤:如在方框206中所示将查询命令以及新的导航会话或者已经加载的预先存在的导航会话传递到集成引擎如集成引擎118。该方法还包括以下步骤:如在方框208所示标识和解释与查询命令相关联的有关定义和计算模板。该标识和解释步骤通常借助集成引擎118来执行,而至少一些模板定义在不同数据源102中的数据之间的关系。最后在方框210描绘了计算和获取所需查询结果的步骤。所需查询结果将通常至少部分地基于至少一个定义和计算模板110,并且通常使用来自定义和计算模板的关系信息从有关的多个分布式异质数据源102获取所需查询结果。能够使用如上所述的技术将所需查询结果组装成导航树结构,并且如上所述地格式化所需部分以供输出,而无需用于输出的部分则能够存留到存储器。这些步骤在方框212、214、216中示出(也可以参照下文针对图7而给出的活跃和非活跃区域的例子)。因而,能够在格式化为导航树结构的情况下将所需查询结果写到持久型存储装置(storage)或者能够格式化所需查询结果以供输出和后续显示,并且如果希望则能够选择导航树结构的多个部分以用于存储或者显示选项。
现在将参照图3,该图描绘了通常将存储于关系定义和计算模板110中的关系和导航数据仓库108的示例性内容。能够利用适当的脚本和/或类;如果希望则能够使用用于定义新的关系的模板和用于现有关系定义的XML脚本。在图3中针对关系“子组件-零件”呈现了示例性XML定义和计算脚本以及相关联的类。定义脚本300能够标识源实体302(也就是源项的实体类型)以及目的地列表304,该列表包括与关系相关的有关后端数据源。在图3所示例子中,源实体属于能够通过它的子组件来导航的PART类型如汽车引擎,并且在该例子中指定了至少两个后端源(对应于例如图1的两个分布式数据源102)。也就是说,至少两个后端源包含应当在源实体的子组件(例如用于汽车引擎的风机叶片)中包括的信息。在方法标记306中,示例性脚本300也指定了描述如何计算所需关系的特定于计算的(computation specific)脚本308、310。特定于计算的脚本能够包括各种项,包括JDBC查询、Web服务调用、已编译的代理代码、专有应用程序接口(API)等。根据待定义的关系的复杂性,实际的类想要多长就能够有多长。当计算机制涉及到已编译的类文件312时,规范脚本能够包括在正确的调用次序下各函数的参数和输出,其中输入参数与源实体的属性或者先前的输出值匹配。
尽管已经在图3中示出了具体例子,但是将认识到一般而言平台100的关系和导航数据仓库108能够包括定义多个关系的多个关系定义;各定义又能够标识源实体302、有关的多个数据源的关联目的地列表304以及对适当定义308、310的至少一个计算定义引用306等。计算定义如308、310能够响应于被计算定义引用306引用而定义如何计算相应的多个关系。
现在参照图4,接口模块122能够可选地将导航树结构的至少一部分格式化到查询接口400中。接口400能够包括代表第一部分402的数据,该第一部分用于指定来自导航树结构的一个所需源数据项,接口400也能够包括代表第二部分404的数据,该第二部分用于指定有关的一个关系模板。如果希望则查询接口400能够包括代表第三部分406的数据,该第三部分指定了导航到导航树结构中的所需深度。部分402能够显示在给定会话中迄今为止的用户导航。部分408能够显示当前查询的结果。
在本发明的优选实施例中,能够以最少的选择次数或者输入次数如通过鼠标点击来进行查询。例如,用户能够点击用来进行查询的源数据项410和所需关系404。图4所示例子描绘了用于示例性“Acme X12”汽车的子组件零件分解。如上所述,如果希望则查询接口能够包括代表部分406的数据,该部分用于指定导航到导航树结构中的深度。“深度”选项使得用户可以指定要遍历多少级(整数),而“所有”选项遍历所有级。通常,通过将查询递归地应用于在以深度优先的方式设置的结果中的所有节点或者结果,两个选项都能够扩展导航。例如,点击“John Smith”、“经理”和“所有”将获取从JohnSmith开始直至首席执行官的整个管理链。点击“Acme X12”、“子组件-零件”和指定深度3的“深度”将获取直至深度3的所有汽车子组件的树层级结构。由此在图4所示示例性实施例中,能够简单地通过在所示接口中进行点击来触发用于通过数据进行导航以及存留数据(使用部分406中的保存选项)以及用于指定更多查询选项的操作。能够优选地通过捆绑到JavaBeans和类的Java servlet和Java服务器页面(JSP页面)来实施接口400(见图1中的项124和126)。如上所述,能够利用其它适当的应用如C++和Visual Basic。接口400能够与集成引擎118相结合地管理用于会话的关系和导航结构,并且能够驻留于应用服务器120上,或者它的全部或者部分能够被下载到运行浏览器106的用户机器(上文已经参照图1讨论了单元106、118、120)。
现在参见图5,描绘了本发明的导航树结构500的多个方面。如上所述,导航树结构500能够具有多个源数据项;在任一级,源数据项通常能够包括例如通过点击来指定的第一项。在图4所示部分402中描绘了源数据项,而在图5中示出了相应的显式属性502。导航树结构500能够包括导航树部分504和节点数据阵列506。导航树部分504基本上是列表的层级结构;如图5中所示,它代表图4中所示的顶级。导航树结构500和部分504被设计为帮助构造图4的接口,而列表的层级结构允许将导航信息简单地构建和格式化到用户所看到的接口中;例如形式为Web接口。图4中所看到的表示是导航树结构的深度优先遍历的表示图。“深度优先遍历”是图形理论领域技术人员已知的术语;尽可能远地向下进行到叶节点,然后移到下一个兄弟节点(sibling)。它与优先经过所有兄弟节点的“广度优先”遍历相反。导航树部分504能够用于呈现目的,而树中的节点508能够配置为保持用于呈现的数据。各节点408能够包括前述显示属性502以在接口中标识导航树结构中的各数据项。关系部分510能够存储在数据项用作查询中的源实体的情况下用来进行查询的关系。下一级部分512能够维持在向下导航的紧接着的下一级中的数据项列表。最后,节点号514能够用作用于例如在动态网页中处理请求的索引。
如上所述,导航树结构500也能够包括节点数据阵列506。与给定节点相关联的适当属性516然后能够用作例如对于在关系定义和计算模板110中指定的方法而言的参数。用整数对源数据项进行索引之所以有帮助是因为它消除了对遍历整个导航树结构以获取数据项的非显示属性的需要,并且它也避免了必须将每个数据项的所有属性插入到接口中使得任何用户请求可访问所有适当属性值以传递给查询句柄。注意到如果希望则数据项能够链接到能够例如在属性516所示的二进制链接列表中指定的大型二进制文件,比如用于汽车和飞机零件的计算机辅助设计(CAD)文件。鉴于对图5的讨论,将认识到导航树结构能够包括多个节点508,这些节点配置为实现向用户呈现导航树结构500的深度优先遍历,以及将认识到该结构还能够包括节点数据阵列506,其中针对多个节点508中的各节点存储通常至少包括实体类型和至少一个属性的有关数据。同样如上所述,导航树结构500的导航树部分504中的各节点508能够包括表示为显示属性502、关系510、节点号514和下一级512的属性,而这些属性能够用作对于关系模板110而言的参数。注意到实体能够被考虑为如下对象,希望向用户呈现该对象用以进行接口连接以便使得可以在系统中进行导航。
现在将参照图6,该图描绘了广义导航树604。为进行图6中的描绘而扩展了图5的导航树504,并且相似的单元通过将图5中的参考标号增加100来表示。单元602、608、610、612、614类似于图5中的单元502、508、510、512、514并且这里不再加以讨论。为了补充关系定义和计算模板110在指定多维关系(其中实体通过数个关系链接到其它实体)时的灵活性以及系统就一般应用而言的表达能力,已经将图5中的导航树部分504拓展为图6中的广义导航树数据结构604。举例而言,图6图示了如何能够通过“协调器”和“子组件-零件”关系将“外部”实体关联到其它实体。由此广义导航树数据结构由通用节点602构建而成,这些节点保持对用户针对给定实体(在这一情况下为“外部”实体)而导航的所有有关关系的跟踪。
现在将参照图7,该图图示了多维导航树结构704和广义的图表722。同样,为了达到在图7所示的项与图5和图6所示的项之间的共性,图7中的参考标号已经相对于图6而言增加了100并且相对于图5而言增加了200。图7也描绘了具有非活跃区域726的用户逐层钻取(drill-down)导航路径724。假设使得用户可以针对各实体沿着一个严格的关系进行导航。在这样的情况下,导航树能够例如正好类似于无阴影线结构727(例如对应于“子组件”关系)、单阴影线结构728(例如对应于“管理”关系)或者双阴影线结构729(例如对应于一些其它关系)。然而,由于本发明允许每一实体定义和计算多个关系,所以应当允许沿着多个关系来遍历节点,这就产生了多维导航树结构704。704中的包含无阴影线圆圈和单阴影线圆圈的顶部虚线框能够例如代表适用于“外部”实体的两个关系(例如子组件、管理)。尽管该结构在外观上多少有些复杂,但是能够使用广义导航树结构704和它的通用节点(用圆圈表示但没有单独编号)将多维导航树结构表示为容易扩展且组织得很简洁的平面(或者二维)通用图表722。然后,以这一形式,能够保持在对于高效导航和遍历而言易于缩放的数据树结构中对n维关系图表的跟踪。现在,特别是就将关系描述为通用图表而言,关系定义/计算脚本和底层存储器内数据结构实现了高度的灵活性。
注意到视查看方案而定,导航结构的数个维度在背景中潜在地展现为“非活跃”,即当前时刻不为用户所见。由此,全部维度能够适应性地存留到存储(例如磁盘或者其它类型的存储器,通常是非易失性形式的存储器)并且就用户对导航树结构的查看而言按照导航树结构所要求的那样被送回到存储器。如果用户已经逐层钻取到导航树结构中以粗线730表示的某一路径,从而使导航树结构的其余部分未扩展,则关系图表中如区域726所示的相当一部分将为非活跃。在给定本发明的图表表示的情况下,能够高效地对这些“非活跃”区域进行定位,并且这些区域能够留存到存储器(同样通常为磁盘或者其它类型的非易失性存储器,但是能够使用任何适当形式的存储器)的粒度很自然地从组成区域726的子图表或者子树的大小和位置开始拓展。
鉴于对图7的以上描述,将认识到本发明的平台能够在希望的情况下具有包括活跃区域和非活跃区域的导航树结构;非活跃区域如上所述地在图7中表示为项726,而项724中的其余节点构成活跃区域。另外,能够将导航树结构的非活跃区域726留存到关系和导航数据仓库108,而能够在适于以容易访问的方式从平台100输出的方式下格式化导航树结构的活跃区域。例如,接口模块122能够进行格式化以便利用外部浏览器106向用户进行显示。
现在将参照图8,该图描绘了用于根据本发明构造用于对多个分布式异质数据源(比如数据源102)进行管理的导航树结构(可以是上文讨论的类型)的方法的流程图。方法800包括获得预先存在的定义数据的步骤802。预先存在的定义数据能够例如是如在方框804所示存储于后端如数据源102之一中的结果、如在方框806所示来自持久型存储装置如中央数据模型104或者关系和导航数据仓库108的结果或者如在方框808所示来自持久型存储装置的子图表。如在方框810所示,该方法还包括以下步骤:对用于预先存在的定义数据的多个存储器内节点进行实例化(能够可选地以反复的方式对存储器内节点进行实例化);而如在方框812所示,对针对各节点的关系属性和/或实体属性进行初始化。关系属性能够定义在同一数据源中的数据之间的关系,并且不同于先前系统,也能够定义在不同数据源中的数据之间的关系。方法800还能够包括以下步骤:按照方框814从具有给定属性的前述节点形成已更新的导航树结构。在预先存在的定义数据为子图表的情况下,如在方框824所示能够针对各级节点重复实例化步骤、初始化步骤和形成步骤。注意到子图表如任何图表一样能够被视为具有任意数目的节点级的层级结构。
如在方框816、818、820所示,方法800能够可选地包括以下附加步骤:确定与第一存储器相关联的存储器约束;对已更新的导航树结构与存储器约束进行比较;然后,如果已更新的导航树结构超出存储器约束,则执行附加步骤。在这样的情况下将执行的附加步骤包括:确定导航树结构中非活跃的第一部分以及导航树结构中活跃的第二部分;至少将导航树结构的第一部分存储到第二存储器;以及在第一存储器中保留导航树结构的第二部分(方框822)。上文已经参照图7讨论了活跃部分和非活跃部分的例子。举例而言但不具限制性,第一存储器通常能够包括RAM,而第二存储器通常能够包括实施于关系和导航数据仓库108并且特别是导航组件和结构仓库112中的磁盘或者其它持久型存储装置。存储器约束能够例如与用户的数目或者导航树数据结构的大小以及可用存储器资源相关联。
系统和产品细节
正如本领域中已知的,这里公开的方法和装置可以被分布为一种产品,该产品本身包括其上实施有计算机可读代码装置的计算机可读介质。计算机可读程序代码装置可与计算机系统相结合地操作以实现用来执行这里讨论方法或者产生这里讨论的装置的所有或者一些步骤。计算机可读介质可以是可记录介质(例如软盘、硬盘驱动器、压缩光盘或者存储卡)或者可以是传输介质(例如包括光纤的网络、万维网、电缆或者使用时分多址、码分多址的无线信道或者其它射频信道)。可以使用能够存储适合于与计算机系统一起使用的信息的任何已知的或者开发的介质。计算机可读代码装置是用于使得计算机可以读取指令和数据(比如磁介质上的磁变化或者光盘表面上的高度变化)的任何机制。
这里描述的计算机系统和服务器各包含存储器,该存储器会将相关联的处理器配置为实施这里公开的方法、步骤和功能。存储器可以是分布式或者本地的,而处理器可以是分布式或者单一的。存储器能够实施为电、磁或者光存储器或者这些或其它类型的存储器设备的任何组合。另外,应当足够广义地理解术语“存储器”,以涵盖能够从相关联的处理器所访问的可访问空间中的地址读取或者写入到该地址的任何信息。根据这一定义,网络上的信息仍然在存储器中,这是因为相关联的处理器能够从网络获取该信息。
将理解到这里示出和描述的实施例以及变型仅仅描述了本发明的原理而且本领域技术人员可以实施各种修改而不脱离本发明的范围和精神。

Claims (10)

1.一种用于管理分布式异质数据源之间的复杂关系的系统集成装置,用于:
响应于查询命令来管理多个分布式异质数据源和中央数据模型,该中央数据模型配置为包含至少一个实体和/或属性,所述至少一个实体和/或属性是从所述数据源映射和/或转译的至少一个实体和/或属性;以及
确定与所述命令相对应的所需查询结果,各所述数据源具有能够传送到所述装置中的数据,所述装置包括:
关系和导航数据仓库,配置为包含对在来自所述数据源的所述数据之间的关系进行定义的关系模板,所述关系模板定义在单独数据源内的数据之间以及在不同数据源中的数据之间的所述关系,所述关系和导航数据仓库配置为与所述中央数据模型进行接口连接;以及
集成引擎,耦合到所述关系和导航数据仓库,所述集成引擎配置为:
接收所述查询命令;
确定所述查询命令适用于所述多个数据源中的哪个或者哪些数据源以及所述模板中的哪个或者哪些模板以便标识有关数据源和有关模板;以及
响应于所述查询命令基于所述有关数据源和所述有关模板来计算所述所需查询结果。
2.根据权利要求1所述的装置,还包括应用服务器,所述应用服务器又包括:
接口模块,耦合到所述集成引擎,并且所述集成引擎通过该接口模块来接收所述查询命令。
3.根据权利要求2所述的装置,其中:
所述集成引擎计算被形成为具有多个源数据项的导航树结构的所述结果;以及
所述接口模块配置为在适于以易于访问的方式从所述装置输出的方式下格式化所述导航树结构的至少一部分。
4.根据权利要求3所述的装置,其中所述接口模块将所述导航树结构的所述至少一部分格式化到查询接口中,所述查询接口包括:
代表第一部分的数据,该第一部分用于指定来自所述导航树结构的所述源数据项中的所需源数据项;以及
代表第二部分的数据,该第二部分用于指定所述关系模板中的有关关系模板。
5.根据权利要求4所述的装置,其中所述查询接口还包括代表第三部分的数据,该第三部分用于指定导航到所述导航树结构中的所需深度。
6.根据权利要求3所述的装置,其中所述关系和导航数据仓库还配置为存储所述导航树结构。
7.根据权利要求3所述的装置,其中:
所述导航树结构又包括多个节点,所述多个节点配置为实现向所述用户呈现对所述导航树结构的深度优先遍历;以及
针对所述多个节点中的各节点,所述导航树结构还包括具有有关数据的节点数据阵列,该节点数据阵列至少包括实体类型和至少一个属性。
8.根据权利要求7所述的装置,其中:
所述导航树结构中的各所述节点至少包括:
所述属性中表示为显示属性的属性,
关系,
节点号,以及
下一级;以及
所述导航树结构中的所述属性用作对于所述关系模板而言的参数。
9.根据权利要求8所述的装置,其中:
所述导航树结构包括活跃区域和非活跃区域;以及
所述导航树结构的所述非活跃区域留存到所述关系和导航数据仓库,而所述导航树结构的活跃区域包括在适于以易于访问的方式从所述装置输出的方式下格式化的所述导航树结构的所述一部分。
10.根据权利要求1所述的装置,其中所述关系和导航数据仓库还包括:
定义多个关系的多个关系定义,各所述关系定义标识了源实体、所述数据源中有关数据源的关联目的地列表和至少一个计算定义引用;以及
多个计算定义,定义如何响应于所述关系定义中相应关系定义的所述至少一个计算定义引用来计算所述关系中的相应关系。
CN2005800492626A 2005-04-19 2005-11-10 用于管理分布式异质数据源之间的复杂关系的系统和方法 Expired - Fee Related CN101147187B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/109,459 US7792817B2 (en) 2005-04-19 2005-04-19 System and method for managing complex relationships over distributed heterogeneous data sources
US11/109,459 2005-04-19
PCT/US2005/040737 WO2006112882A2 (en) 2005-04-19 2005-11-10 System and method for managing complex relationships over distributed heterogeneous data sources

Publications (2)

Publication Number Publication Date
CN101147187A CN101147187A (zh) 2008-03-19
CN101147187B true CN101147187B (zh) 2010-12-08

Family

ID=37109761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800492626A Expired - Fee Related CN101147187B (zh) 2005-04-19 2005-11-10 用于管理分布式异质数据源之间的复杂关系的系统和方法

Country Status (4)

Country Link
US (1) US7792817B2 (zh)
EP (1) EP1875456A4 (zh)
CN (1) CN101147187B (zh)
WO (1) WO2006112882A2 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743041B2 (en) * 2006-04-07 2010-06-22 Lawson Software, Inc. Data oriented navigation within software applications
US7788250B2 (en) 2006-08-04 2010-08-31 Mohammad Salman Flexible request and response communications interfaces
JP4822979B2 (ja) * 2006-08-11 2011-11-24 株式会社東芝 データ連携システムとその制御方法および制御プログラム
US8869020B2 (en) * 2006-12-27 2014-10-21 Sap Ag Method and system for generating relational spreadsheets
US8065688B2 (en) 2007-01-23 2011-11-22 Microsoft Corporation Transparently capturing the causal relationships between requests across distributed applications
US9047202B1 (en) * 2007-04-30 2015-06-02 Hewlett-Packard Development Company, L.P. Creating a relationship tree representing relationships of graphs to enable navigation through the graphs without accessing an input data set
US9477732B2 (en) * 2007-05-23 2016-10-25 Oracle International Corporation Filtering for data visualization techniques
US8139063B2 (en) 2007-05-07 2012-03-20 Oracle International Corporation Rendering data visualization with minimal round-off error
US8286100B2 (en) * 2007-07-05 2012-10-09 Oracle International Corporation Linking graphical elements of data visualizations
US8910084B2 (en) * 2007-05-07 2014-12-09 Oracle International Corporation Aggregate layout for data visualization techniques
US8640056B2 (en) * 2007-07-05 2014-01-28 Oracle International Corporation Data visualization techniques
US8866815B2 (en) * 2007-05-23 2014-10-21 Oracle International Corporation Automated treemap configuration
US20080319957A1 (en) * 2007-06-19 2008-12-25 Microsoft Corporation Extensible command trees for entity data model platform
US8086502B2 (en) * 2008-03-31 2011-12-27 Ebay Inc. Method and system for mobile publication
US8756219B2 (en) * 2008-11-04 2014-06-17 Microsoft Corporation Relevant navigation with deep links into query
US8825660B2 (en) 2009-03-17 2014-09-02 Ebay Inc. Image-based indexing in a network-based marketplace
US9396241B2 (en) * 2009-07-15 2016-07-19 Oracle International Corporation User interface controls for specifying data hierarchies
US9165034B2 (en) * 2009-10-15 2015-10-20 Hewlett-Packard Development Company, L.P. Heterogeneous data source management
US20110314028A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Presenting display characteristics of hierarchical data structures
US8924431B2 (en) 2011-09-30 2014-12-30 Comprehend Systems, Inc. Pluggable domain-specific typing systems and methods of use
US9020981B2 (en) * 2011-09-30 2015-04-28 Comprehend Systems, Inc. Systems and methods for generating schemas that represent multiple data sources
CN102393868B (zh) * 2011-10-21 2013-04-03 克拉玛依红有软件有限责任公司 一种实现解决具有复杂计算关系的指标计算模型的方法
CN102799570A (zh) * 2012-07-20 2012-11-28 中山大学 一种数据表关联分析方法
US8863035B2 (en) * 2012-10-26 2014-10-14 International Business Machines Corporation Dynamic self-reorganizing trees in a user interface
EP2728494A1 (en) * 2012-11-05 2014-05-07 Software AG System and method for graphically creating queries on model data
US9720972B2 (en) * 2013-06-17 2017-08-01 Microsoft Technology Licensing, Llc Cross-model filtering
GB2522832A (en) * 2013-10-10 2015-08-12 Ibm A method and a system for loading data with complex relationships
CN104090901B (zh) * 2013-12-31 2017-06-13 腾讯数码(天津)有限公司 一种对数据进行处理的方法、装置及服务器
US10296263B2 (en) 2014-04-30 2019-05-21 International Business Machines Corporation Dispersed bloom filter for determining presence of an object
US9542239B2 (en) * 2014-04-30 2017-01-10 International Business Machines Corporation Resolving write request conflicts in a dispersed storage network
CN104102701B (zh) * 2014-07-07 2017-10-13 浪潮(北京)电子信息产业有限公司 一种基于hive的历史数据存档与查询方法
US9552664B2 (en) 2014-09-04 2017-01-24 Nvidia Corporation Relative encoding for a block-based bounding volume hierarchy
US10235338B2 (en) 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
CN108509440A (zh) * 2017-02-24 2018-09-07 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN111078782B (zh) * 2018-10-19 2023-04-28 上海宝信软件股份有限公司 工业大数据可视化系统及方法
CN113157779A (zh) * 2020-01-22 2021-07-23 北京沃东天骏信息技术有限公司 数据图表生成方法与装置
US11824837B2 (en) * 2020-07-15 2023-11-21 Sap Se End user creation of trusted integration pathways between different enterprise systems
US11636255B2 (en) * 2021-04-26 2023-04-25 Oracle International Corporation Methods for displaying and interfacing with polymorphic data in spreadsheets
US11977540B2 (en) 2021-11-22 2024-05-07 International Business Machines Corporation Data virtualization in natural language

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US6154748A (en) 1998-04-07 2000-11-28 International Business Machines Corporation Method for visually mapping data between different record formats
WO2001067351A1 (en) * 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies
US6633889B2 (en) 2001-01-17 2003-10-14 International Business Machines Corporation Mapping persistent data in multiple data sources into a single object-oriented component

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface

Also Published As

Publication number Publication date
WO2006112882A2 (en) 2006-10-26
CN101147187A (zh) 2008-03-19
US20060235838A1 (en) 2006-10-19
US7792817B2 (en) 2010-09-07
WO2006112882A3 (en) 2007-11-22
EP1875456A2 (en) 2008-01-09
EP1875456A4 (en) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101147187B (zh) 用于管理分布式异质数据源之间的复杂关系的系统和方法
US11372855B2 (en) Metadata-based general request translator for distributed computer systems
EP3446242B1 (en) Query plan generation and execution in a relational database management system with a temporal-relational database
US7337170B2 (en) System and method for planning and generating queries for multi-dimensional analysis using domain models and data federation
CN1705945B (zh) 提供查询的属性的方法和系统
US7716233B2 (en) System and method for processing queries for combined hierarchical dimensions
US7599948B2 (en) Object relational mapping layer
US7634478B2 (en) Metadata driven intelligent data navigation
CN101405729B (zh) 具有增量式视图维护的映射体系结构
US8341191B2 (en) Methods and structures for utilizing reusable custom-defined nestable compound data types to permit product variations within an existing taxonomy
US7133871B2 (en) Schema for sharing relational database types
US20110173220A1 (en) Generating web services from business intelligence queries
US8046383B2 (en) Mapping deep structured data structures
US7426522B2 (en) Object oriented query path expression to relational outer join translator method, system, article of manufacture, and computer program product
US20090112922A1 (en) Methods and Arrangements of Processing and Presenting Information
US20110173203A1 (en) Providing web services from business intelligence queries
US20100131520A1 (en) Method of representing an xml schema definition and data within a relational database management system using a reusable custom-defined nestable compound data type
US20150331928A1 (en) User-created members positioning for olap databases
CN102999610A (zh) 数据访问系统和数据访问方法
US20170060539A1 (en) Native access plan source code generation
US11036730B2 (en) Business intelligence language type representing result structure
US20180157731A1 (en) Hierarchy member selections in queries based on relational databases
Pokorny et al. Big graph storage, processing and visualization
Pribeanu et al. A Pattern-based Approach to User Interface Development.
CN116991923A (zh) 一种基于浏览器的拖拽式数据模型可视化建模系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI01 Correction of invention patent gazette

Correction item: Inventor

Correct: Shan Eric Yu-sen

False: E.Y-S. Shang

Number: 12

Page: 1048

Volume: 24

CI02 Correction of invention patent application

Correction item: Inventor

Correct: Shan Eric Yu-sen

False: E.Y-S. Shang

Number: 12

Page: The title page

Volume: 24

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: E.Y-S.SHONE TO: E Y-S IS STILL

ERR Gazette correction

Free format text: CORRECT: INVENTOR; FROM: E.Y-S.SHONE TO: E Y-S IS STILL

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20151110

EXPY Termination of patent right or utility model