用于在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的系...的制作方法

文档序号:6355024阅读:292来源:国知局
专利名称:用于在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的系 ...的制作方法
技术领域
本发明大体上涉及数据库对象抽取,尤其涉及一种系统和方法,用于在日志监视器结合了可动态再定义的商业逻辑(businesslogic)的情况下保持大粒度(large-grained)数据库并发。
背景技术
目前,公司的数据库管理系统分为两类生产和信息。包含了操作数据存储器的生产数据库充当储存库,用于保存那些在制造、生产及事务系统的操作中产生或使用的实时或接近实时的数据。与此相反,信息数据库对那些从生产数据库中周期性获取的数据加以保存,以供决策支持和联机分析处理系统使用。信息数据库包含了通常构造为企业数据库和数据集市(datamart)的数据仓库。
通常,数据仓库保存了那些描述数据库结构的信息数据和元数据。信息数据库至少需要与生产数据库中保存的数据保持大粒度数据并发,以便进行趋势分析和数据推导。
联机事务处理系统是生产数据的主要制造者。联机事务处理系统需要一个具有不间断可用性的最小保证响应时间,尤其是在电子商务(e-commerce)系统中。高数据量以及对高可用性的需要要求使用事务服务器而不是较慢的数据库服务器。
生产数据为决策支持以及联机分析处理系统提供了原始谷物(raw grist)。这些系统对数据进行分析并且生成报告,以便在公司的计划和战略操作中使用。原始生产数据由数据挖掘、复制以及净化工具转换成信息数据。决策支持与联机分析处理系统可以忍受较慢的响应时间。尽管如此,这些系统的数据需要必须与生产系统所需要的自治保持平衡。
频繁更新信息数据库有可能会对生产系统的运行产生不利影响。联机事务处理系统在接近总的硬件容量或是处于总的硬件容量的状态下运行。举例来说,典型的电子商务站点每秒可以接收500个以上的事务或是“点击”。通过中断生产系统的运行来更新信息数据库,这会加剧保持必要可用性及响应性等级的问题。
在数据检索处理过程中,生产数据必须通过在数据检索过程中商业逻辑应用而被周期性转换为信息数据。通常,检索和转换生产数据所需要的商业逻辑非常复杂,所述商业逻辑在计算上也是非常密集的。同样,商业逻辑相对比较固定和静态。这些因素有可能进一步影响到系统响应性。
现有技术中已经提出了两种用于对信息数据库进行更新的解决方案。一种解决方案给出了一个数据复制管理器,其在转换数据的同时周期性拷贝生产数据。不幸的是,这种解决方案将会导致大量的数据复制并且有可能是非常耗时的。
另一种现有技术的解决方案引入了一个周期性更新的多层数据库架构。商业逻辑是在针对生产数据库所执行的查询中实现的。第二层商业逻辑可以使用检索到的信息来填充和更新那些使用了部门特有的查询的数据集市。在一个快速变化的环境中,过多更新可能会强烈干扰生产系统的运行。
因此,需要一种能以高频率和低开销而对信息数据库进行更新的数据管理器。这种方法实质上免除了数据复制和无效的数据检索,由此将资源消耗减至最少。
进一步需要一种方法来对那些具有可动态再定义的参数的信息数据进行检索。这种方法允许对商业逻辑进行灵活的再定义,以便用一种特定(ad hoc)方式来选择数据。
此外还需要一种方法来对信息数据库进行无干扰更新。这种方法将会对生产系统的运行产生最小影响并顾及自主操作。

