用于在确保一致数据视图的同时供应数据仓库的技术的制作方法

文档序号:6454294阅读:210来源:国知局
专利名称:用于在确保一致数据视图的同时供应数据仓库的技术的制作方法
技术领域
本发明总体涉及向数据仓库(也称为"数据存储器")供应交易 数据。具体地说,本发明针对一种供应技术,其确保数据仓库中所收 集的数据的一致视图。
背景技术
术语数据仓库通常指的是中央数据收集(通常是数据库),其内 容包括多个经常不同的数据源的数据。主要将数据从数据源拷贝到数 据仓库,并将其长期存储在数据仓库中,主要用于数据分析,并且用 于确保高级数据视图的目的。数据仓库的创建基于两个管理原则。首先,将数据从分布的、并 且经常不统一的结构化的数据库存合并到数据仓库中,以呈现数据的 可能的全局视图以及基于所述全局视图的高级评估。其次,数据仓库 的使用允许将用于操作问题(例如在短寿命交易的情形中)的那些数 据与为了进行报告、高级数据分析等#而在数据仓库中所使用的这些 数据分离。过去,数据仓库的供应通常基于周期(例如在月末的成批处理) 来实现。近年来,越来越多地出现偏离通常的供应方式,而朝着或多 或少实时地供应数据仓库的方式。这种发展的背景是许多部门需要 立即可用的数据收集,同时一方面保留操作(数据生成)系统的分离, 另一方面评估(数据收集)系统。现代的操作系统经常被设计为OLTP系统。术语OLTP (在线交 易处理)指的是用于基于交易的数据处理的方法。关于这一点,交易被理解为根据ACID概念而组合以形成不可分 的单元的一系列逻辑上相关的个体动作。交易的特征在于,这里所组 合的个体动作全部执行或完全不执行。此外,可以在不增加多个交易之间的交互的情况下并行地执行多个交易。因此,将每一个体交易与 其它交易"隔离"地实现。以交易范例为基础,确保OLTP系统的公共特性。这些公共特征 中的一个是OLTP系统具有多用户能力。在多用户操作的情形中,可 以由不同用户生成多个并行交易。OLTP系统具有这样的设计(至少 在用户的感知方面)实时地实现交易。此外,交易通常是短寿命、并 且标准化的,即,每一OLTP系统为不同应用提供至少一系列的预定 交易类型。属于交易的数据元素构成了逻辑单元,并且可以在单个数据记录 或互连的数据记录中对其进行处理。假设将与数据仓库有关的特定交 易的所有数据元素一起传送到数据仓库中,该数据仓库提供被包含在 其中的数据的视图,其与个体交易一致。尤其在周期性供应数据仓库 的情况下,可以没有困难地确保这种交易一致视图。然而,更多问题在于将交易数据(至少近似地)实时地提供给数据仓库的情况。在这种情况下,无论如何,由于属于特定交易的数据 元素经常穿过某些处理分支比通过其它处理分支更快速,因此如果在将属于特定交易的数据元素转交到数据仓库之前将其提供给并行处理 分支,则不再存在与交易有关的一致性。相应地,属于特定交易的数 据元素将在不同时刻到达数据仓库,这取决于所述数据元素各自经过 的处理分支。然而,将不再能够随时确保数据仓库所提供的数据的交易一致视图。为了解决这个问题,原则上,可以考虑基于交易来使得各个处理 分支中的处理操作彼此同步。然而,在实践中,已经发现,只能利用 相当大的资源输入来实现这种任务所需的同步机制。还可以考虑在数据库中(在离开并行处理分支的下游)收集属于 特定交易的数据元素,然后将所述数据元素全部传递到数据仓库中。 然而,尤其是在大公司(例如银行)的情况下,如果考虑经常要将每 秒超过几千个交易也拷贝到数据仓库,则对于在数据库级别集体传递 到数据仓库所必须的JOIN操作而言,需要大量计算资源。本发明基于提供一种用于向数据仓库连续供应交易数据的高效技术的目的, 一方面,可以在没有不相称的高技术资源输入的情况下 实现该技术,另一方面,该技术能够提供一致数据视图。发明内容根据第一方面,为了实现这一目的,提供了一种用于向数据仓库 供应在基于交易的处理的情形下生成的数据的系统,所述系统确保一 致的数据视图。该系统包括接口,用于接收数据元素,所述数据元 素被分配给各个交易,并且需要在传送到所述数据仓库之前进行处理; 处理控制组件,用于关于对于特定处理操作的分配来对接收到的数据 元素进行分析,以及用于控制接收到的数据元素对于关联的处理分支 的分布;至少一个第一缓冲存储器,被提供在处理控制组件的下游, 用于暂时存储分布后的数据元素,其中,给每一已存储的数据元素分 配时间控制信息;两个或更多个处理分支,在其中存在分别提供的处 理组件,处理组件用于对从所述至少一个第一缓冲存储器读出的数据 元素进行处理;至少一个模式控制设备,在第一模式下发起对数据元 素的处理,这一处理与所述时间控制信息无关,而在第二模式下提供 对特定数据元素的优先级化(prioritising)处理,这一处理基于时 间控制信息;以及传递组件,被部署在所述处理分支的下游,并且将 处理过的数据元素传递到所述数据仓库中。可选地,可以提供定时组 件,该定时组件提供时间控制信息。术语"上游"和"下游"通常与 数据元素从接收接口到数据仓库的流所定义的方向有关。通过所述至少一个模式控制设备,可以在第一模式下确保对所述 数据仓库的连续供应,同时,可以在第二模式下确保数据仓库在给定 时刻提供交易一致数据视图。确保所述交易一致数据视图在于基于 分配给数据元素的时间控制信息,使得可以对特定数据元素进行优先 级化,并且可以供应数据仓库。所述至少一个模式控制设备可以耦合到各个系统组件。例如,如 果至少一个模式控制设备耦合至处理组件,则所述模式控制设备可以 关于数据元素来控制所述处理组件的读出行为。这种概念的可能的实 现包括在所述第一模式下,处理组件自由选择所述至少一个缓冲存储器的读出的数据元素,而在所述第二模式下,所述处理组件有选择 地读出(并且处理)被分配的时间控制信息满足预定条件的数据元素。 用于接收数据元素的接口优选地耦合到操作系统。所述操作系统可以被实现为OLTP系统,以便给所述操作系统的用户提供实时服务。 而所述处理组件被部署在接口的下游,可选地可以在所述接口上游另 外提供交易控制组件。所述交易控制组件优选地是用于实时交易控制 的OLTP组件。可以关于OLTP系统的操作异步地执行所述接口下游的处理。具 体地说,所述异步性可以由所述数据元素的暂时存储引起。为了确保 数据元素的快速吞吐,同时连续供应数据仓库(至少在所述第一模式 下)而不管异步处理如何,可以根据直通(straight-through)处理 (STP)原理来实现各个处理分支中的处理。除了被便利地部署在所述处理控制组件与所述处理组件之间的所 述至少一个第一缓冲存储器之外,可以提供至少一个第二缓冲存储器, 以用于暂时存储处理过的数据元素。因此,在处理分支的下游提供第 二缓冲存储器,并且优选地在所述处理组件与所述传递组件之间。在 这种情况下,所述传递组件因此可以从所述至少一个第二缓冲存储器 移除处理过的数据元素,并且将它们传递到所述数据仓库。根据第一变体,给所有处理分支提供公共的第一缓冲存储器和/ 或公共的第二缓冲存储器。根据第二变体,给每一处理分支分配单独 的第一缓冲存储器和/或单独的第二缓冲存储器。可以将这两个变体组 合在一起,以便给系统的某些处理分支分配单独的缓冲存储器,而给 系统的其它处理分支分配公共的缓冲存储器。关于各个缓冲存储器的设计,存在多种可能性。因此,可以考虑 将第一缓冲存储器和/或第二缓冲存储器实现为队列。然而,也可以将 第一缓冲存储器和/或第二缓冲存储器实现为批处理文件。根据第三种 可能性,接口数据库运行为第一缓冲存储器和/或第二缓冲存储器。可 选地,可以将这三种可能性彼此组合。因此,例如,可以考虑在第一 模式下提供接口数据库或队列作为缓冲存储器,而在第二模式下使用 接口数据库和批处理文件的串行组合作为缓冲存储器。可以给所述至少一个第一缓冲存储器和/或第二缓冲存储器中的 数据元素分配状态信息。该状态信息可以指示数据元素的各种状态。 因此,可以考虑通过状态信息来标记数据元素的读出状态。例如,该 读出状态指示是否为了处理的目的而从第一缓冲存储器读出特定数据 元素,和/或是否为了传递到数据仓库的目的而从第二缓冲存储器读出 特定数据元素。除此之外,或者备选地,可以设想该状态信息指示特 定数据元素的处理状态(例如处理过/未处理)。可以给所述交易(即给逻辑上相关的处理)和/或数据元素分配数 字标识符。数字标识符可用于在所述至少一个第一缓冲存储器和/或第 二缓冲存储器中以排序方式(例如根据升序或降序的数字标识符)提 供数据元素。然后,例如使用该数字标识符作为数据库表的主密钥。可以使用并行处理技术来增加吞吐量。因此,可以设想每一处理 分支包括多个单独的处理线程。可以给每一处理分支的多个处理线程 分配公共的第一缓冲存储器和/或第二缓冲存储器。可以在不同点实现时间控制信息对于各个数据元素的分配。根据 第一变体, 一旦数据元素被传递到输入侧系统接口,则实现分配。根 据第二变体,在将分布后的数据元素传递到第一缓冲存储器之后,进 行分配。第三变体提供将处理控制组件耦合到定时组件,从而可以通 过处理控制组件,并且优选地在将数据元素传递到所述至少一个第一 缓冲存储器之前,实现所述分配。在多个第一缓冲存储器的情况下,可以利用简单的方式实现由处 理控制组件所执行的数据元素的分布,以便将待处理的数据元素传递 到被分配给属于所述数据元素的处理分支的第一缓冲存储器。另一方 面,如果给多个处理分支提供公共的缓冲存储器,则处理控制组件可 以给每一存储的数据元素分配指示特定处理分支的信息。关于所述交易和/或数据元素,交易控制组件可以具有验证功能。 输入侧验证确保了仅将无误差的交易和/或数据元素拷贝到数据仓库中。如果交易控制组件是OLTP组件,则在验证的情形下,方便地实 时地(至少在用户的感知方面)实现处理控制组件与交易控制组件之 间的通信。9根据另一方面,提供了一种用于在确保一致数据视图的同时向数 据仓库供应在基于交易的处理的情形下生成的数据的方法。该方法包 括接收数据元素,所述数据元素被分配给各个交易,并且需要在传 送到所述数据仓库之前进行处理;关于对于特定处理操作的分配对接 收到的数据元素进行分析,并且控制接收到的数据元素对于关联的处 理分支的分布;暂时存储分布后的数据元素,给每一已存储的数据元 素分配时间控制信息;在分别关联的处理分支中对暂时存储的数据元 素进行处理,其中,在第一模式下实现与所述时间控制信息无关的对 数据元素的处理,在第二模式下实现基于所述时间控制信息的对特定 数据元素的优先级化处理;以及将处理过的数据元素传递到所述数据 仓库。根据该方法的展开,在第二模式下,按照优先级对被分配的时间 控制信息不超过时间阈值的那些数据元素进行处理。这个方法确保了 优先处理"较早的"数据元素,并将其传递到数据仓库,同时可以推 迟对"较新的"数据元素的处理。在这种情况下,在切换到第二模式 之后的特定时间,假设不再有其它"更早的"数据元素正被暂时存储 和/或者处理。如果需要的话,可以通过检查分配给暂时存储的数据元 素的时间控制信息和/或状态信息来验证这种情况。因此,根据时间阈 值,使得交易一致数据视图对于数据仓库是可能的。换言之,可以实 现从第一模式到第二模式的切换,以确保一致数据视图。另一方面, 从第二模式到第一模式的切换可能有利于对数据仓库的连续供应。在 这种情况下,可以给数据仓库的连续供应赋予对于交易一致数据视图 的暂时优先级。根据第一选项,以受时间控制的方式来实现在第一模 式与第二模式之间的切换。然而,根据第二选项,所述切换也可以受 事件控制、受用户控制、或者以另外的方式来实现。这里所提出的用于供应数据仓库的技术的应用的优选领域是包括 过账操作在内的对数据元素的处理。因此,可以提供用于现金过账的 第一处理分支以及用于证券过账的第二处理分支。如果需要的话,可 以添加附加的处理分支。本发明可以利用硬件的形式、软件的形式或作为硬件/软件的组合来实现。根据软件方面,提供了一种计算机程序产品,其具有程序代 码手段,用于当在一个或更多个计算机上执行该计算机程序产品时实 现所述供应方法。可以将该计算机程序产品存储在计算机可读数据介 质上。


