CN102262650A - 链接的数据库 - Google Patents

链接的数据库 Download PDF

Info

Publication number
CN102262650A
CN102262650A CN2011101487088A CN201110148708A CN102262650A CN 102262650 A CN102262650 A CN 102262650A CN 2011101487088 A CN2011101487088 A CN 2011101487088A CN 201110148708 A CN201110148708 A CN 201110148708A CN 102262650 A CN102262650 A CN 102262650A
Authority
CN
China
Prior art keywords
database
parameter
local
data base
stored
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.)
Granted
Application number
CN2011101487088A
Other languages
English (en)
Other versions
CN102262650B (zh
Inventor
J·波特林
S·法德克
M·斯泰林
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.)
Ivalley Holding Co Ltd
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102262650A publication Critical patent/CN102262650A/zh
Application granted granted Critical
Publication of CN102262650B publication Critical patent/CN102262650B/zh
Active 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了链接的数据库。可将若干本地数据库链接在一起以便形成大的数据库。每一数据库可共享公共类型定义,但可仅包含该大的数据库的一部分。当本地数据库从另一数据库查询信息时,结果可使用类型系统来本地地存储。跨整个数据库,项可连同由该数据库提供的标识符一起被标识为其本地的或家庭的数据库。高速缓存的信息可被本地地存储,并且可通过该标识符来引用该信息的源。一旦高速缓存的信息存在,则可通过高速缓存的信息来满足引用记录的查询。高速缓存的信息可以从源数据库刷新,或者可以期满以避免高速缓存中陈旧的或改变的数据。

Description