发明内容
本发明提供了一种使用间接检索自源数据库的数据来对目的数据库进行更新的系统和方法,所述间接检索是经由基于日志的监视来进行的。事务日志文件是作为事务服务器提交到源数据库的事务的副产品而产生的。日志文件受到监视,并且日志文件是相对于一个动态规则集来进行评估的,所述规则集规定了执行商业逻辑的选择标准。通过使用描述目的数据库模式的元数据而将那些满足选择标准的日志条目转换成更新记录。并且可以使用一个数据库建立工具来动态地重新定义规则集以及元数据。日志监视器自动修改选择标准以及生成记录的操作。在数据检索过程中,日志监视器使用每个日志条目中保存的信息来间接推导那些对事务服务器运行具有最小影响的信息数据。
本发明的一个实施例是一种经由基于日志的事务监视来对一个信息数据库进行刷新的系统和方法。一个生产数据库被保持,其中包含了一个或多个表。每个表都存储了由事务处理系统产生的生产数据的记录。日志条目周期性存入一个日志文件。对于提交到生产数据库的每个事务而言,将会为其产生至少一个日志条目。一个信息数据库被保持,其中包含了一个或多个表。每个表都存储了供决策支持系统使用的信息数据的记录。通过使用一个规定数据选择标准的规则集,对存入日志文件的日志条目进行动态分析。而从满足数据选择标准的生产数据中产生的更新记录将会保存在信息数据库中。
另一个实施例是一种在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的系统和方法。以一种数据操纵语言来进行表述的操作是针对一个源数据库而执行的。至少一个操作构成了完成每个数据库事务的提交操作。并且一个当前规则集将被定义。每个规则都包含商业逻辑,所述商业逻辑指定了关于源数据库所保存记录的一个数据选择标准。在日志中,为每个提交到源数据库的事务周期性产生一个日志条目。每个日志条目都对一个受影响的记录进行识别并且包含了事务数据。在每个日志条目中识别的事务都是针对当前规则集中指定的数据选择标准来进行评估的。根据那些对一个目的数据库进行描述的元数据建立一个新记录。这个新记录包括从满足选择标准的每个事务的日志条目中选择事务数据。新记录将会存入目的数据库。目的数据库中保存的数据包括源数据库的至少一个部分子集。
本发明的一个优点是能够动态地重新定义那些按照事务日志监视器所解释的规则来执行的商业逻辑。另一个优点是利用数据仓库所固有的元数据来智能填充一个数据库,并且允许对于数据库结构中的改变拥有附加的响应性等级。
对本领域技术人员来说,本发明的其他实施例将通过以下详细描述而变得显而易见,其中通过图解说明预期用于实施本发明的最佳模式而对本发明的实施例进行了描述。正如将要了解的那样,本发明能够提供其他的不同实施例,并且可以在许多非常明显的方面对本发明的若干细节进行修改,所有这些都不会脱离本发明的实质和范围。因此,事实上把附图和详细描述看作是说明性的,它们并不具有限制性。


