自动数据合并的制作方法

文档序号:6475125阅读:198来源:国知局
专利名称:自动数据合并的制作方法
技术领域
本发明涉及一种用于将来自分布式数据库的数据合并(consolidate)到中央数据库内的方法、设备和系统。
背景技术
当前,许多组织将它们的IT(信息技术)花费集中在通过提高其IT基础设施的效率和效用从而帮助他们降低成本的方法和技术上。许多组织和公司面临的关键难题是在因特网兴起(也称作“.com”泡沫)开始之时,许多组织不得不突然地接受因特网,在这种情况下,以自组织(ad-hoc)方式建立了并未针对可缩放性或发展空间很好地设计的基础设施单元。当前,这些组织和公司面对松散组合且需要高成本来进行维护的基础设施,难以满足商业需要的发展,且成本很高。这在商务处理和这些组织管理数据的方面都是显而易见的。
在许多情况下,数据分散在组织或公司内,不同部门使用不同的数据库系统,所有这些部门经常使用不同的数据库表格设计以多种格式维护基本相同的数据。在此,使用标准化模式在(逻辑上的)单个位置内维护所有的数据将有很大的益处。假如具有这样的集中式数据仓库或数据库引擎将能够进行快速的数据分析以改善客户关系管理,简化新产品开发,降低IT基础设施本身的维护成本,同时改善整个系统的可靠性和可用性。
国际公开文本WO 99/52047A1涉及一种用于将数据从一个或多个ASCII文件和/或从一个或多个关系数据库转移到一个或多个关系数据库表格而不需要编写代码的方法和系统。这允许用户定义映射模板和条件以协助翻译和转换数据值。使用基于关系设计原理的一组预先定义的转移规则模板,该方法还实施参考完整性、数据相关性、操作顺序和唯一性限制。该方法使用这些映射和转移规则模板以生成用于更新或填充关系数据库目的表格的指令。这些指令控制数据传输、数据翻译、数据转换、数据验证、外部关键字插入和在目的表格内所需要的代码和标记的添加。该系统的转移引擎包括数据映射结构设计器和更新处理器,其使用用于目标表格的数据定义来生成模板和动态地转移数据。
现有技术的缺点在于它受限于在其中实施了Oracle应用表格的具体类型的数据库系统。这要求用户手工地定义转移规则,或者至少交互地,即通过用户交互。(Oracle是Oracle公司的商标)。该现有技术并未给出有关允许发现整个组织中内的数据库或对实际访问模式增加合并处理的规定。
根据上述描述,在现有技术中依然需要一种允许将来自分布式数据库的数据合并到中央数据库内的有效方案。