链接的数据库
技术领域
本发明涉及计算机领域,尤其涉及计算机领域中的数据库管理。
背景技术
某些应用可管理并操作非常大量的数据。在许多情况下,可出于安全、性能以及其他原因将数据组织成不同的数据集。
随着数据量变得非常大,及时访问数据,包括地理上分散的数据集,可能是困难的。
发明内容
可将若干本地数据库链接在一起以便形成大的数据库。每一数据库可共享公共类型定义,但可仅包含该大的数据库的一部分。当本地数据库从另一数据库查询信息时,结果可使用公共类型定义来本地地高速缓存。跨整个数据库,项可连同由该数据库提供的标识符一起被标识为其本地或远程数据库。高速缓存的信息可被本地地存储,并且可通过该标识符来引用该信息的源。一旦高速缓存的信息存在,则可通过高速缓存的信息来满足引用记录的查询。高速缓存的信息可以从源数据库刷新,或者可以期满以避免高速缓存中陈旧的或改变的数据。
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
在附图中,
图1是示出具有分布式联合数据库的系统的实施例的图示。
图2是示出示例分布式数据库的示例实施例的图示。
图3是示出用于在分布式数据库中执行查询的方法的实施例的时间线图示。
图4是示出用于使用关系表来找到源数据库的方法的实施例的流程图示。
具体实施方式
分布式数据库可包括可使用网络来连接的多个本地数据库。每一本地数据库可具有数据库标识符以及存储在数据库中的记录的本地管理的索引,并且每一本地数据库能够执行检索存储在其他本地数据库上的记录的查询。当记录被检索时,所检索的记录的某些或全部可被存储在本地高速缓存中。
每一本地数据库可具有包括该本地数据库中所有记录列表的库管理实体表,该本地数据库包括存储在该本地数据库中的记录以及高速缓存。每一本地数据库还可具有可定义本地数据库中的项与高速缓存中的记录之间的关系的关系表。可使用关系表来加速后续查询以及用于更新复制的数据。
每一本地数据库可具有存储在所有其他本地数据库中的数据类型的副本,该副本可允许任何本地数据库存储来自其他本地数据库的某些数据。
在本地高速缓存中复制的数据可表示可从每一本地数据库获得的数据子集。在许多情况下,本地高速缓存可包含来自先前或预期查询的结果,但可能不包含与所查询的任何对象相关的所有数据。通过使用所有可用数据子集,每一本地系统能够非常迅速地对许多查询作出响应,因为查询的数据是本地可用的。
本说明书通篇中,在所有附图的描述中,相似的附图标记表示相同的元素。
在将元素称为被“连接或”耦合“时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其它合适的介质,因为程序可以经由例如对纸张或其它介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其它合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
当本发明主题在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其它设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以按需在各个实施例中进行组合或分布。
图1是示出具有分布式数据库的系统的实施例100的图示。实施例100是其中数据库客户机可从若干数据库检索信息并且高速缓存该信息的设备的简化示例。
图1的图示出了系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其它情况下,连接可以通过跨长距离的网络连接来形成。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。
实施例100是分布式或联合数据库系统的示例。在许多大的数据库中,数据库的内容可以大到使得单个数据库不能够处理整个数据集。某些数据库系统可具有数据库可被访问的大小的上限。
实施例100的分布式或联合数据库系统可具有共享公共类型空间的若干独立数据库。,能够针对所有数据库查询的数据库客户机以及各种数据库的联合对客户机表现为一个非常大的数据库。由于较大的数据库可被分成许多分开的数据库,因此总体数据库的大小可以比在单个数据库上可行的大得多。
公共类型空间可以是定义存储在组合数据库中的所有对象的类型定义。类型空间可使用简单或复杂的类型来定义对象,并且可进一步定义那些对象之间的关系。例如,公共类型空间可允许从联合数据库的任何部分检索数据的任何客户机本地地存储该数据。
实施例100使用本地高速缓存来存储从远程数据库检索的项。当数据被从远程数据库检索出时,用户在查询后查看数据时可体验某些滞后时间或延迟。通过使用本地高速缓存,这样的数据可被即时检索,从而带来改进的用户体验。
本地高速缓存可包括本地表,该本地表包含所有本地地存储的项。本地表可被查询,以便确定数据是否本地可用,如果是,则可从本地数据库或本地高速缓存检索数据。在某些实施例中,特定项可被标识以供本地存储,而其他项可以不被本地地存储。
本地高速缓存还可包括关系表。关系表可指向高速缓存的项的源数据库,并且可将相似的关系表放置在源数据库中。当可从远程数据库检索项时,可以更新本地和远程数据库上的关系表。
源数据库可使用关系表来标识对象的任何高速缓存的版本,使得当该对象在源数据库中被修改时可在高速缓存中更新该对象。在某些实施例中,可使用复制机制来确保存储在本地高速缓存中的数据可与源数据库中的任何改变同步或一起更新。
在某些实施例中,这一复制机制可将改变从源数据库推送到高速缓存的版本。这些实施例可允许单向更新,其中改变可被输入到源数据库中。在其他实施例中,复制机制可以是双向同步,其中对象的高速缓存的版本的改变可与源数据库同步,并且可导致源数据库被更新。
本地数据库可使用关系表来向源数据库寻找与任何高速缓存的数据有关的附加数据。在带有多个远程数据库的实施例中,这一查找表可消除用于确定远程数据库中的哪一个可包含所查询的信息的附加查询。
设备102可表示典型的计算机设备,诸如具有硬件组件104和软件组件106的台式计算机或服务器。在一些实施例中,设备102可以是膝上型计算机、上网本计算机、平板计算机、移动电话、手持个人数字助理、游戏控制台、网络设备、或其它计算设备。
为设备102示出的体系结构可代表具有硬件和软件组件的典型的体系结构;然而,其它体系结构可用于实现分布式数据库系统的一些或全部。
硬件组件104可以包括处理器108、随机存取存储器110、以及非易失性存储112。硬件组件104还可以包括网络接口114和用户接口116。
软件组件106可包括操作系统118,包括数据库120和数据库客户机122等各种应用可在操作系统上执行。
设备102的示例包含数据库120和数据库客户机122。在许多实施例中,数据库120和数据库客户机122可以在不同的硬件平台上操作。例如,一个服务器计算机或服务器计算机群可实现数据库120,而台式计算机可实现数据库客户机122。
数据库120可具有类型空间定义124。类型空间定义124可定义所有对象126以及全局数据库中对象之间的关系。在某些实施例中,类型空间定义124可定义具体的表以及表之间的关系,如在传统的关系数据库中所定义的。在其他实施例中,通过定义“对象”以及“对象”之间的关系,类型空间定义124可以更抽象。每一对象可以用参数集来定义,并且每一参数可使用可基于原始类型来建立复杂类型的类型定义系统来定义。在某些实施例中,类型空间定义124可以是诸如XML或其他表达式的声明性形式。
类型空间定义124可定义可被存储在联合数据库的任何部分的所有对象、参数、类型、表或其他信息。可使用类型空间定义124来创建从远程数据库检索的实例的本地高速缓存。在许多实施例中,复制机制可复制作为组合或联合数据库的成员的所有数据库之间的类型空间定义124。
数据库120可包括实例数据库128。实例数据库128可存储数据库120中所存储的对象的所有实例。实例可以符合在类型空间定义124中定义的对象126中的一个或多个,并且可表示该对象的实际表示。
在实例数据库128中存储的实例可以是在较大的联合数据库中存储的数据子集,并且可能不是该数据库内的所有实例。实例数据库128在权利要求书以及本说明书的其他部分也可被称为“本地数据库”。
每一实施例可将联合数据库中的所有实例划分成不同的本地数据库,并且可按不同方式这样做。例如,可跨许多不同位置使用的公司数据库可具有为每一地理区域或位置建立的本地数据库。在这一示例中,每一本地数据库可包含在类型空间定义中的即使不是全部也是许多对象的实例。
在另一示例中,本地数据库可通过各功能来组织。在这一示例中,可将不同的对象或对象的分组本地地存储在具体数据库中。例如,每一部门或组织的分组可具有其自身的联合数据库而该分组可能最常访问的部分。本地数据库可以是联合的,并且允许跨多个本地数据库搜索或查询,同时允许每一分组对各分组可更频繁地访问的数据库的本地访问。在这一示例中,本地数据库可包含在类型空间定义中定义的总体对象的子集的实例。
可在联合中的每一数据库之间复制类型空间定义。
数据库客户机122可与数据库120以及其他远程数据库通信。数据库客户机122可具有查询机制132,该查询机制可生成针对数据库120和联合数据库中的其他数据库运行的查询。查询机制132可将查询发送给可执行针对实例数据库128的查询的查询引擎129。
数据库客户机122可包括用户界面136,该用户界面可允许用户与数据交互,包括添加新数据、修改现有数据以及浏览数据。在许多情况下,数据库客户机122可以是带有许多预定义的查询134的应用。查询134可表示可在用户界面136上显示的数据。在某些实施例中,用户界面136可被显示在本地硬件用户接口116上。在某些实施例中,用户界面136可以例如以HTML或其他语言来表达,并且使用浏览器来显示在另一设备上。
当可对远程数据库作出查询时,可将来自该查询的结果存储在高速缓存130中。高速缓存130可包含本地表131、关系表133以及从远程数据库检索的实例135。
本地表131可包含所有本地存储的对象列表,包括在实例数据库128中的对象以及高速缓存的实例135。当开始查询时,可检查本地表131以便确定所请求的数据是否本地可用。如果是,则使用本地数据来执行该查询。如果否,则该查询可包括对其他远程数据库的一个或多个查询。
引用表133可包含本地数据库中的对象与从远程数据库检索的对象之间的引用或链接。例如,复制机制138可使用引用表133来将高速缓存的数据与远程数据同步。在另一使用中,当通过查询来请求时,可使用引用表133来定位远程数据库以便收集附加信息。
实例135可包括从远程数据库检索的实例数据。实例135可以是从远程数据库获得的数据的副本。在某些情况下,复制机制138可刷新实例135,并且将实例135与远程数据库同步。
在某些实施例中,复制机制138可以不更新实例135。在这些实施例中,实例135可被存储一短时间段,并且随后期满并从高速缓存130中移除。
联合数据库的体系结构可包括连接到网络140的设备102。网络140可以是局域网、广域网、因特网或任何其他通信网络。
远程服务器142可包括数据库146和数据库客户机148。这一系统可以在功能上等效于设备102。在某些实施例中,数据库客户机150可以在包括数据库154的服务器152处的分开的硬件平台上。在又一实施例中,服务器156可包含数据库158,并且可具有执行数据库160的功能的直接附连的设备。
图2是示出联合数据库的示例实施例200的示图。实施例200只是如何可将数据库分成若干本地数据库以及如何可实现本地表和关系表的一个示例。
实施例200只是分布式或联合数据库的使用的一个示例,并且被选取以便突出显示数据库的特征和功能。
实施例200使用计算机的修复数据库作为示例。用户数据库202可包含用户信息,计算机数据库210可包含关于具体计算机的信息,以及修复次序数据库218可包含引用用户数据库202和计算机数据库210两者的修复次序。简化示例可示出数据库之间的某些关系以及本地表和关系表可如何运作。
各种数据库被示为位于分开的硬件平台上,并且可被认为是包括所有各种本地数据库的联合数据库。
用户数据库202可具有数据库标识符或名称204。在用户数据库202内,用户1206和用户2208可包含名称、电话号码、电子邮件地址、以及其他参数。用户1206和用户2208可以是存储在数据库中的“对象”的示例。对于每一对象,可以定义描述该对象的若干参数。以此方式,参数“名称”、“电话号码”、以及“电子邮件地址”可以是与各种对象相关联的参数。
类似地,计算机数据库210可具有数据库标识符或名称212。在计算机数据库210内,计算机1214和计算机2216可包含名称、IP地址、类型的参数、以及其他参数。
修复次序数据库218可具有数据库标识符或名称220。在修复次序数据库218内,修复1222可包含“用户1:名称”、“计算机1:名称”、到期日期的参数、以及其他参数。修复2224可包含“用户1:名称”、“计算机2:名称”、到期日期的参数、以及其他参数。符号“对象:参数”被用于定义链接到其他对象的具体参数。
在修复次序数据库218中的对象可引用在其他数据库中存储的具体信息。例如,修复1引用用户1206的“名称”值以及计算机1214的“名称”值。类似地,修复2引用用户1206的“名称”值以及计算机2216的“名称”值。
当作出对于在对修复次序数据库218本地的数据库客户机上的修复次序的查询时,数据库客户机可将从用户数据库202和计算机数据库210收集的信息存储在本地高速缓存226中。本地高速缓存226可以是高速缓存的实例数据库,该高速缓存的实例数据库可以符合类型空间定义或者可以使用它来创建。
本地高速缓存226可包括用户数据库228的本地版本,该用户数据库可包含用户1230的条目,该条目可包含从用户1206检索的名称参数。类似地,本地高速缓存226可包括计算机数据库232的本地版本,该计算机数据库可包含计算机1234和计算机2236的条目。计算机1234和计算机2236的条目可包含从计算机数据库210检索的名称参数。
本地高速缓存226可包含存储在高速缓存226中的每一对象的可用参数的子集。该子集可表示从具体查询中检索的那些值。在实施例200的示例中,这一查询可请求带有参数全集的修复次序列表。
在某些实施例中,可检索远程数据并且存储在本地高速缓存226中作为具体用户查询的结果。在其他实施例中,可在一组预定义的查询可用之前取得远程数据。
本地表237可包含所有本地存储的对象列表连同该对象的源或起源数据库。例如,可以本地地存储修复1238和修复2240。用户1:名称242可被存储在“数据库1(DB1)”中,它可以是用户数据库202的标识符。计算机1:名称244和计算机1:名称246可能已经可从计算机数据库210被检索出,如“数据库2(DB2)”数据库所指示的。
本地表237可以是当开始查询时的第一个查找操作。可使用本地表237来确定所请求的值是否本地可用。当值在本地数据库或本地高速缓存中可用时,可以非常迅速地检索出该值。当值不是本地可用是,可从远程数据库查询该值。
当数据被存储在本地高速缓存226中时,可以生成关系表248。关系表248可标识不同数据库中的对象的实例的关系。例如,修复1250具有与“用户1[数据库1]”的关系。符号“用户1[数据库1]”指定用户数据库202中的对象用户1206。类似地,修复1252具有与来自计算机数据库210的计算机1214的关系。修复2254具有与来自用户数据库202的用户1206的关系,而修复2256具有与来自计算机数据库210的计算机2216的关系。
数据库客户机可使用关系表248来确定附加信息的源。例如,请求计算机1214的IP地址的查询可搜索关系表248,以便确定计算机1位于计算机数据库210中并且查询可对数据库210作出。当不存在这样的关系时,查询可针对另一数据库或针对若干数据库,以便标识计算机1214的位置,并且随后可对计算机数据库210作出第二个查询。
当数据被存储在本地高速缓存236中时,可在主存远程数据库的设备上创建关系表。例如,关系表258可包含用户1260与修复1[数据库3]之间的关系、以及用户1262与修复[数据库3]之间的关系。关系表264可包含计算机1266与修复[数据库3]的关系以及计算机2268与修复[数据库3]的关系。
相应的本地数据库可使用关系表258和264来更新本地高速缓存226。关系表258和264可指示在哪里可将对象或与对象相关联的参数本地地高速缓存,并且可以使用该关系来发送更新或将改变与高速缓存同步。
图3是示出用于对联合数据库执行查询的方法的实施例300的时间线图示。实施例300是可由诸如实施例100的数据库客户机122等数据库客户机执行的方法的示例。
其它实施例可以使用不同顺序的、附加的或更少的步骤以及不同的名称或术语来实现类似的功能。在一些实施方式中,各种操作或一组操作可以按同步或异步的方式与其它操作并行执行。在此选择的这些步骤被挑选来以简化的形式示出操作的一些原理。
实施例300示出带有本地数据库的本地设备302可执行可从远程设备304收集某些信息的查询的简化顺序。本说明书稍后的实施例400示出某些处理的更详细的示例,该处理可发生在查询期间并且可反映与实施例300中所呈现的不同的实施例。
在框306,本地设备302可接收对本地对象以及相关对象的请求。在实施例200的示例中,这一请求可包括对链接到在用户数据库和计算机数据库中找到的数据的修复次序的请求。
在框308,可在本地表中查找对象。本地表可包括本地存储的每一对象的条目,包括本地实例数据库中的对象和高速缓存中的对象。
在框310,对于在本地表中找出的每一对象,可使用本地源来检索该对象。框310的本地源可以是实例数据库以及本地高速缓存。
如果使用本地源满足了查询,则该过程可前进至框324。如果否,则在框312中可使用远程源。在框314可从本地设备302发送对远程对象的查询,并且在框316由远程设备304接收。在框318,远程设备可找出所请求的参数,并且在框320传输响应,该响应可在框322中由本地设备302接收。
在收集来自本地和远程源的所有数据之后,可在框324生成对原始请求的响应,并且可在框326将该响应呈现在用户界面上。
在框328,可将从远程设备304检索出的参数存储在本地高速缓存中。作为本地高速缓存中的存储的一部分,本地表可被更新以便包括新获得的数据。
在框330,可将一个或多个关系添加到本地关系表,其中关系指向所检索的参数的源数据库。在框332,远程设备304还可更新指向本地高速缓存的关系表。
图4是示出用于执行查询的一部分的方法的实施例400的流程图示。实施例400可示出实施例300的框306至310的操作的更详细的示例。
其它实施例可以使用不同顺序的、附加的或更少的步骤以及不同的名称或术语来实现类似的功能。在一些实施方式中,各种操作或一组操作可以按同步或异步的方式与其它操作并行执行。在此选择的这些步骤被挑选来以简化的形式示出操作的一些原理。
实施例400是用于分析查询以确定对象是否本地地存在并且用于收集本地对象的方法的示例。对于位于远程的对象,可使用关系表来确定对象可位于哪里。
在框402,可接收要检索的对象。
在框404,可搜索本地表以便确定哪些对象是本地存储的以及哪些对象是远程可用的。
在框406,对于所请求的每一本地对象,在框408中可从本地数据库查询该对象。
在框410,对于所请求的每一高速缓存的对象,在框412可从高速缓存中查询该对象。
如果对象没有位于本地数据库或本地高速缓存中,则对象可能是远程可用的。在框414,对于这些项中的每一个,在框416可搜索关系表,以便确定是否存在到对象的相关数据库的链接。如果存在这一关系,则在框420可使用该关系来确定远程数据库。
在框416,如果对象不具有关系表中的关系,则在框418可执行针对另一数据库的查询,以便确定对象的位置。
一旦远程数据库在框418或420中被确定,则在框422可查询远程数据库以便检索该对象。
实施例400示出了关系表的一种使用。在这种使用中,现有关系可被用于标识要查询的远程数据库。当没找到这一关系时,可作出附加查询来确定远程数据库。然而,当存在关系时,可消除这一查询。
以上对本发明主题的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其它修改和变形都是可能的。选择并描述实施方式来最好地解释本发明的原理及其实践应用,从而使本领域的其它技术人员能够在各种实施方式和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在包括除受现有技术所限的范围之外的其它替换实施方式。