通过对优选示例性实施例的下列描述以及通过附图,公开本发明 的其他细节、优点和特征,在附图中图1示出了根据本发明的示例性实施例的用于供应数据仓库的方 法的流程图;图2示出了关于各个处理域的耦合的示意性框图;图3示出了根据本发明的供应系统的示例性实施例的示意性表示;图4示出了为数据元素而创建的数据记录的示意性表示;图5示出了根据本发明的供应系统的另一示例性实施例的示意性表示。
具体实施方式
下面将描述一些用于在确保一致数据视图的同时向数据仓库供 应在基于交易的处理的情形中生成的数据的优选实施例。所述实施例 可以彼此组合。图1在示意性流程图100中示出用于供应数据仓库的方法的实施例。在第一步骤102中,(例如根据ACID概念)接收被分配给各个交 易的数据元素。在这种情况下,可以只给单个交易分配单个数据元素 或备选地多个数据元素。在接下来的步骤104中,对于每一数据元素,确定对于特定处理 操作的各个分配。为此,可以对数据元素自身或分配给所述数据元素 的交易进行分析。如果给交易分配多个数据元素,则所述数据元素可 以经历相同的处理操作,或者,备选地经历不同的处理操作。在确定数据元素之间的分配以及处理操作之后,控制数据元素对于关联的处理分支的分布(步骤106)。每一处理分支包括特定处理操 作。各个处理分支本质上彼此并行操作,并且可以与不同的处理持续 时间相关联(并且因此还与不同的吞吐时间相关联)。因此,例如,如 果在不同处理分支中对属于特定交易的数据元素进行处理,则处理过 的数据元素将在不同时间离开处理分支。通常,可以通过不同方式来实现步骤106。因此,例如,可以考 虑实现分布后的控制,以便给每一数据元素分配分布信息。该分布信 息可以指示特定处理分支。在步骤108中,可以暂时缓冲链接到分布 信息的数据元素。根据另一实现,可以实现分布控制,以便在不同存 储区域中暂时缓冲(在步骤108中)数据元素,给每一存储区域分配 特定处理分支。给缓冲后的数据元素分配时间控制信息。例如,可以以时间戳的 形式来实现该时间控制信息。在步骤102、 104、 106或108之一中,方便地将时间控制信息分配给数据元素。在随后的步骤110,读出在步骤108所暂时缓冲的数据元素,以 用于在所分配的处理分支中进行处理。可以给读出和/或处理提供两个 或更多模式。该模式包括以下模式中的至少一个第一模式,在其中 实现与时间控制信息无关的对数据元素的处理;第二模式,在其中, 基于时间控制信息,按照优先级来处理特定数据元素。可以通过对特 定暂时存储的数据元素的读出操作进行优先级化,来实现已优先级化 的处理。在本示例性实施例中,以受时间控制的方式来实现第一模式 与第二模式之间的切换,以确保在预定时刻的一致数据视图。通过给属于单个交易的数据元素分配相同的时间控制信息(例 如,相同的时间戳),来方便地实现时间控制信息对于各个数据元素的 分配。在第二模式下,该过程支持对"合成整体"的数据元素的优选 处理,并且因此支持交易一致数据视图。在并行处理分支中处理了各个数据元素之后,在步骤112中实现 将处理过的数据元素传递到数据仓库的操作。接下来,参照图2解释实施例,图2以示意性形式示出将不同处理环境或处理域链接在一起。根据图2的系统200包括OLTP处理环境202,具有一个或更多 个操作数据库204;处理环境206,基于STP原理,并且具有一个或 更多个关联的数据库208;以及处理环境210,基于在线分析处理 (OLAP)的原理。OLAP处理环境210包括数据仓库212,其在本示 例性实施例中是数据库。处理控制组件214桥接OLTP处理环境202 和STP处理环境206。相应地,处理控制组件214既具有OLTP功能 又具有STP功能。下面参照根据图3的更详细的系统表示来更全面地 解释该情况。图3示出了用于生成交易数据的系统300的各个组件,系统300 在STP处理的情形下处理所生成的交易数据,并且将经STP处理的数 据供应给数据仓库。在处理环境(未在图3中突出显示的)中,提供多个用户终端302、 多个交易控制组件304和至少一个操作数据库组件306。通过用户终 端302与交易控制组件304之间的交互来发起、执行以及终止各个交 易。在这种情况下,交易控制组件304协调一致交易处理,并且在交 易的整个寿命期间负责特定交易。总是通知交易控制组件304关于特 定交易的当前状态。将每一已终止的交易拷贝到操作数据库组件306。可以通过用户终端302来发起各种交易类型。为每一交易类型提 供单独的交易控制组件304。从用户的角度来看,OLTP环境中的交 易被实时地执行。具有输入恻接口 308'的处理控制组件308延伸到OLTP处理环境 内,并且具有关于验证在交易的情形下生成的数据元素的功能。为此, 处理控制组件308与交易控制组件304进行实时通信。在否定验证的 事件中,这有可能向用户终端302呈现出在线通知。此外,由处理控 制组件308所执行的验证确保了仅向后续STP处理环境(未在图3中 突出显'示的)中的进一步处理供应肯定地验证过的数据元素。处理控制组件308的另一功能在于,将在OLTP处理环境中的数 据元素的基于交易的实时处理与位于处理控制组件308的下游的STP 环境中的数据元素的进一步处理分离。然后,关于OLTP环境中的实时处理而异步地实现在STP环境下的对数据元素的进一步处理。根据图3中的示例性实施例,STP环境包括两个并行处理分支 310、 312。在每一处理分支310、 312中提供具有关联的本地数据库的 处理组件314、 316。在示例性实施例中,两个处理分支310、 312中 的每一个包括作为缓冲存储器的所分配的输入侧接口数据库318、 320;以及所分配的输出侧接口数据库322、 324。在处理控制组件308 与每一处理分支310、 312的处理组件314、 316之间分别提供输入侧 接口数据库318、 320。反之,在各个处理分支310、 312的处理组件 314、 316与OLAP组件326之间提供输出侧接口数据库322、 324, OLAP组件326具有采取数据库328的形式的数据仓库。图3中所表示的系统300还包括定时组件330,提供时间控制 信息;以及模式控制设备332 (典型地实现为软件),被公共地分配给 各个处理分支310、 312。下面将更详细地解释模式控制设备332控制 被部署在处理分支310、 312中的处理组件314、 316。与图3所表示 的情形不同的是,可以将单独的模式控制设备分配给每一处理分支 310、 312。然后,可以关于模式改变而将各个模式控制设备彼此同步。 下面更全面地解释图3所表示的系统300的功能。 如果己经由处理控制组件308肯定地验证了针对特定交易待验证 的数据元素,则交易控制组件308关于各个数据元素类型分析属于特 定交易的所有数据元素。在本示例性实施例中,定义两个数据元素类 型。将第一数据元素类型分配给处理分支310以及处理组件314,将 第二数据元素类型分配给处理分支312以及处理组件316。在已由处理控制组件308识别了分配给特定数据元素的处理分支 310、 312之后,将各个数据元素传递到所分配的处理分支310、 312 的输入侧接口数据库318、 320。在将数据元素传递到关联的接口数据 库318、 320之前,处理控制组件308给数据元素分配釆取时间戳形式 的时间控制信息。交易控制组件308从定时组件330获得时间控制信 息。在示例性实施例中,实现时间控制信息的分配,以确保给特定交 易的所有数据元素分配相同的时间控制信息(相同的时间戳)。处理组件314、 316连续地读出(或以批处理的方式读出)接口数据库318、 320中所包含的数据元素,并根据各个处理分支310、 312 的条件对所述数据元素进行处理。根据模式控制设备332发信号通知 的读出模式来实现处理组件314、 318对数据元素的读出操作。在第一 读出模式下,处理组件314、 316关于可以从接口数据库318、 320读 出的数据元素具有特定的选择自由。这种选择的自由来源于以下事实 在读出操作中,处理组件314、 318忽略被分配给待读出的数据元素的 时间控制信息。另一方面,如果模式控制组件332发信号通知第二读 出模式,则处理组件314、 316从接口数据库318、 320独占地读出被 分配的时间控制信息满足预定时间条件的那些数据元素。该预定时间 条件可以类似地由模式控制设备332发信号通知。在所解释的示例性 实施例中,仅定义两个不同模式。然而,可以设想定义这两个模式之 外的其它模式。在实施例中,在第二模式下由模式控制设备332发信号通知时间 条件的目的在于,不能读出被分配的时间控制信息比预定时间阈值更 新的数据元素。利用这种方式,可以实现以下情况其中,在特定次 数的读出操作之后,输入侧接口数据库318、 320仅包含被分配了比时 间阈值更新的时间控制信息的数据元素。反之,由处理组件314、 316 按照优先级来对被分配了与时间阈值相对应的或比时间阈值更早的时 间控制信息的数据元素进行处理。按照这种方式,实现以下情况其 中,在特定时间间隔的期满之后,下游数据仓库328每一时间阈值提 供交易一致数据视图。在对从输入侧接口数据库318、 320读出的数据元素进行处理之 后,将由处理组件314、 318处理的数据元素传递到输出侧接口数据库 322、 324。此外,可以基于处理操作来更新处理组件314、 316的本地数据库。OLAP组件326连续地读出或者以批处理方式读出被传递到输出 侧接口数据库322、 324的处理过的数据元素,以便将处理过的数据元 素传递到数据仓库。可以针对结合图3所解释的各个处理操作来定义五个逻辑交易分 档。在图3中由虚线或点线矩形340、 342、 344、 346、 348来指示属于特定交易分档的组件或由这些组件所执行的步骤。每一交易分档指 示逻辑相关的一系列动作。如果这些动作中的一个在其执行期间暂停, 则将相同交易分档内的所有其它动作重置为其初始状态。在图4中示例性地表示针对特定数据元素的被传递到输出接口数 据库318、 320的数据记录400的结构。数据记录400包括数据元素的 数字标识符402,该标识符同时构成数据库表的主密钥。标识符402 可以是非再生整个系统的、并且是基于日期、时间和系统平台信息而 生成的标识符。标识符402可以唯一地标识特定交易,并且因此能够 将各个数据元素分配给特定交易。数据记录400附加地包括待由分别关联的处理组件314、 316处 理的数据元素的内容404以及时间控制信息406。时间控制信息406 是处理控制组件308基于由定时组件330所提供的信息而给出的。最后,针对输入侧接口数据库318、 320中的特定数据元素所创 建的数据记录400还包含至少一个状态字段408,在状态字段408中 是关于各个数据元素的跟踪状态信息。状态信息可以由处理控制组件 308、处理组件314、 316和/或OLAP组件326来跟踪。第一状态(或 第一状态字段)可以用于发信号通知(肯定地验证过的)数据元素从 交易控制组件304到处理控制组件308的传递。第二状态(或第二状 态字段)可以指示由处理组件314、 316中的一个来读出数据元素。最 后,第三状态(或第三状态字段)可以标记OLAP组件326对处理过 的数据元素的可接受性。也可以在输出侧接口数据库322、 324中提供具有图4所表示的 结构的数据记录。在这种情况下,内容404由处理过的数据元素内容 构成。如果需要的话,可以忽略时间控制信息406。可以通过一个表或多个相互关联的表而将数据记录400分别存储 在接口数据库318、 320、 322、 324中。采取具有状态"待处理"的表 行的形式,将每一数据记录便利地传递到各个数据库中。在读出时, 将状态更新为"已处理"。每一表行的主密钥包含数字标识符402。因 此,可以利用升序的标识符402来创建所述行(标识符不必是连续的)。以上所解释的状态概念使得读出处理组件314、 316或读出OLAP组件326能够确定是否己经读出了 (并且处理了)特定数据元素,或 者所述特定数据元素是否仍然待读出(并且待处理)。在上述第二模式 中,这允许验证是否已经将每一时间阈值的所有数据元素传递到数据 仓库328, g卩,数据仓库328此时是否提供交易一致数据视图。该状 态概念还有助于以下情况每一处理分支310、 312包括分别访问公共 输入侧接口数据库318、 320的多个并行处理线程。在根据图3的实施例中,接口数据库318、 320、 322、 324用于 缓冲处理组件314、 316的进一步处理之前和之后的数据元素。根据图 5所表示的系统500,在另一示例性实施例中,通过队列和/或批处理 文件来实现对数据元素的传递。在这种情况中,可以与接口数据库 318、 320、322、324并行地提供队列,或者将队列作为接口数据库318、 320、 322、 324的备选。这种情况适用于通过批处理文件传递数据元 素的操作。可以从接口数据库318、 320、 322、 324中分别读出数据元 素。然而,备选地,也可以通过批处理来读出传递到接口数据库318、 320、 322、 324内的数据元素。参照图1至图5所解释的实施例可以有利地应用于许多基于交易 的领域中。优选的应用领域是金融机构领域。现在示例性参照根据图 3的实施例,更全面地解释用于银行领域的示例性实施例的可能实现。在与银行领域有关的实施例的情形中,交易控制组件304正在预 订应用,该应用基于各个商业交易来协调交易的一致处理。为此,交 易控制组件304与用户终端302或与外部应用接口 (未示出)进行通 信。例如,可以第一交易控制组件304用于处理证券交易,同时第二 交易控制组件304可以处理帐户转帐。在针对业务往来的交易结束之 后,由操作数据库组件306来存储所述业务往来的相应数据。关于待执行的交易,处理控制组件308运行为中央验证点。关于 这一点,处理控制组件308根据预定验证规则来验证以过账形式接收 到的数据元素。然后,将验证后的过账转发到内部过账系统(未示出)。 还向处理分支310、 312供应过账的拷贝。在这种情况下,处理分支 310负责现金过账,而处理分支312负责证券过账。由处理组件314、 316来处理相应的过账操作,并在这些组件的本地数据库中对其进行管理。然后,将处理过的过账传递到数据仓库328内。在实施例中,每一数据元素要么是现金过账,要么是证券过账。 某些交易(例如,对于股票交易)既包括现金过账又包括证券过账, 而其它交易(例如,对于帐户转帐)通常仅包括现金过账。处理控制 组件304识别数据元素的类型,并根据验证的结果,将过账的拷贝转 发到用于现金的处理组件314或用于证券的处理组件316。在这种情 况下,使用上面已经解释的接口数据库318、 320、 322、 324 (和/或 队列和/或批处理文件)。在通过处理组件314、 316中的一个进行过账之后,通过以上所 解释的方式将相应处理过的过账转发到OLAP组件326,并且将其供 应给数据仓库328。 OLAP组件326包括基于数据仓库328的内容来 提供关于所有现有帐户的不同数据视图的应用。因此,OLAP组件(不 同于组件314和316)不是处理组件,而是收集组件。OLAP组件326 使得关于受管理的帐户并且关于帐户组来实现统一的数据视图。处理控制组件308从定时组件330获得时间控制信息,所述时间 控制信息采取过账日期的形式。传递到输出接口数据库318、 320的每 一过账与当前过账日期链接。在每一天的预定时刻(例如17:00点钟), 使当前过账日期("今天")进入下一过账日期("明天")。模式控制执行如下。在第一模式中,在白天期间,处理组件314、 316处理任意过账,而不管过账日期。在这种情况下,对输入侧接口 数据库318、320中所包含的过账的处理要么耦合至将新的过账传递到 数据库318、 320内,要么以批处理来实现。在每一天的特定时刻(例如20:00点钟),出现从第一模式到第二 模式的模式改变("一天的结束处理")。在一天结束处理期间,组件 314、 316读出并且仅处理具有17:00点钟(即"今天")过账日期之 前的输入日期的那些过账。然而,在第二模式下,处理组件314、 316 不读出(或者无论如何不处理)已经具有"明天"过账日期的其它过 账。 一旦(例如基于状态信息)确定了在接口数据库318、 320、 322、 324中没有具有"今天"过账日期的其它过账,则模式控制设备330 可以切换回到第一模式。如上已经示出的解释那样,示例性实施例有可能以不复杂的方式 在所要求的时刻呈现出数据仓库的内容的一致视图。对于本领域技术 人员而言,显而易见的是,在不背离所附权利要求所限定的本发明的 范围的情况下,可以对上述示例性实施例进行改动、补充和修改。
权利要求
1.一种系统,用于在确保一致数据视图的同时,向数据仓库供应在基于交易的处理的情形下生成的数据,所述系统包括-接口,用于接收数据元素,所述数据元素被分配给各个交易,并且需要在传送到所述数据仓库之前进行处理;-处理控制组件,用于确定所接收到的数据元素对于特定处理操作的各个分配,以及用于控制所接收到的数据元素对于关联的处理分支的分布;-至少一个第一缓冲存储器,被提供在所述处理控制组件的下游,用于暂时存储分布后的数据元素,其中,给每一个已存储的数据元素分配时间控制信息;-两个或更多个处理分支,在其中存在分别提供的处理组件,所述处理组件用于对从所述至少一个第一缓冲存储器读出的数据元素进行处理;-至少一个模式控制组件,在第一模式下,其发起与所述时间控制信息无关的对数据元素的处理,而在第二模式下,提供基于所述时间控制信息的对特定数据元素的优先级化处理;以及-传递组件,被部署在所述处理分支的下游,并且将处理过的数据元素传递给所述数据仓库。
2. 如权利要求1所述的系统,还包括至少一个第二缓冲存储器,被部署在所述处理分支的下游,用 于暂时存储所述处理过的数据元素。
3. 如权利要求1或2所述的系统,其中,给每一个处理分支分配单独的第一缓冲存储器和/或单独的第 二缓冲存储器。
4. 如权利要求1至3中的任意一项所述的系统,其中,所述第一缓冲存储器和/或第二缓冲存储器实现为队列。
5. 如权利要求1至4中的任意一项所述的系统,其中,所述第一缓冲存储器和/或第二缓冲存储器实现为批处理文件。
6. 如权利要求1至5中的任意一项所述的系统,其中, 所述第一缓冲存储器和/或第二缓冲存储器实现为接口数据库。
7. 如权利要求1至6中的任意一项所述的系统,其中, 给每一个处理分支的多个处理线程分配公共的第一缓冲存储器和/或第二缓冲存储器。
8. 如权利要求1至7中的任意一项所述的系统,其中, 给至少一个第一缓冲存储器和/或第二缓冲存储器中的数据元素分配状态信息,所述状态信息指示所述数据元素的读出状态。
9. 如权利要求1至8中的任意一项所述的系统,其中, 给至少一个第一缓冲存储器和/或第二缓冲存储器中的数据元素分配状态信息,所述状态信息指示所述数据元素的处理状态。
10. 如权利要求1至9中的任意一项所述的系统,其中, 给所述交易和/或所述数据元素分配数字标识符,并且将根据所述数字标识符排序后的所述数据元素包含在所述至少一个第一缓冲存 储器和/或第二缓冲存储器中。
11. 如权利要求1至10中的任意一项所述的系统,其中, 所述处理控制组件将所述时间控制信息分配给经由所述接口接收到的数据元素。
12. 如权利要求1至11中的任意一项所述的系统,还包括 至少一个交易控制组件,被部署在所述接口的上游,用于实时交易控制。
13. 如权利要求12所述的系统,其中,所述处理控制组件与所述交易控制组件进行实时通信,以验证 所述交易和/或所述数据元素。
14. 如权利要求1至13中的任意一项所述的系统,还包括 定时组件,用于提供时间控制信息。
15. —种方法,用于在确保一致数据视图的同时,向数据仓库供应在基于交易的处理的情形下生成的数据,所述方法包括-接收数据元素,所述数据元素被分配给各个交易,并且需要在传送到所述数据仓库之前进行处理;-确定所接收到的数据元素对于特定处理操作的各个分配,并且控制所接收到的数据元素对于关联的处理分支的分布;-暂时存储分布后的数据元素,其中,给每一个已存储的数据元素分配时间控制信息;-在分别关联的处理分支中对所述暂时存储的数据元素进行处理,其中,在第一模式下实现与所述时间控制信息无关的对所述数据元素的处理,而在第二模式下实现基于所述时间控制信息的对特定数据元素的优先级化处理;以及-将所述处理过的数据元素传递给所述数据仓库。
16. 如权利要求15所述的方法,其中,在所述第二模式下,按照优先级对被分配的时间控制信息不超 过时间阈值的那些数据元素进行处理。
17. 如权利要求15或16所述的方法,其中, 实现从所述第一模式到所述第二模式的切换,以确保一致数据视图。
18. 如权利要求15至16中的任意一项所述的方法,其中, 实现从所述第二模式到所述第一模式的切换,以确保所述数据仓库的连续供应。
19. 如权利要求17或18所述的方法,其中,利用受时间控制的方式来实现在所述第一模式与所述第二模式 之间的切换。
20. 如权利要求15至16中的任意一项所述的方法,其中, 根据直通处理的原理来实现所述处理分支中的所述处理。
21. 如权利要求15至20中的任意一项所述的方法,其中, 对数据元素的所述处理包括过账操作。
22. —种计算机程序产品,具有程序代码手段,所述程序代码手 段用于当在一个或更多个计算机上执行所述计算机程序产品时实现如 权利要求15至20中的任意一项所述的方法。
23. 如权利要求21所述的计算机程序产品,被存储在计算机可 读数据介质上。
全文摘要
描述了一种用于在确保一致数据视图的同时供应数据仓库的技术。所述系统包括接口,用于接收数据元素,所述数据元素被分配给各个交易,并且需要在传送到所述数据仓库之前进行处理。还提供了一种处理控制组件,用于关于对于特定处理操作的各个分配而对数据元素进行分析,以及用于控制所述数据元素对于关联的处理分支的分布。将至少一个第一缓冲存储器部署在所述处理控制组件的下游,以用于暂时存储分布后的数据元素,给每一已存储的数据元素分配时间控制信息。通过两个或更多并行处理分支来对从所述至少一个缓冲存储器读出的数据元素进行处理,在第一模式下实现与所述时间控制信息无关的对数据元素的处理,在第二模式下提供基于所述时间控制信息的对特定数据元素的优先级化处理。将传递组件部署在所述处理分支的下游,传递组件将处理过的数据元素传递给所述数据仓库。
文档编号G06F17/30GK101405730SQ200780010118
公开日2009年4月8日 申请日期2007年1月12日 优先权日2006年1月20日
发明者丹尼尔·帕努萨特, 汉斯贝特·洛克 申请人:瑞士银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1