发明内容
公开了一种方案,它执行两个基本任务,其中(a)它监视现有的数据访问模式,从而得出在组织内可用的数据源和如何使用它们的概况;和(b)随后,它不断将各种数据源的数据内容合并到新的中央库(centralized repository),并将对远程数据库服务器的调用重定向这个中央数据库。
为此,使用三个基础设施单元。所谓的传感器,也称作截取器或请求检测器,监视在组织或网络内的任何数据访问。推理引擎(inference engine),分析访问模式和在单个数据库内包含的数据格式。中央数据库,也称作中央数据仓库或中央库,聚集各个数据源的数据以最终予以替换。
在下文中,将更详细地解释单个基础设施单元。
传感器或请求检测器连接到基础设施单元(通常为管理用户和/或应用的数据库访问的软件驱动程序(driver))并记录由用户和应用提交的请求。这种传感器的典型例子是修改的ODBC(JDBC)驱动程序。例如,JDBC驱动程序是当前频繁地用于从Java程序访问数据库的Java代码。通过修改JDBC驱动程序,传感器逻辑可以记录从程序或用户发起的到数据库的所有数据请求,以及正在对哪个数据库寻址。通过修改数据库本身可以获得其它的例子。实时地或以批模式,记录所有的数据访问并发送给推理引擎。
推理引擎分析由传感器或请求检测器记录的数据访问以识别(i)作为在一个或多个网络内的分布式数据库的所使用的数据库引擎;和(ii)所使用的数据方案;例如,推理引擎学习在各个数据库引擎内是何种形式的数据表格,使用哪些主要关键字和外部关键字,在那些数据库表格内包含哪种类型的数据。此外,推理引擎可以执行(iii)不同数据库之间的相关;例如,推理引擎应当使来自不同数据库的列相关,即使它们的名称可能不同。
根据推理结果,该引擎生成新的数据方案,生成在中央数据仓库即中央数据库上的方案的实例(instance)。然后,随着时间的过去,推理引擎将已经发现的来自各个分布式数据库内的现有数据复制到这个新的中央数据库内。当完成时,推理引擎可以发出命令以将到各个数据库的调用重新定向到该中央数据仓库。这可以通过通知请求检测器拦截各个数据访问调用,并将它们重定向到中央数据库的方式来实现。
中央数据仓库或中央数据库是数据库引擎,例如IBM DB/2。为了提高可用性,可以使用簇(cluster)。
根据本发明,提供一种用于自动地将数据从分布式数据库合并到中央数据库内的方法。该方法包括步骤接收包括到分布式数据库的请求信息的访问信息,分析所接收的访问信息,根据所分析的访问信息,将分布式数据库的数据内容聚集到中央数据库内。这允许对分布在几个数据库上的冗余数据进行简单且自动的转移(migration)。
本发明还可以包括步骤从数据业务中过滤到相应分布式数据库的请求信息,并将访问信息内的过滤后的请求信息转发给推理引擎。可以在一个位置上分析所有的已收集请求信息,即可以比较来自各个数据库的信息,并可以研究可能的合并。
可以为中央数据库生成基于所分析的访问信息的新的数据方案(schema)。优点在于可以使用符合各个分布式数据库需要的合并模式。
分析步骤可以包括使用日志文件信息。这执行起来很简单,且不需要在基础设施内的任何改变,但是可能不能以与传感器或请求检测器进行检测的相同细致程度来生成访问数据。
根据本发明的另一方面,提供一种用于支持从分布式数据库到中央数据库内的数据合并的请求检测器。该请求检测器可以包括检测装置,用于检测对分布式数据库的请求信息;转换装置,从所检测的请求信息中得到访问信息;和提供装置,将访问信息发送给推理引擎。
可以在每个要合并的分布式数据库上提供请求检测器,最好以修改的ODBC(JDBC)驱动程序的形式。请求检测器甚至可以集成到要合并的每个分布式数据库内。
请求检测器可以包括重定向装置,用于将对单个数据库的请求重定向到中央数据库。优点在于可以将请求直接转发给合并后的中央数据库,用户可以获取比由单个数据库提供的信息更多的信息。
根据本发明的另一方面,提供一种推理引擎,用于控制从分布式数据库到中央数据库的数据合并。推理引擎可以包括用于分析从分布式数据库接收到的,并包括对相应分布式数据库的请求信息的访问信息的装置。
推理引擎可以包括相关装置,用于使不同的分布式数据库之间的列和/或行相关,但是也可以使字段(field)、记录和/或数据结构相关。这产生随后可以由已合并的中央数据库使用的新模式。推理引擎允许简单的数据转移。将等同的信息或数据集合在一起,并存储在一个位置上。这有助于避免分布式系统中的重复。
根据本发明的又一方面,提供一种用于将数据从分布式数据库合并到中央数据库中的系统。该系统包括在每个要合并的分布式数据库上的请求检测器,用于提供包括对分布式数据库的请求信息的访问信息;推理引擎,用于分析所接收的访问信息;和中央数据库,根据所分析的访问信息,分布式数据库的数据内容被聚集到所述中央数据库中。