Claims (14)

1.一种系统,包括:
处理器(108);
具有公共类型定义的多个数据库(158);
第一数据库(128),所述第一数据库具有第一对象,所述第一对象包括与存储在第二数据库中的第二对象的关系,所述第二对象包括参数集,所述关系与所述参数集中的第一参数相关;
数据库客户机(122),所述数据库客户机具有本地高速缓存并且:
接收对所述第一对象的查询;
从所述第一数据库读取所述第一对象;
标识所述关系,并且从所述第二数据库读取所述参数集的子集;
对所述查询作出响应;以及
将所述参数集的子集存储在本地高速缓存中。
2.如权利要求1所述的系统,其特征在于,所述数据库客户机还:
将所述参数的子集添加到包括每一本地存储的对象的本地表;以及
将所述参数的子集中的每一个添加到关系表。
3.如权利要求2所述的系统,其特征在于,所述数据库客户机还:
接收包括对第一参数的请求的第二查询,所述第一参数是所述参数的所述子集中的一个;
查询所述本地表,以便确定所述第一参数位于所述高速缓存中;以及
从所述本地高速缓存检索所述第一参数。
4.如权利要求3所述的系统,其特征在于,所述数据库客户机还:
接收包括对第二参数的请求的第三查询,所述第二参数是与所述第二对象相关联的所述参数集中的一个,而且所述第二参数不在所述参数的所述子集中;
查询所述本地表,以便确定所述第二参数不位于所述高速缓存中;
查询所述关系表,以便标识包括所述第二参数的所述第二数据库;以及
查询所述第二数据库,以便检索所述第二参数。
5.如权利要求1所述的系统,其特征在于,所述第一数据库位于包括所述数据库客户机的第一硬件平台上。
6.如权利要求5所述的系统,其特征在于,所述第二数据库位于第二硬件平台上。
7.如权利要求1所述的系统,其特征在于,
8.一种系统,包括:
多个硬件平台(104),所述硬件平台中的每一个包括本地数据库;
存储在所述本地数据库中的每一个的公共类型空间定义(124),所述公共类型空间定义包括类型定义以及类型之间的关系;
对于所述本地数据库中的每一个,存储在所述本地数据库中的实例集(128),所述实例中的每一个符合所述类型空间;
具有数据库客户机(122)的所述多个硬件平台的第一硬件平台(104),所述第一硬件平台:
具有被配置成显示查询结果的用户界面,所述查询结果包括来自所述第一硬件平台上的第一本地数据库的第一对象以及具有与所述第一对象的关系的第二对象,所述第二对象被存储在第二硬件平台上的第二本地数据库中,所述查询结果包括与所述第二对象相关联的参数子集;
执行查询以检索所述查询结果,所述查询针对所述第一本地数据库来执行以检索所述第一对象的第一实例,所述查询针对所述第二本地数据库来附加地执行以检索与所述第二对象的第一实例相关联的所述参数的子集;
将所述第一对象的所述第一实例与所述第二对象的所述第一实例显示为所述查询结果的一部分;以及
将与所述第二对象的所述第一实例相关联的所述参数的子集存储在本地高速缓存中。
9.如权利要求8所述的系统,其特征在于,还包括:
被配置成在所述本地数据库中的每一个上复制所述公共类型空间定义的复制机制。
10.如权利要求9所述的系统,其特征在于,所述复制系统还被配置成将存储在所述本地高速缓存中的所述参数的所述子集复制到所述第二本地数据库。
11.如权利要求10所述的系统,其特征在于,所述数据库客户机:
将对所述参数中的每一个的引用集存储在关系表中,所述引用包括指向所述第二数据库的指针。
12.如权利要求11所述的系统,其特征在于,所述数据库客户机:
使得所述第二硬件平台上的第二数据库客户机将对所述引用集中的每一个的所述第一对象的引用存储在第二关系表中。
13.如权利要求11所述的系统,其特征在于,所述数据库客户机:
使得所述第二硬件平台上的第二数据库客户机将对所述引用集中的每一个的所述第一对象的引用存储在第二关系表中。
14.如权利要求13所述的系统,其特征在于,所述数据库客户机:
将具有标识符和数据库标识符的所述参数的子集存储为所述第二数据库的标识符。
CN201110148708.8A 2010-05-24 2011-05-23 链接的数据库 Active CN102262650B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/785,502 2010-05-24
US12/785,502 US9183267B2 (en) 2010-05-24 2010-05-24 Linked databases