图1是显示根据本发明的分布式计算机环境的框图,包括一个在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的系统。
图2是显示现有技术中的多层数据库结构的功能性框图。
图3是显示用于维持图1的大粒度数据库并发的系统的框图。
图4是显示图3系统所用日志条目的数据结构图。
图5是显示通过基于日志的事务监视而进行的信息数据库更新的处理流程图。
图6是显示图3系统软件模块的功能性框图。
图7是显示规则条目的数据结构图。
图8是显示根据本发明在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的方法的流程图。
具体实施例方式
图1是一个显示了根据本发明的分布计算环境10的框图,包括一个用于在日志监视器结合了可以动态再定义的商业逻辑的情况下保持大粒度数据库并发的系统。一个操作数据存储器(ODS)11保存了生产系统12产生的生产数据。生产系统12可以构成一个联机事务处理系统来办理电子商务(e-commerce),预约、销售点事务、库存控制、工厂及制造操作、以及相似类型的行为。出于效率方面的考虑,生产系统12保持了一个本地生产数据库13,在其内部保存了生产数据。
为了保持高等级的响应性和可用性,操作数据存储器11与专用事务服务器14相耦合,该服务器向操作数据存储器11提供一个高吞吐量的接口。如本领域已知的那样,生产系统12与事务服务器14经由网络15相互连接,其中所述网络可以是一个互连网络或内部网络。
操作数据存储器11中保存的生产数据周期性复制到企业数据仓库16。与仅仅包含生产数据的操作数据存储器11不同,企业数据仓库16包含了直接得到的数据值以及推导得出的数据值,这些数据值称为信息数据,它们是供决策支持和联机分析处理系统使用的。数据库服务器17与企业数据仓库16相耦合,用于对企业数据仓库16执行数据操纵语言(DML)查询。数据库服务器17经由网络15而与另一个系统相互连接。
可以结合诸如工作组数据集市18这样的辅助数据库来分层构造企业数据仓库16。虽然企业数据仓库16包含了从属于公司活动所有方面的信息数据,但是每个工作组数据集市18都是一个为特定主题范围给出信息数据专用视图的子集,其中特定主题范围可以是雇员记录、销售收入图表等等。在一个局部网络环境中,可以将工作组数据集市18与一个专用的本地数据库服务器19构造在一起,其中本地数据库服务器19经由局部网络21而与多个客户机20相连。局部网络21转而经由一系列集线器22而与公司网络15相互连接。
最终,举例来说,远端客户机23可以经由一个互连网络24来远程访问企业数据仓库16以及工作组数据集市18,其中互联网络经由网关25而与公司网络15相耦合,所述互联网络可以是互联网。
操作数据存储器11的特点是在可用性为100%并确保响应时间(response times)的情况下具有高度易变性和变化。相反,响应于不同客户机20以及远端客户机23提出的特定(ad hoc)查询,企业数据仓库16将会执行灵活的操作。
企业数据仓库16保存的信息数据必须由检索自操作数据存储器11的生产数据周期性刷新。根据操作数据存储器11上的系统负载,在峰值运行时间检索生产数据很可能是不切实际的,并且最多只能在非高峰时间允许对生产数据进行检索。因此,日志监视器26可以间接更新信息数据,由此在操作数据存储器11与企业数据仓库16之间提供大粒度数据库的并发。
日志监视器26读取由事务服务器14产生并作为事务处理副产品的日志条目。如下文参考图3进一步描述的那样,通过把执行商业逻辑的选择标准应用于一个可以动态再定义的规则集而对单独的日志条目进行检索和分析。更新记录是从那些满足选择标准以便对企业数据仓库16中的信息数据进行更新的日志条目中产生的。
虽然,涉及已描述的实施例的包含操作数据存储器11、企业数据仓库16以及工作组数据集市18的数据库特定形式而被参考的,但是本领域技术人员将会了解,其他形式的结构化数据库也可用在这里所概述的通用参数和特性以内。此外还可以使用其他网状拓扑结构和系统配置。
单独的计算机系统包括生产系统12、事务服务器14、数据库服务器17、本地数据库服务器19、客户机20以及远端客户机23,这些计算机系统是通用的程序化数字计算设备,所述设备包括一个中央处理器(CPU)、随机存取存储器(RAM)、诸如硬盘或CD-ROM驱动器这样的非易失辅助存储器、网络接口以及外围设备,其中包括诸如键盘及显示器这样的用户接口装置。包含软件程序的程序代码以及数据被加载到RAM中,以便由CPU执行和处理,并且将会产生结果,以便进行显示、输出、传送或存储。
图2是显示现有技术中的多层数据库结构30的功能性框图。如John Wiley & Sons公司出版并由R.Orfali著述的“Client/ServerSurvival Guide”(1999年第三版)一书中的第12-13章所描述的那样,生产和信息数据库被构造成几个层,以便分配数据库更新和检索的工作量,其中该书的内容在此引入作为参考。事务服务器14服务于多个生产数据库13。在具有最大可用性的情况下,通过使用事务服务器14而将生产数据大量存入操作数据存储器11并从操作数据存储器中大量检索生产数据(步骤31)。
数据库服务器17周期性地“分接(tap)”那些来源于操作数据存储器11(步骤32)的信息数据。原始生产数据经过拷贝、提纯、净化而被转换成企业数据仓库16保持的信息数据。从操作数据存储器11中检索生产数据是通过一个周期性唤醒而把来源于操作数据存储器11的生产数据刷新到企业数据仓库16之中的预定循环处理来完成的,其中所述预定循环处理可以是一个计时程序(cronjob)。
将生产数据下载到企业数据仓库16的处理是非平凡性的,该处理需要负担计算、存储以及网络接口连接的资源。信息数据检索和转换执行了用于从操作数据存储器11中选择恰当数据值的商业逻辑。每个更新都有可能涉及大量的复制信息。
为了减轻操作数据存储器11上的负载,一系列专用数据集市是作为企业数据仓库16的一个子集来创建的(步骤33),举例来说,所述专用数据集市可以包括奖励数据集市(promotional datamart)34、关联数据集市(affinity datamart)35以及购物篮数据集市36。与企业数据仓库16相似,数据集市34-36必须由本地数据服务器19使用信息数据来进行周期性刷新。通过使用本地数据库服务器19,清除了一部分专用商务逻辑,其中所述商务逻辑是把信息数据进一步提炼成可以由决策支持及联机事务处理系统(未示出)使用的格式所必需的。
现有技术的方法通过分配和清除数据复制及处理操作而使决策支持及联机分析处理系统的需要与生产系统的自治运行保持平衡。然而,多层架构30对每个专用数据库需要的信息进行复制。此外,多层商业逻辑的实施需要对信息数据进行刷新和更新。这些层可能会包含重复查询。因此需要一种较少进行复制的解决方案。
图3是显示用于保持图1大粒度数据库并发的系统50的框图。该系统的核心功能是由日志监视器26执行的。源数据库51通常是一个操作数据存储器11(如图2所示)、也可以是一个企业数据仓库16或者工作组数据集市18,该数据库保存生产(或信息)数据。在把事务提交到源数据库51的时候,存储数据值将会发生变化。一旦提交,日志写入器53会产生一个日志条目并将其写入事务日志54,以便记录(journal)所处理的事件。如下文参考图4而进一步描述的那样,每个日志条目都包含事务数据,该数据识别了表、记录以及所执行的操作。日志写入器53“刷新”连续产生的一系列正在运行的事务日志52(TL)。
当日志写入器53将日志条目写入日志54时,日志监视器26把引入商业逻辑的选择标准应用于顺序记录的日志条目。
对于满足选择标准的每个日志条目而言,日志监视器26对来自源数据库51的生产(信息)数据进行检索,以便为目的数据库58产生更新记录57。由日志监视器26使用的选择标准是作为一个规则集58来执行的。该规则集把那些用于对影响到所关注生产数据的事务进行选择的商业逻辑引入一个决策支持或联机分析处理系统。此外,日志监视器26使用了描述目的数据库58所用模式的元数据56。
可以使用数据库建立工具59来动态地重新定义规则集55以及元数据56。适于在本发明中使用的一个数据库建立工具59的实例是Oracle Warehouse Builder产品,其是由加利福尼亚RedwoodShores的Oracle公司发放许可的。用户可以使用数据库建立工具59来重新定义商业逻辑和元数据。重新定义被定期转发到日志监视器26。规则集58中的单独规则将商业逻辑作为数据操纵语言(DML)的操作来加以执行。日志监视器26使用元数据56,以便将更新记录57构造成一种由目的数据库58中保存的表使用的格式。以下参考图7来对规则集55的结构进行更进一步的描述。
如下所述,元数据56优选包含四个成分。首先,元数据56描述了源数据库51和目的数据库58的架构。元数据56还包括了描述数据库链路及其他网络别名的网络信息。日志54还可以记载那些对在逻辑上加入的数据库而执行的事务,例如分布式数据库环境。此外,元数据56包含了作业控制及调度信息,该信息规定了所执行的商业逻辑相对于所记录的事务条目的执行频率。在所描述的实施例中,作业控制信息是在一种名为PL/SQL的更高级的数据库操纵语言中规定的。最后,元数据56包含了用于执行选择标准分析的实际源代码。对于生产(或信息)数据检索或恢复的其他形式的元数据也是可以使用的。
作为一种性能优化,日志监视器26还可以包含一个用于暂存(staging)信息的缓存区60,其所述信息包括日志条目和更新记录57。在所描述的实施例中,日志监视器26是作为一个与事务服务器14以及数据库服务器17、19分离的处理来执行的(如图1所示)。日志监视器26是根据一个处理步骤序列来运行的,以下将会参考图8而对此进行进一步的描述。
图4是显示图3系统50所使用的日志条目70的数据结构图。举例来说,每个日志条目70包含5个信息字段。时戳71记录了将相关事务提交到源数据库51的日期与时间。表格标识符72以及记录标识符73指明了事务提交所针对的源表及一个或多个记录条目。操作类型74标识了所提交的事务。最后,撤销(Undo)信息75可选地描述了应用于数据的实际改变,其中所述数据处于一种允许显示(unroll)所提交事务的格式。在所描述的实施例中,撤销信息75识别了相关记录的表空间内容与存储位置。在使用撤销信息75的情况下,所提交的事务可以显示,并且原始记录条目将会恢复。日志监视器26(如图3所示)还可以使用撤销信息75来确定相对于当前日志条目70而言,是否满足了规则集55中的选择标准。
图5是一个显示经由基于日志的事务监视而进行的信息数据库更新的处理流程图。当来自源数据库51的更新记录57进入目的数据库58时,数据将被更新。事务服务器92将所提交的事务91存入源数据库51。一旦提交了每个事务91,那么将会产生一个日志条目93,并且所述日志条目由一个日志写入器53(如图3所示)存入日志54。如在规则集55中执行的那样,日志监视器26将会应用商业逻辑94。满足选择标准的每个日志条目93都被用于产生一个更新记录95,该记录由数据库服务器96存入目的数据库58。
与现有技术中的多层数据库结构30(如图2所示)所使用的信息数据更新方法不同,本方法使用日志条目93来间接导出信息数据,从而产生更新记录95。日志条目93是作为事务服务器92的副产品而产生的。因此,更新记录95是以最小成本产生到事务服务器92的,由此消除了现有技术中的多层数据库层次所固有的数据和商业逻辑的重复。
图6是显示图3系统50的软件模块110的功能性框图。日志监视器26包含两个主模块一个评价模块111和一个记录生成模块112。评价模块111将日志53中的日志条目作为输入而进行接收。每个日志条目70(如图4所示)包含的事务数据是针对规则集55给出的选择标准来进行评估的。这些满足选择标准的日志条目113转发到记录生成模块112。在使用元数据56所保存的目的数据库58的模式描述的情况下,记录生成模块112创建更新记录57来更新目的数据库58。
在所描述的实施例中,更新记录57是经由文件传输处理来发送的,所述文件传输处理可以根据文件传送协议(FTP)或是相似的网络传输协议。如本领域已知的那样,日志监视器的每个模块都是一个计算机程序、进程或模块。其中源代码是以一种常规的程序设计语言来编写的,例如C++程序设计语言,并且每个模块都作为对象或字节代码而给出,以供CPU执行。源代码、对象以及字节代码的不同实施可以保存在计算机可读存储介质上,也可以包含在载波中的传输介质上。
图7是显示规则条目130的数据结构图。举例来说,每个规则130至少识别了选择标准所要应用的源数据库51内部的表格131。一组数据操纵语言(DML)语句132执行商业逻辑,由此表述选择标准。同样也可以包含一个阈值133,以使日志监视器26(如图3所示)能够基于预定约束条件来快速有效地过滤日志条目。并且其它规则格式也是可行的。
图8是根据本发明来保持大粒度数据库并发的方法150的流程图,其中日志监视器26结合了可以动态再定义的商业逻辑。在应用商业逻辑之前,日志监视器26预先打开日志文件54(方框151)。然后如下所述重复处理每个日志条目(如图4所示)。
在每个重复过程中,每个日志条目70首先由日志监视器26读取(方框152)。日志条目70将被评估,以便确定该条目是否描述了一个已提交事务91(如图5所示),其中所述事务对选择标准所应用的表格131(如图7所示)产生了影响(方框153)。如果日志条目70应用于一个所列举出的表格131(方框153),那么如在数据操纵语言程序132中执行的那样,该规则将被评估(方框154)。如果满足了该规则的选择标准(方框155),那么日志监视器26将会使用元数据56来产生一个更新记录57(方框156),并且这个更新记录将会发送到数据库58(方框157)。在存在更多日志条目70(方框158)的时候,重复的处理将会继续(方框152-158)。一旦处理了最后一个日志条目70(方框158),那么日志文件54将被关闭(方框159),程序将会终止。
虽然已经参考本发明实施例而特别显示了本发明并对其进行了描述,但是本领域技术人员将会理解,可以对本发明进行形式和细节上的前述及其他改变,而不脱离本发明的实质和范围。
权利要求
1.一种通过基于日志的事务监视来刷新信息数据库的系统(10),包括生产数据库(13),包括一个或多个表,每个表都保存了由事务处理系统(14)产生的生产数据的记录;日志写入器(53),其周期性的将日志条目(70)存入一个日志文件(54),其中至少一个日志条目(70)是为提交到所述生产数据库(13)的每个事务而产生的;信息数据库(58),包括一个或多个表,每个表都保存了信息数据记录,以供一个决策支持系统使用;以及日志监视器(26),其使用一个指定一种数据选择标准的规则集(55)来动态分析那些存入日志文件(54)的日志条目(70),并且把满足数据选择标准的生产数据所产生的更新记录(57)存入信息数据库(58)。
2.根据权利要求1所述的系统,还包括信息数据库(58)还包括描述信息数据库(58)结构的元数据(56);以及日志监视器(26),根据信息数据库的元数据(56)而将生产数据转换成更新记录(57)。
3.根据权利要求2所述的系统,还包括数据库构造器(59),其产生元数据(56)并从数据选择标准中定义规则集(55),其中所述数据选择标准是依照元数据(56)提供的结构来构造的。
4.根据权利要求3所述的系统,其中所述元数据(56)包括从以下组中选出的至少一个参数,所述组包括生产数据库(13)以及信息数据库(58)的架构,网络拓扑结构信息,作业控制信息以及用于执行数据选择的程序代码。
5.根据权利要求1所述的系统,还包括日志监视器(26),其在充分连续的基础之上将更新记录(57)存入信息数据库(58),以此作为生产数据库(13)的一致数据集。
6.根据权利要求1所述的系统,还包括日志监视器(26),其创建选自信息数据库(58)的至少一个记录表的复制品。
7.根据权利要求1所述的系统,还包括日志监视器(26),其在每次刷新信息数据库(58)时都使用更新记录(57)来执行作业控制。
8.根据权利要求1所述的系统,还包括日志监视器缓存区(60),其把日志监视(26)产生的更新记录(57)暂存为与信息数据库(58)共享的瞬态数据集。
9.一种通过基于日志的事务监视用于刷新信息数据库(58)的方法(150),包括保持一个包含了一个或多个表的生产数据库(13),其中每个表都保存了由事务处理系统(14)所产生的生产数据的记录;周期性的将日志条目(70)存入一个日志文件(54),其中至少一个日志条目(70)是为提交到生产数据库(13)的每个事务产生的;保持一个包括了一个或多个表的信息数据库(58),其中每个表都保存了信息数据记录,以供一个决策支持系统使用;以及使用一个指定一种数据选择标准的规则集(55)来动态分析那些存入日志文件(54)的日志条目(70),并且将那些由满足数据选择标准的生产数据产生的更新记录(57)存入信息数据库(58)。
10.根据权利要求9所述的方法,还包括将描述信息数据库(58)结构的元数据(56)存入信息数据库;以及根据关于信息数据库的元数据(56)而将生产数据转换成更新记录(57)。
11.根据权利要求10所述的方法,还包括产生元数据(56)并从数据选择标准中定义规则集(55),其中所述数据选择标准是依照元数据(56)提供的结构来构造的。
12.根据权利要求11所述的方法,其中所述元数据(56)包括从以下组中选出的至少一个参数,所述组包括生产数据库(13)以及信息数据库(58)的架构,网络拓扑结构信息,作业控制信息以及用于执行数据选择的程序代码。
13.根据权利要求9所述的方法,还包括在充分连续的基础之上将更新记录(57)存入信息数据库(58),以此作为生产数据库(13)的一致数据集。
14.根据权利要求9所述的方法,还包括创建选自信息数据库(58)的至少一个记录表的复制品。
15.根据权利要求9所述的方法,还包括在每次刷新信息数据库(58)时都使用更新记录(57)来执行作业控制。
16.根据权利要求9所述的方法,还包括把日志监视器(26)产生的更新记录(57)暂存为与信息数据库(58)共享的瞬态数据集。
17.一种计算机可读存储介质,其具有用于执行权利要求9的方法的代码。
18.一种用于在日志监视(26)装置结合了可动态再定义的商业逻辑(94)的情况下保持大粒度数据库并发的系统,包括源数据库引擎(12),其对一个源数据库(51)执行那些以一种数据操纵语言来进行表述的操作,其中至少一个操作构成了一个完成每个数据库事务的提交操作;数据库构造器(59),其定义了一个当前规则集(55),其中每个规则都包括商业逻辑(94),所述商业逻辑指定了源数据库所保存记录的一个数据选择标准;用于在日志(54)中为每个提交到源数据库的事务周期性产生一个日志条目(70)的装置(53),每个日志条目(70)都标识了一个受到影响的记录并包括事务数据;用于监视日志的装置(26),包括评估模块(111),其按照当前规则集(55)中规定的数据选择标准来对每个日志条目(70)所识别的事务进行评估;以及记录生成模块(112),其根据描述目的数据库(58)的元数据(56)来构造一个新记录(57),并且包括从满足选择标准的每个事务的日志条目(70)中选择事务数据;以及目的数据库引擎(96),其把新记录(57)存入目的数据库(58),其中目的数据库(58)中保存的数据包括源数据库(51)的至少一个局部子集。
19.根据权利要求18所述的系统,还包括数据库构造器(59),其动态地净化当前规则集(55),所述规则集包含商业逻辑(94),以便规定一个经过修订的数据选择标准。
20.根据权利要求18所述的系统,还包括目的数据库引擎创建一个由元数据(56)所规定的新的源数据库(51)。
21.根据权利要求18所述的系统,还包括一个临时数据存储器(60)缓存每个新记录。
22.根据权利要求18所述的系统,其中所述事务数据包括从以下组中选出的信息,所述组包括时戳(71),表标识符(72),记录标识符(73),操作类型(74)以及撤销信息(75)。
23.一种用于在日志监视器(26)结合了可动态再定义的商业逻辑(94)的情况下保持大粒度数据库并发的方法,包括对一个源数据库(51)执行以一种数据操纵语言来进行表述的操作,其中至少一个操作构成了一个完成每个数据库事务的提交操作;定义了一个当前规则集(55),其中每个规则都包括商业逻辑(94),所述商业逻辑指定了关于源数据库所保存记录的一个数据选择标准;在日志(54)中为每个提交到源数据库的事务周期性产生一个日志条目(70),每个日志条目(70)标识了一个受到影响的记录(73)并包括事务数据;依照当前规则集(55)中规定的数据选择标准来对每个日志条目(70)所标识的事务进行评估;根据描述目的数据库(58)的元数据(56)来构造一个新记录(57),包括从满足选择标准的每个事务的日志条目(70)中选择事务数据;以及把新记录(57)存入目的数据库(58),所述目的数据库(58)中保存的数据包括源数据库(51)的至少一个局部子集。
24.根据权利要求23所述的方法,还包括动态地净化当前规则集(55),所述规则集包含商业逻辑(94),以便规定一个经过修订的数据选择标准。
25.根据权利要求23所述的方法,还包括创建一个元数据(56)规定的新源数据库(51)。
26.根据权利要求23所述的方法,还包括在一个临时数据存储器中缓存每个新记录(57)。
27.根据权利要求23所述的方法,其中所述事务数据包括从以下组中选出的信息,所述组包括时戳(71),表标识符(72),记录标识符(73),操作类型(74)以及撤销信息(75)。
28.一种计算机可读存储介质,其具有用于执行权利要求23的方法的代码。
全文摘要
描述了一种在日志监视器(26)结合了可动态再定义的商业逻辑(94)的情况下保持大粒度数据库并发的系统(10)和方法(150)。以一种数据操纵语言表述的操作是针对一个源数据库(51)执行的。至少一个操作构成了完成每个数据库事务的提交操作。一个当前规则集(55)被定义。每个规则都包含商业逻辑(94),所述商业逻辑指定了源数据库所保存记录的数据选择标准。在日志(54)中为每个提交到源数据库(51)的事务周期性产生一个日志条目(70)。每个日志条目(70)都对一个受影响的记录进行标识并包含事务数据。每个日志条目(70)所标识的事务是依照当前规则集(55)指定的数据选择标准来进行评估的。根据那些对一个目的数据库(58)进行描述的元数据(56)来建立一个新记录(57)。这个新记录(57)包括从满足选择标准的每个事务的日志条目(70)中选择事务数据。新记录(57)将会存入目的数据库(58)。目的数据库(58)中保存的数据包括源数据库(51)的至少一个部分子集。
文档编号G06F17/30GK1535434SQ02806284
公开日2004年10月6日 申请日期2002年2月25日 优先权日2001年3月9日
发明者大卫·雷德, 大卫 雷德 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1