参考下面的示意图,在下文中仅通过例子详细地描述本发明的优选实施例。
图1图示分布式数据库结构的示意图。
图2图示根据本发明的数据库结构的示意图。
图3a图示请求和访问信息流的示意图。
图3b图示重定向流的示意图。
图4图示将两个数据库合并成中央数据库的示意图。
附图仅用于说明性的目的,并不必需成比例地代表本发明的实际例子。
具体实施例方式
图1图示包括分布式数据库11、12、13、14和15的分布式数据库结构1的示意图。数据库,也标记为DBx,通过网络6相互连接并且是可以访问的。用户10,也标记为U,访问这里的三个分布式数据库11、12和14,以便接收由第一数据库11、第二数据库12和第三数据库4分发和提供的信息。具体而言,用户10,即用户计算机,发送第一请求r1给第一数据库11,第二请求r2给第二数据库12,和第三请求r3给第三数据库14。用户10接收来自自分布式数据库11、12和14的随后可以被评估的相应响应。然而,在该例子中,发送三个请求r1、r2和r3以获取所希望的信息。此外,维护包含重复内容的所有分布式数据库10、11、12、13、14和15将是低效和无用的。
在本说明书中使用相同的参考标记表示相同或类似的部件。
参见图2,图示根据本发明的修改后的数据库结构2的示意图。该数据库结构还包括分别连接到每个分布式数据库11、12、13、14和15的请求检测器21、22、23、24和25。此外,提供连接到网络6的中央数据单元30。该单元包括相互连接并连接到网络6,进而连接到分布式数据库11、12、13、14和15的推理引擎32和中央数据库34。
假设用户10将同样的请求r1、r2和r3发送给相应的分布式数据库11、12和14,与参考图1描述的相同。现在,由相应的请求检测器21、22和24检测对相应的分布式数据库11、12和14的每个请求r1、r2和r3。为此,检测器21、22、23、24和25包括用于检测对分布式数据库11、12和14的此类请求r1、r2和r3的检测装置(未图示)。从也称作请求信息的请求r1、r2和r3得到表示诸如数据库地址、查询细节等的访问信息a1、a2和a3。随后,将访问信息a1、a2和a3发送给推理引擎32,如图2所示。
中央数据单元30即推理引擎32接收包括请求信息r1、r2和r3的访问信息a1、a2和a3,并通过使用用于使不同分布式数据库11、12、13、14和15之间的列和/或行相关的相关装置分析所接收的访问信息a1、a2和a3。根据所分析的访问信息,将分布式数据库11、12、13、14和15的数据内容聚集到中央数据库34内。
在一定时间之后,可以删除分布式数据库11、12、13、14和15,因为已经将内容合并和存储在中央数据库34内。这允许在存储器中更高的冗余度和更好的归档可能。
对于用户10和系统来说,在合并之后仅将一个请求r发送给中央数据单元30是有利的。响应于该请求r,可以将更完整的数据集提供给用户10。
图3a图示用于当前分布式数据库结构以建立中央数据库34的请求r和访问信息a的信息流的示意图。在该例子中,用户10将请求r发送给一个分布式数据库1x。连接到分布式数据库1x的请求检测器2x接收到这个请求r,将其转换成访问信息a,并为了分析目的将这个访问信息a发送给推理引擎32。
图3b图示重定向流的示意图。当已经成功地执行数据合并之后执行此过程。随后,由推理引擎32向请求检测器2x通知重定向,并且由用户10发送的任何请求r被请求检测器2x重定向为对中央数据库34的重定向请求RR。随后,由已合并的中央数据库34应答该请求查询。
图4图示将两个分布式数据库11和12合并成中央数据库34的示意图。该图在左侧图示第一数据库11的内容和第二数据库12的内容。第一数据库11存储“姓名”,例如Joe、Bob和Alice,和他们各自的“年龄”,28、40和18。第二数据库12也存储“姓名”,在这里是Joe和Bob,但是还存储“出生地”而不是年龄。如从这个简单的例子可以看出的,存在一些重复的姓名,即信息,当前在许多分布式数据库结构中都是这种情况。因此,希望对数据进行数据合并,以节省基础设施和维护成本。推理引擎32分析可使用的数据,进行比较和执行相关。这个相关使不同的分布式数据库之间的行和/或列相关以发现类似或匹配。如图所示,数据字段“姓名”同时出现在两个分布式数据库11和12内。因而,分布式数据库11和12是将它们的内容合并到中央数据库34的候选。推理引擎32生成新的数据方案,并将它提供给中央数据库34。最后,使用分布式数据库11和12的内容填充中央数据库34以包括字段“姓名”、“年龄”和“出生地”,包含记录“Joe,28,Bern”、“Bob,40,Zurich”、和“Alice,18”。
在本申请上下文中的计算机程序装置或计算机程序是指用任一语言、代码或符号表示的一组指令,该组指令将使拥有信息处理能力的系统直接地执行特定功能,或者在下述两者或任一个之后执行特定功能,即a)转换成另一种语言、代码或符号;b)以不同的材料格式再生。
所公开的任一个实施例都可以与所图示和/或描述的其它一个或多个实施例组合。对于这些实施例的一个或多个特征也可以如此。
权利要求
1.一种用于将来自分布式数据库(11、12、13、14、15)的数据合并到中央数据库(34)内的方法,包括步骤-接收包括对分布式数据库(11、12、14)的请求信息(r1、r2、r3)的访问信息(a1、a2、a3);-分析所接收的访问信息(a1、a2、a3);和-根据所分析的访问信息(a1、a2、a3),将分布式数据库(11、12、13、14、15)的数据内容聚集到中央数据库(34)中。
2.根据权利要求1的方法,还包括在每个要合并的分布式数据库(11、12、13、14、15)处提供请求检测器(21、22、23、24、25)。
3.根据权利要求2的方法,还包括步骤从数据业务中过滤对相应分布式数据库(11、12、14)的请求信息(r1、r2、r3),并将访问信息(a1、a2、a3)中过滤后的请求信息(r1、r2、r3)转发给推理引擎(32)。
4.根据权利要求2的方法,还包括步骤将请求检测器(22)集成到每个要合并的分布式数据库(12)内。
5.根据前面的任一权利要求的方法,还包括根据所分析的访问信息(a1、a2、a3),为中央数据库(34)生成新的数据方案。
6.根据权利要求1的方法,其中分析步骤包括使用日志文件信息。
7.一种计算机程序单元,包括程序代码装置,用于当所述程序在计算机上运行时,执行权利要求1至6中任一权利要求的方法。
8.一种在计算机可使用的介质上存储的计算机程序产品,包括计算机可读程序装置,用于使计算机执行根据前面的权利要求1至6中任一权利要求的方法。
9.一种请求检测器(21、22、23、24、25),用于支持从分布式数据库(11、12、13、14、15)到中央数据库(34)的数据合并,包括用于检测对分布式数据库(11、12、14)的请求信息(r1、r2、r3)的检测装置;从所检测的请求信息(r1、r2、r3)得出访问信息(a1、a2、a3)的转换装置;和将访问信息(a1、a2、a3)发送给推理引擎(32)的提供装置。
10.根据权利要求9的请求检测器(2x),还包括用于将对单个数据库(1x)的请求(r)重定向到中央数据库(34)的重定向装置。
11.一种推理引擎(32),用于控制从分布式数据库(11、12、13、14、15)到中央数据库(34)的数据合并,包括用于分析从分布式数据库(11、12、14)接收的,并包含对相应的分布式数据库(11、12、14)的请求信息(r1、r2、r3)的访问信息(a1、a2、a3)的装置。
12.根据权利要求11的推理引擎,还包括用于使不同分布式数据库(11、12、13、14、15)之间的列和/或行相关的相关装置。
13.一种用于将来自分布式数据库(11、12、13、14、15;1x)的数据合并到中央数据库(34)内的系统,包括-在每个要合并的分布式数据库(11、12、13、14、15;1x)处的请求检测器(21、22、23、24、25;2x),用于提供包括对分布式数据库(11、12、14;1x)的请求信息(r1、r2、r3;r)的访问信息(a1、a2、a3;a);-推理引擎(32),用于分析所接收的访问信息(a1、a2、a3;a),和-中央数据库(34),根据所分析的访问信息(a1、a2、a3;a),分布式数据库(11、12、13、14、15;1x)的数据内容被聚集到所述中央数据库(34)中。
全文摘要
本发明公开了一种用于将来自分布式数据库的数据合并到中央数据库内的方法、请求检测器、推理引擎和系统。该方法包括步骤接收包括对分布式数据库的请求信息的访问信息,分析所接收的访问信息,和根据所分析的访问信息,将分布式数据库的数据内容聚集到中央数据库内。
文档编号G06F17/30GK1717686SQ200480001568
公开日2006年1月4日 申请日期2004年3月4日 优先权日2003年4月28日
发明者斯特凡·G·希尔德, 雷内·A·帕夫里切克, 瓦里德·加伊比, 马库斯·斯托尔泽 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1