Publications (2)

Publication Number Publication Date
CN102262650A true CN102262650A (zh) 2011-11-30
CN102262650B CN102262650B (zh) 2016-08-24

Family

ID=44973315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110148708.8A Active CN102262650B (zh) 2010-05-24 2011-05-23 链接的数据库

Country Status (2)

Country Link
US (1) US9183267B2 (zh)
CN (1) CN102262650B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547898A (zh) * 2016-10-27 2017-03-29 北京锐安科技有限公司 一种分布式数据库的数据处理方法及装置
CN104883389B (zh) * 2015-04-17 2018-12-25 新华三技术有限公司 一种服务端位置的获取方法和设备
CN109669980A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 数据跨库访问方法及装置
CN110019319A (zh) * 2017-09-30 2019-07-16 北京国双科技有限公司 数据查询方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977646B2 (en) * 2012-06-14 2015-03-10 Ca, Inc. Leveraging graph databases in a federated database system
US9158834B2 (en) * 2013-01-21 2015-10-13 Snap-On Incorporated Methods and systems for mapping repair orders within a database
CN104580276B (zh) * 2013-10-11 2018-10-16 深圳市腾讯计算机系统有限公司 信息推送方法、装置、系统及信息接入装置
US9940376B2 (en) * 2014-03-31 2018-04-10 Varonis Systems, Ltd. Delegating portions of an index of an enterprise
US11429936B2 (en) 2015-10-02 2022-08-30 Snap-On Incorporated System and method for dynamically-changeable displayable pages with vehicle service information
US11144888B2 (en) 2015-10-02 2021-10-12 Snap-On Incorporated Method and system for augmenting real-fix tips with additional content
US10452682B2 (en) * 2017-01-05 2019-10-22 International Business Machines Corporation Accelerator based data integration
CN109101346A (zh) * 2018-07-12 2018-12-28 北京猫眼文化传媒有限公司 一种数据服务提供方法及装置
US11379486B2 (en) 2019-09-20 2022-07-05 Sap Se Virtual database tables with updatable logical table pointers
US11321344B2 (en) * 2019-09-20 2022-05-03 Sap Se Virtual database tables with updatable logical table pointers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506984A (en) * 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US20030110359A1 (en) * 1999-06-01 2003-06-12 Breuder Paul D. Method and apparatus for altering data length to zero to maintain cache coherency
CN1804831A (zh) * 2005-01-13 2006-07-19 陈翌 网络缓存管理的系统和方法
US20070174292A1 (en) * 2006-01-26 2007-07-26 Wen-Syan Li Autonomic recommendation and placement of materialized query tables for load distribution
CN101685449A (zh) * 2008-09-26 2010-03-31 国际商业机器公司 一种用于连接多个异构分布式数据库中的表的方法和系统

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574914A (en) 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
US5491817A (en) * 1993-05-25 1996-02-13 Bell Communications Research Inc. Linking system and method for accessing directory information about an object in one context when information in another context is known
US6035298A (en) * 1995-10-19 2000-03-07 British Telecommunications Public Limited Company Accessing plural independent databases having plural database schemas
US5754841A (en) * 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5781910A (en) * 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US5937406A (en) * 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US6226649B1 (en) * 1997-06-23 2001-05-01 Oracle Corporation Apparatus and method for transparent access of foreign databases in a heterogeneous database system
US6272488B1 (en) * 1998-04-01 2001-08-07 International Business Machines Corporation Managing results of federated searches across heterogeneous datastores with a federated collection object
US6233586B1 (en) * 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6263342B1 (en) * 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6349306B1 (en) 1998-10-30 2002-02-19 Aprisma Management Technologies, Inc. Method and apparatus for configuration management in communications networks
US6496828B1 (en) * 1999-12-17 2002-12-17 International Business Machines Corporation Support for summary tables in a heterogeneous database environment
AU2001243459A1 (en) * 2000-03-09 2001-09-17 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizinga multitude of search methodologies
US6769048B2 (en) * 2001-12-06 2004-07-27 Sun Microsystems, Inc. Cache synchronization method, system and apparatus for a distributed application and an object located in a client cache
US6731743B2 (en) * 2001-12-18 2004-05-04 Sbc Properties, L.P. AIN query redirection
EP1623300A2 (en) * 2003-05-14 2006-02-08 Rhysome, Inc. Method and system for reducing information latency in a business enterprise
US7290150B2 (en) * 2003-06-09 2007-10-30 International Business Machines Corporation Information integration across autonomous enterprises
US7533115B2 (en) * 2003-09-16 2009-05-12 International Business Machines Corporation Method for managing persistent federated folders within a federated content management system
US7287048B2 (en) * 2004-01-07 2007-10-23 International Business Machines Corporation Transparent archiving
US7302447B2 (en) * 2005-01-14 2007-11-27 International Business Machines Corporation Virtual columns
US7395258B2 (en) * 2004-07-30 2008-07-01 International Business Machines Corporation System and method for adaptive database caching
US8478616B2 (en) 2004-10-29 2013-07-02 FrontRange Solutions USA Inc. Business application development and execution environment
US7376658B1 (en) * 2005-04-11 2008-05-20 Apple Inc. Managing cross-store relationships to data objects
US20070073674A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for providing federated events for content management systems
US7756828B2 (en) 2006-02-28 2010-07-13 Microsoft Corporation Configuration management database state model
US9122719B2 (en) * 2006-04-28 2015-09-01 Bmc Software, Inc. Database application federation
US20070294237A1 (en) * 2006-06-13 2007-12-20 Mariam John Enterprise-Wide Configuration Management Database Searches
US8019771B2 (en) * 2006-11-30 2011-09-13 International Business Machines Corporation Method for dynamically finding relations between database tables
JP4352079B2 (ja) * 2007-03-28 2009-10-28 株式会社東芝 分散データベースから情報を検索するシステム、装置、および方法
US8171014B2 (en) * 2007-08-29 2012-05-01 International Business Machines Corporation Apparatus, system, and method for executing a distributed spatial data query
US8630987B2 (en) * 2008-07-16 2014-01-14 Cleversafe, Inc. System and method for accessing a data object stored in a distributed storage network
JPWO2010098034A1 (ja) * 2009-02-24 2012-08-30 日本電気株式会社 分散データベース管理システムおよび分散データベース管理方法
JP5402667B2 (ja) * 2010-01-21 2014-01-29 富士通株式会社 構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム
US10089410B2 (en) * 2010-04-02 2018-10-02 Objectivity, Inc. For acceleration of pathway selection, application, and ranking in a hybrid network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506984A (en) * 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US20030110359A1 (en) * 1999-06-01 2003-06-12 Breuder Paul D. Method and apparatus for altering data length to zero to maintain cache coherency
CN1804831A (zh) * 2005-01-13 2006-07-19 陈翌 网络缓存管理的系统和方法
US20070174292A1 (en) * 2006-01-26 2007-07-26 Wen-Syan Li Autonomic recommendation and placement of materialized query tables for load distribution
CN101685449A (zh) * 2008-09-26 2010-03-31 国际商业机器公司 一种用于连接多个异构分布式数据库中的表的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883389B (zh) * 2015-04-17 2018-12-25 新华三技术有限公司 一种服务端位置的获取方法和设备
CN106547898A (zh) * 2016-10-27 2017-03-29 北京锐安科技有限公司 一种分布式数据库的数据处理方法及装置
CN110019319A (zh) * 2017-09-30 2019-07-16 北京国双科技有限公司 数据查询方法及装置
CN110019319B (zh) * 2017-09-30 2021-08-13 北京国双科技有限公司 数据查询方法及装置
CN109669980A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 数据跨库访问方法及装置

