通过对记录对的空间分块来优化用于记录链接的数据库访问的制作方法

文档序号:6655270阅读:130来源:国知局
专利名称:通过对记录对的空间分块来优化用于记录链接的数据库访问的制作方法
相关申请的交叉引用本申请要求于2004年3月5日提交的名称为“Optimizing DatabaseAccess for Record Linkage by Tiling the Space of Record Pairs”的、序列号为No.60/550,454(代理案卷No.2004P03682US)的美国临时申请的权益,在此该申请以其整体被引入作为参考。
背景技术
数据库的记录链接是找到表示相同实体的记录对或记录集的问题。对于完全不适合随机存取存储器的大型数据库来说,所有可能的记录对的比较涉及多次数据库读取,以使需要被比较的数据记录进入存储器中。这可能是一种费时且低效的操作。
在以前所考虑的技术中,每次数据库读取都将把要被比较的那些记录加载到存储器中,那些记录比如是具有相同块密钥值的那些记录。这些方法存在一些缺点。一个缺点是这种块的数量大并且因此所需的数据库读取的次数是大的。另一个缺点是块尺寸可以在宽范围内变化。对于小的块来说,该方法导致存储器资源的浪费。对于太大的块来说,它导致存储器溢出错误。
因此,希望优化用于记录链接的数据库访问。

发明内容
通过用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型系统和方法来解决现有技术的这些以及其它缺点与缺陷。
用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型系统包括处理器、与处理器进行信号通信的用于将数据库数据分段为数据段并将这些数据段配对为数据象限的分段与配对单元、以及与处理器进行信号通信的用于针对每个象限检测副本的副本检测单元。
用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型方法包括获取数据库数据、将数据库数据分段为数据段、将数据段配对为数据象限、以及针对每个象限检测副本。
根据以下的应结合附图来阅读的对典型实施例的描述,本公开内容的这些以及其他方面、特征和优点将变得显而易见。


根据下面的示范图,本公开内容讲解用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统与方法,其中图1示出根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统的示意图;以及图2示出根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法的流程图。
具体实施例方式
提供一种用于在记录链接时使数据库读取最小化的分块技术,该分块技术包括通过对记录对的空间分块来优化用于记录链接的数据库访问。分块技术将大型数据库的记录链接或副本检测问题分为较小数据库的多个记录链接问题,其中较小数据库可以各自被完全加载到存储器中。该技术使数据库读取的次数最小化,并且使块尺寸的范围缩小,以使存储器资源的有效利用最大化并避免存储器溢出错误。
本公开内容的示范实施例在保证在一段时间内任何记录对将在存储器中可用的同时使数据库读取的次数最小化。此外,这些实施例使对于每次读取来说要读入存储器中的记录的数目稳定并最大化。
如图1中所示,根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统用附图标记100来概括表示。系统100包括与系统总线104进行信号通信的至少一个处理器或中央处理单元(CPU)102。只读存储器(ROM)106、随机存取存储器(RAM)108、显示适配器110、I/O适配器112、用户接口适配器114、和通信适配器128也与系统总线104进行信号通信。显示单元116通过显示适配器110与系统总线104进行信号通信。盘存储单元118、例如磁盘或光盘存储单元通过I/O适配器112与系统总线104进行信号通信。鼠标120、键盘122、和眼动跟踪装置124通过用户接口适配器114与系统总线104进行信号通信。
分段与配对单元170以及副本检测单元180也被包括在系统100中,并且与CPU 102和系统总线104进行信号通信。虽然分段与配对单元170以及副本检测单元180被示出为耦合至至少一个处理器或CPU 102,但优选地以被存储在存储器106、108和118中的至少一个中的计算机程序代码来体现这些组件,其中该计算机程序代码由CPU 102执行。
转向图2,根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法用附图标记200来概括表示。方法200包括开始模块210,该开始模块将控制传递给输入模块212。输入模块212接收数据库数据并将控制传递给功能模块214。功能模块214对数据库数据进行分段并将控制传递给功能模块216。功能模块216又将段配对为象限并将控制传递给功能模块218。功能模块218针对每个象限检测副本并将控制传递给结束模块220。
在操作中,该技术允许将记录链接的大的任务或者工作分为多个较小的任务或者象限。每个象限完全适合于处理单元的RAM。因此,可以在一个CPU上或者并行地在多个独立的CPU上顺序地处理象限。
大型数据库被分为多个、即s个不相交并且基本上相等的段。基于两个参数来确定段中的记录的数目(1)存储器容量、和(2)记录的尺寸;使得2个段可被加载到存储器中。选择划分标准,以便读入存储器中的段是最有效的。例如,段由记录ID的范围来决定。
从s个段中,将形成s(s-1)/2个段对。通过结合段号i和段号j来形成称为象限的每一对,其中i<j。
针对每个象限,进行副本检测。简而言之,将对有N条记录的数据库的副本检测工作划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测工作。那些工作中的每一项都需要两次数据库读取。为了使所有(s(s-1)/2)个象限的数据库读取的次数等于(s(s-1)/2+1),可以安排处理这些工作的次序。这样的次序的一个例子如下(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)。这是用于保证将在存储器中同时找到N条记录中的任何一对的数据库读取的最小次数。
象限的处理彼此略有不同。对于段的象限(1,2),考虑所有对。在每个象限中,实际上并非对所有所考虑的对都进行比较。在对将被比较前它必须满足某一条件。也就是说,只有当两条记录有相同的块密钥时,对两条记录进行比较。这里,块密钥是预先指定的索引的集合,并且记录的块密钥值是那些指定位置上的字符串。对于象限(1,i),如果(1)一条记录在段1中且另一条记录在段i中或者(2)两条记录都在段i中,那么将考虑一对两条记录。对于象限(i,j)j>i>1,如果一条记录在段i中且另一条记录在段j中,那么将考虑这两条记录。该变型方案确保将在唯一一个象限中考虑N条记录中的任何一对。
因此,通过(1)使数据库读取的次数最小化,(2)最大限度地利用可获取的存储器容量,和(3)确保没有记录对被比较两次来达到该优选技术的优良的性能。
在设备100的替代实施例中,可以在位于处理器芯片102上的寄存器中存储计算机程序代码中的一些或所有。此外,可以产生分段与配对单元170和副本检测单元180以及系统100的其它组件的各种替代的配置与实施方案。
应理解的是,本公开内容的教导可以以各种形式的硬件、软件、固件、专用处理器或它们的组合来实现。最优选地,本公开内容的教导被实施为硬件和软件的组合。
此外,软件被优选地实施为确实被包含在程序存储单元上的应用程序。该应用程序可被上载到包括任何适当结构的机器上并且由该机器执行。优选地,在计算机平台上实施该机器,该计算机平台具有例如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口的硬件。
该计算机平台还可包括操作系统和微指令代码。在此所描述的各种处理和功能可以是可由CPU执行的、微指令代码的一部分或应用程序的一部分或它们的组合。此外,其他各种外围设备、例如附加的数据存储单元和打印单元可与该计算机平台相连接。
应进一步理解的是,由于附图中所描绘的一些构成系统的组件和方法优选地以软件来实现,所以系统组件或处理功能模块之间的实际连接可根据对本公开内容进行编程的方式而不同。于此给定教导,相关领域的普通技术人员将能够设想本公开内容的这些和类似的实施方案或配置。
虽然这里参考附图对说明性实施例进行了描述,但是应理解的是,本公开内容并不限制于那些明确的实施例,并且相关领域的普通技术人员可以在不脱离本发明的范围或精神的情况下实现各种变化和修改。意图在如所附的权利要求所阐述的本公开内容的范围内包括所有这样的变化和修改。
权利要求
1.一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法,该方法包括接收数据库数据;将数据库数据分段为数据段;将数据段配对为数据象限;以及针对每个象限检测副本。
2.如权利要求1所述的方法,其中分段包括将大型数据库划分为多个不相交并且基本上相等的段。
3.如权利要求1所述的方法,其中响应于存储器容量和记录的尺寸,每个段包括多条记录,以便两个段在存储器容量的范围内。
4.如权利要求1所述的方法,其中由s个段形成的段对的数目是s(s-1)/2个段对或象限。
5.如权利要求4所述的方法,其中每个对或象限通过结合段号i和段号j来形成,其中i小于j。
6.如权利要求4所述的方法,其中对有N条记录的数据库检测副本被划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测任务,以便那些工作中每一项进行两次数据库读取。
7.如权利要求6所述的方法,其中这样安排处理所述工作的次序,以致针对所有(s(s-1)/2)个象限的数据库读取的次数为(s(s-1)/2+1),该次数是用于保证将在存储器中同时找到N条记录中的任何一对的数据库读取的最小次数。
8.如权利要求7所述的方法,其中处理象限工作的次序为(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)。
9.如权利要求1所述的方法,其中针对每个象限检测副本包括针对段的象限(1,2),考虑所有对;针对象限(1,i),如果一条记录在段1中且另一条记录在段i中或者两条记录都在段i中,那么考虑一对两条记录;以及针对象限(i,j),其中j>i>1,如果一条记录在段i中且另一条记录在段j中,那么考虑一对两条记录;其中将在唯一一个象限中考虑N条记录中的任何一对。
10.一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统,该系统包括至少一个处理器;与至少一个处理器进行信号通信的分段与配对单元,用于将数据库数据分段为数据段并将数据段配对为数据象限;以及与至少一个处理器进行信号通信的副本检测单元,用于针对每个象限检测副本。
11.如权利要求10所述的系统,进一步包括与处理器进行信号通信的用于接收数据库数据的输入/输出适配器和通信适配器中的至少一个。
12.如权利要求10所述的系统,其中分段与配对单元包括用于将大型数据库划分为多个不相交并且基本上相等的段的装置。
13.如权利要求10所述的系统,其中分段与配对单元包括用于响应于存储器容量和记录的大小在每个段中包含多条记录以便两个段在存储器容量的范围内的装置。
14.如权利要求10所述的系统,其中分段与配对单元包括用于将由s个段形成的段对的数目确定为s(s-1)/2个段对或象限的装置。
15.如权利要求10所述的系统,其中分段与配对单元包括用于通过结合段号i和段号j来形成每个对或象限的装置,其中i小于j。
16.如权利要求10所述的系统,其中副本检测单元包括用于通过以下方式来对有N条记录的数据库检测副本的装置,即将该任务划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测工作,以便那些工作中的每一项进行两次数据库读取。
17.如权利要求16所述的系统,其中副本检测单元包括用于这样对所述工作的处理排序以致针对所有(s(s-1)/2)个象限的数据库读取的次数为(s(s-1)/2+1)的装置,该次数是用于保证将同时在存储器中找到N条记录中的任何一对的数据库读取的最小次数。
18.如权利要求17所述的系统,其中副本检测单元包括用于将象限工作的处理排序为(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)的装置。
19.如权利要求10所述的系统,其中副本检测单元包括用于针对每个象限检测副本的装置,该装置包括用于针对段的象限(1,2)考虑所有对的装置;用于针对象限(1,i)如果一条记录在段1中且另一条记录在段i中或者两条记录都在段i中、那么考虑一对两条记录的装置;以及用于针对象限(i,j)如果一条记录在段i中且另一条记录在段j中、那么考虑一对两条记录的装置,其中j>i>1;其中将在唯一一个象限中考虑N条记录中的任何一对。
20.一种机器可读的程序存储装置,该程序存储装置确实包含可由该机器执行的用于执行程序步骤的指令程序,该程序步骤用于通过对记录对的空间分块来优化用于记录链接的数据库访问,该程序步骤包括接收数据库数据;将数据库数据分段为数据段;将数据段配对为数据象限;以及针对每个象限检测副本。
全文摘要
提供一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统与方法,该系统包括处理器、与处理器进行信号通信的用于将数据库数据分段为数据段并将这些数据段配对为数据象限的分段与配对单元、以及与处理器进行信号通信的用于针对每个象限检测副本的副本检测单元,并且该方法包括接收数据库数据、将数据库数据分段为数据段、将数据段配对为数据象限、以及针对每个象限检测副本。
文档编号G06F17/30GK1973286SQ200580006829
公开日2007年5月30日 申请日期2005年3月2日 优先权日2004年3月5日
发明者P·H·蒋, S·桑迪尔亚, W·A·兰迪, R·B·劳 申请人:美国西门子医疗解决公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1