Also Published As

Publication number Publication date
US9183267B2 (en) 2015-11-10
US20110289055A1 (en) 2011-11-24
CN102262650B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN102262650A (zh) 链接的数据库
CN100397398C (zh) 从多个格式不同的物理表创建逻辑表的方法和系统
KR101168705B1 (ko) 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템
US8086592B2 (en) Apparatus and method for associating unstructured text with structured data
CN1705945B (zh) 提供查询的属性的方法和系统
US10083227B2 (en) On-the-fly determination of search areas and queries for database searches
US7693911B2 (en) Uniform metadata retrieval
US20090157801A1 (en) System and method for integrating external system data in a visual mapping system
US20120117116A1 (en) Extended Database Search
US20080059500A1 (en) System and method for collaborative data sharing and analysis
US20070271230A1 (en) Method and apparatus for accessing history trails for previous search sessions
CN101460950A (zh) 从数据库模式中自动生成web表单
CN101136027B (zh) 用于数据库索引、搜索和数据检索的系统和方法
CN101490675A (zh) 用于重用数据访问和呈现元素的方法和装置
CN103262106A (zh) 管理来自结构化和非结构化数据源的内容
CN102117318A (zh) 一种企业信息化系统的数据处理方法
CN104391941A (zh) 一种快速构建常用文件全文检索工具的方法
CN101324887B (zh) 用于信息资源搜索的方法和设备
CN101164067A (zh) 通过合并用户输入信息来进行搜索的方法和系统
CN106547898A (zh) 一种分布式数据库的数据处理方法及装置
Kumar et al. Exposing MARC 21 format for bibliographic data as linked data with provenance
Shojaei et al. Requirements of a data storage infrastructure for effective land administration systems: case study of Victoria, Australia
Hughes et al. A metadata search engine for digital language archives
CN102004800A (zh) Pdm系统中数据的查询方法及装置
Liu et al. Access to serials: integrating SFX with Evergreen open source ILS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150730

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150730

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160628

Address after: Grand Cayman, Georgetown, Cayman Islands

Applicant after: IValley Holding Co., Ltd.

Address before: Washington State

Applicant before: Micro soft technique license Co., Ltd

C14 Grant of patent or utility model
GR01 Patent grant