CN101784988B - 用以提高事务处理吞吐量的事务聚集 - Google Patents
用以提高事务处理吞吐量的事务聚集 Download PDFInfo
- Publication number
- CN101784988B CN101784988B CN200880104010.2A CN200880104010A CN101784988B CN 101784988 B CN101784988 B CN 101784988B CN 200880104010 A CN200880104010 A CN 200880104010A CN 101784988 B CN101784988 B CN 101784988B
- Authority
- CN
- China
- Prior art keywords
- affairs
- gathering
- transaction
- transaction item
- item
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/506—Constraint
Abstract
本发明提供了一种用于提高事务处理吞吐量的技术。获取具有消息标识符和会话标识符的事务项。将事务项添加到聚集事务列表中的、其中没有其他事务项具有相同会话标识符的最早聚集事务。执行聚集事务列表中满足执行标准的第一聚集事务。响应于确定聚集事务没有提交,将聚集事务分解为多个较小的聚集事务,以及基于系统吞吐量的测量来调节每个聚集事务的目标大小。
Description
技术领域
本发明的实施方式涉及自动用以提高事务处理吞吐量的事务聚集。
背景技术
数据流编程也称为基于流的编程(FBP),它是一种已被用于简单且有效地表示高容量批量数据处理的技术:简单是因为逻辑是自然捕获的;有效是因为并行和流水线并行处理都能够用于增加吞吐量。然而,这些相同的基于流的编程技术却很少被公认为是用于在线和事务处理应用的表现的手段。
基于流的事务处理(FBTP)描述了用于创建高性能事务处理系统的基于流的应用开发技术。客户期望扩展FBP系统(例如,国际商业机器公司的DataStage产品)的功能,以涵盖事务处理。客户从所得系统的高性能以及使用通用图形开发工具在事务处理和高容量批量数据处理之间共享业务逻辑的能力这二者中获得价值。
发明内容
本发明提供了用于增加事务处理吞吐量的方法、计算机程序产品、计算机程序以及系统。获取具有消息标识符和会话标识符的事务项。将该事务项添加到聚集事务列表中的、其中没有其他事务项具有相同会话标识符的最早聚集事务。执行所述聚集事务列表中满足执行标准的第一聚集事务。响应于确定聚集事务没有提交,将所述聚集事务分解为多个较小的聚集事务,并且基于系统吞吐量的测量来调节每个聚集事务的目标大小。
附图说明
现在将仅通过示例的方式并参考以下附图描述本发明的优选实施方式:
图1示出了根据某些实施方式的计算设备的细节。
图2示出了根据某些实施方式的具有事务处理的数据流图。
图3示出了根据某些实施方式的具有提交和错误处理的数据流图。
图4示出了根据某些实施方式的具有有害队列的数据流图。
图5示出了根据某些实施方式的事务处理阶段的列表。
图6示出了根据某些实施方式的聚集事务的处理的数据流图。
图7示出了根据某些实施方式的流水线安全概念的数据流框图。
图8示出了根据某些实施方式的并行性使用的示意图。
图9A、图9B和图9C示出了根据某些实施方式的逻辑。
图10示出了根据某些实施方式的可以使用的系统架构。
(相同的参考标号始终表示相应的部分)
具体实施方式
在以下的描述中参考构成描述一部分的附图,其示出了本发明的若干实施方式。可以理解,可以在不脱离本发明范围的情况下使用其他实施方式,并且可以进行结构上和操作上的改变。
实施方式允许创建和部署事务处理系统,在其中个体事务能够聚集为较大的事务,其聚集方式使系统行为仍然是正确的,但是平均事务大小可以较大。这可以通过分摊对相关联事务资源(例如,数据库、排队系统、事务文件系统等等)进行大量改变所需的事务协调成本,来改进整个系统的吞吐量。这些成本在分布式事务协调环境中可能会特别高。
实施方式提供了以自动化方式聚集事务以减小开销的自适应逻辑,这在吞吐量提高时增加大小,并且在吞吐量受到负面影响的情况下自动地减小大小。
实施方式将事务处理系统表示为数据流网络,或使用等同的基于数据流的编程语言。实施方式还依赖于数据分离属性的标识,其允许确定何时可以进行事务聚集。在某些实施方式中,数据分离属性可以与用来表示批量类型数据流系统中并行性的可能性的属性相同。另外,数据流网络的面向集合(set-oriented)的性质支持自动聚集的进行。
图1示出了根据某些实施方式的计算设备的细节。客户端计算机100通过通信路径190连接到服务器计算机120。客户端计算机100包括一个或多个客户端应用110。
服务器计算机120包括事务聚集调节(TAA)系统130、调节数据140(例如系统吞吐量的测量)、聚集事务列表150以及一个或多个服务器应用160。服务器计算机120为客户端计算机100提供对数据存储170中数据的访问。
客户端计算机100和服务器计算机120可以包括本领域已知的任何计算设备,例如服务器、主机(mainframe)、工作站、个人计算机、手持式计算机、膝上型电话设备、网络设备、计算机集群等等。
通信路径190可以包括任何类型的网络,例如,端对端网络、星型网络、存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、因特网、内联网等等。
数据存储170可以包括存储设备阵列,例如直接访问存储设备(DASD)、磁盘束(JBOD)、独立磁盘冗余阵列(RAID)、虚拟化设备等等。
过程可以描述为数据流图。过程可以包括以下部分:数据流图、操作符以及弧(arc)。数据流图可以描述为有向图,其中图的顶点/框称为操作符,并且弧描述数据的有向流动。数据流图将数据描述为从各数据源通过不同的操作符流向各数据目标的数据流。可以根据数据流编程语言来绘制或创建数据流图。操作符能够从外部源读取数据,向外部源写入数据,和/或在这样做时应用数据变换。一般地,操作能够消耗来自每个传入弧的数据,并且能够在每个传出弧上产生数据。在通常的数据流过程编辑工具中,提供有多种操作符作为内置操作符,以提供通用数据访问和变换,而其他操作符能够由用户创建并容易地集成到系统中。弧表示两个相连接操作符之间的数据流。弧表现为先进先出(FIFO)队列。也即,弧上的数据项不能彼此超越。它们以其进入的顺序离开弧。
连续过程可以描述为从连续数据源(即,连续地提供数据的数据源)进行读取并在输入数据变为可用时产生对应于输入数据的结果数据的过程。
事务过程是连续过程,其从作为其数据源的事务源进行读取,并向作为其目标的事务数据源进行写入。典型的情况是从消息队列进行读取,并向一个或多个数据库系统中的一个或多个数据库表进行写入,以及向输出消息队列和事务文件系统进行写入。
为了说明方便,假设事务过程具有单个输入操作符。需要注意的是,作为输入的多个操作符可以预先合并为单个馈送。
图2示出了根据某些实施方式的事务过程的数据流图200。在图2中,消息队列get(获得)方法(MQ获得)从消息队列获取消息。查找框在表中执行查找。变换框(xform)变换数据。关系数据库管理系统(RDBMS)对表进行插入、更新以及删除对表执行的这些动作。消息队列put(放置)方法(MQ放置)将消息放置到消息队列中。
每个数据项从称为事务项的输入中读取。每个事务项具有会话标识符(SID)以及用于描述事务内容的任何其他数据。当两个事务项携带相同的SID时,这意味着它们将在分离的事务中被处理,并且这些事务按照事务项到达的顺序来执行。每个事务项还携带有消息标识符(MID),其对于具有相同SID的所有事务而言是唯一的。两个具有不同SID值的事务项能够作为相同事务的部分或者作为分离事务的部分来一起处理,并且其处理顺序无关紧要。
在某些实施方式中,SID是与输入消息相关联的令牌,其关联方式使得具有不同SID的任何两个消息能够并行处理。在实践中,这是通过标识不能并行处理的消息集合以及将相同的SID与相同集合中的所有消息进行关联来实现的。在某些实施方式中,SID是消息的一部分(例如,账号或客户号可以标识会话,或者浏览器cookie值可以是因特网应用(例如,在线购物)的SID)。
在某些实施方式中,MID是与输入消息相关联的令牌,其唯一地标识该输入消息,即使该输入消息与其他消息相结合作为一个事务实现的部分来执行。如果消息负载中没有固有的MID,则可以为MID指派来自基于消息进入输入队列的到达顺序的计数器的整数。
在某些实施方式中,消息标识符在SID内是唯一的,使得SID+MID共同形成消息的唯一ID。实施方式使用该唯一的ID以应对故障。在处理中,输入队列处的一个传入消息在其处理期间可以在处理流中产生多个记录(例如,显示我的所有账户余额)。由于一个传入请求消息,大约每6个账户创建一个记录。这6个记录将在整个数据流图中移动,并且可以分离并由各操作符独立地处理。所有这些记录携带与传入请求消息相同的MID和SID。由此,如果这些记录中的任何一个出现任何问题,则可以通过唯一识别消息的SID+MID将“过失(blame)”置于特定的传入消息上。
即使没有输入消息的任何排序要求,实施方式仍然适用于系统。仅为了增强理解,此处提供了一个简单的银行ATM示例。(需要注意的是,为了此处说明的目的,这是一个高度简化的示例。真实的ATM网络远比其复杂。)假设存在一个银行ATM机的网络。一个ATM机处的每个人在ATM机处创建与其个人会话相关的消息。这些消息必须按顺序处理,并且因此必须携带相同的SID。但是来自多个ATM机的消息流在其最终进入应用的输入队列时是交错的。因为每个ATM机每次只能服务一位顾客,所以实施方式可以使用ATM机的ID作为SID。
图3示出了根据某些实施方式的具有提交和错误处理的数据流图300。在事务过程期间,收集错误,并且生成错误原因文件,其被转发到提交块。在提交块中,如果没有不可接受的错误,则提交事务处理(即,提交块可以确定虽然有错误,但仍然应当进行提交)。
图4示出了根据某些实施方式的具有有害队列的数据流图400。事务过程还具有相关联的有害或拒绝队列。有害队列可以描述为放置有害事务项的队列。有害事务项是不能成功处理的事务项。也就是说在“MQ获取”之后一直到(并且包括)“交付”所尝试的用于处理该事物项的所有资源活动由于错误而失败,或总是提交失败(潜在地,即使是在一定数目的重复尝试之后)。
在图4中,事务流包括:主要计划或“计划A”,其是预期的处理流;以及备选计划或“计划B”,其将不能处理的事务放置到有害或拒绝队列中。
在任意给定时刻,事务过程具有与输入中可用于处理的不同的并发会话标识符(SID)的数目成比例的可用并行性。每个会话事务项顺序地处理,但是会话之间存在并行性。这是应用服务器和其他事务处理环境所频繁表现出的并发。
在某些实施方式中,可以通过对可用并行性与事务粒度进行权衡来提高性能。如果具有足够的过量并行性可用,则可以聚集来自不同会话的事务以减少开销,同时仍然具有足够的并行性以用于高性能执行。
图5示出了根据某些实施方式的事务处理阶段的列表。事务处理包括聚集阶段510、计算阶段512、提交阶段514、具有错误原因的解聚集阶段516以及没有错误原因的解聚集阶段518。
在聚集阶段510,在从诸如队列的事务资源中读取事务项时,启动用于确定事务是否能够与其他事务项聚集为较大事务的逻辑。
维护聚集事务的列表。列表中的顺序是待处理的事务聚集的顺序。传入事务项被添加到尚未包含具有相同SID的事务的第一个聚集事务中。
图6示出了根据某些实施方式的具有聚集事务的处理的数据流图600。在满足执行标准(例如,定时器超时或聚集事务的大小到达目标大小)时,列表中的第一个聚集事务被移除,并沿数据流发送,以便在计算阶段514中进行处理。聚集事务的数据(即,组成聚集事务的事务项)被发送到数据流图中,每次发送一个事务项。聚集的最后一个事务项之后跟随工作单元结束(也称为“波”)标记。波标记可以描述为去往作为事务边界的阶段的信号,例如,它是去往图6中的RDBMS插入和RDBMS删除从而进行提交的信号。由此,波标记可以描述为信号通知其在计算中所跟随的、聚集事务的计算阶段的结束。
聚集阶段510中聚集事务的建立可以与在前聚集事务的计算阶段512并行继续。
上文提到的并行标准可以包括:定时器超时(以限定事务执行时延)以及聚集事务的大小达到目标大小。
适应性地选择聚集事务的目标大小。针对每个正在处理的聚集事务测量系统吞吐量。只要事务吞吐量提高,便增加目标大小。当事务吞吐量降低时,减小目标大小。具有多种技术用于避免目标大小的激烈振荡,包括基于移动平均对其进行调节、添加随机噪声因子等等。实施方式包括所有这些调节技术。
在某些实施方式中存在优化,其中聚集事务的列表中的第一列表项不会被阻止。第一列表项不需要添加到聚集事务的列表中(例如,因为波标记确保所有列表项都会得到处理和提交),但是可以直接发送到流中。当波标记已经流过过程的弧并且终端操作符已经完成该工作单位的计算时,则认为已经针对该聚集事务完成了计算。
在某些实施方式中,具有相同SID的不止一个记录不放置在聚集中,这是因为假设数据流处理下游不会在单个事务中发生,并且可以使用流水线处理;因此,副作用的顺序一致性没有保证。如果数据流处理下游提供顺序一致性(例如,没有流水线,并且仅有一个数据库连接,因为其全部是一个过程),则实施方式相应地改变聚集逻辑。具体地,实施方式改变聚集逻辑以允许具有相同SID的不止一个记录放置到聚集中,因为数据完整性本质上由顺序处理来维护。
图7示出了根据某些实施方式的具有流水线安全概念的数据流图700。在某些实施方式中,如果数据流没有参考(即,查找)本身也被更新的任何资源,则数据流称为流水线安全的。在该情形中,实施方式能够将具有相同SID的多个事务项聚集到一个聚集事务中,只要这些具有相同SID的多个项按照到达的顺序处理,就不会影响应用的语义。另外,实施方式可以将组成聚集事务的个体事务项流水线化到数据流执行过程中,这允许对流水线并行性的扩展使用以改进性能。另外,实施方式不需要建立第一聚集事务集合。相反,该第一集合能够虚拟地存在。针对第一聚集事务集合而标识的每个项能够直接被发送到流图中。在满足上述“执行标准”时,实施方式可以将工作单元结束标记放置到流图中,并开始对来自紧跟其后的下一聚集事务集合中的项进行流水线化。实施方式保证:在先前的聚集事务完全提交(即,包括所有事务,包括由稍后描述的解聚集所创建的那些事务)之前,不会提交后续聚集事务。
在某些实施方式中,如果数据流不是流水线安全的,则实施方式:(a)逐个处理通过整个数据流的聚集事务的事务项,但是保留计算阶段512之后的任何提交,或者(b)分离聚集事务以使得没有具有相同SID的两个事务项进入相同的聚集事务集合。因为聚集事务集合被逐个处理(包括其最终提交),所以这保证了过程语义的保持。
在某些实施方式中,流水线安全例如表示:数据流可以在表Y中查找账号X,继而使用结果来更新表Z。表是分离的,所以在查找和更新之间没有依赖关系;因此,实施方式可以在不发生任何语义改变的情况下将进入流的请求流水线化。在流的操作符之间可以存在任何类型的缓冲区,并且不影响语义。在某些实施方式中,执行所有的查找,然后执行所有的更新,在某些实施方式中,查找和更新是交错的。
流水线安全还表示:数据流可以在表Y中查找账号X,然后针对账号X在特定行更新表Y,只要已知流水线中没有别处携带账号X。在这种情况下,表不是分离的,但是已知行是分离的。
流水线不安全意味着:数据流可以在表Y中查找账号X,然后使用一些结果更新表Y,但是实施方式无法知道该更新是否是针对将由后续记录在后续查找中进行查找的记录。查找是或可以是针对相同的记录。在这种情况下,将数据流的输入消息流水线化是不安全的,因为更新和查找将如何交错是未知的,并且不同的交错可能产生不同的语义。例如,设想所有的输入消息携带相同的账号X。如果在表Y中首先执行所有的查找,然后执行所有的更新,结果可能与查找和更新交错的情况明显不同。
由此,在给出通过对数据流图的分析而获取的数据流及其操作符属性的有关知识的情况下,实施方式在实现时可以主动进行并行/重叠。
在计算阶段512,在通过数据流处理聚集事务时,个体事务流过操作符的图,通过图的路径最终由工作单元结束标记遍历,该标记分开并连接,以跟随通过图的路径,从而保证图是空的并且可以检测到处理的结束。该波特征在2005年4月21日公开的美国专利申请No.20050086360中进行了描述,在此通过参考引入其全部内容。
在数据流图上流动的每个数据项携带导致其创建的原始事务的会话标识符(SID)和消息标识符;因此,如果单个传入事务项导致数据流图创建了以某些变换逻辑或目标资源为目的地的多个数据项,则这些数据项中的每一个携带来自该记录的SID和MID。
未决聚集事务包括在聚集事务的处理期间由过程表示的更新、插入、删除、入队和出队等。一旦数据流图已经完成聚集事务的处理,则实施方式尝试提交未决聚集事务。
如果在计算阶段期间检测到错误,例如,SQL数据库操作失败,或变换计算除以零,则从导致错误的数据项中提取MID。如果检测到多个错误,则可能存在表示导致错误的事务项集合的MID的汇集。这些MID称为错误原因,并且其将在下文描述的解聚集阶段516中被使用。一旦错误原因中出现了至少一个错误MID,则计算阶段可以立即结束。备选地,可以收集错误原因MID的全集,或者一旦错误原因中发现某个数目的MID,则计算阶段512立即结束。此处可以使用多种决策。例如,错误可能导致全部或部分事务(坏MID)被引导至解聚集阶段516。
一旦计算阶段结束,如果没有错误原因,则实施方式执行提交阶段514。如果存在错误原因,则实施方式立即转到解聚集阶段516。
如果存在提交,则提交未决聚集事务。如果提交成功,则这完成了聚集事务中所有事务的处理,并且实施方式返回聚集阶段510,以标识和开始另一聚集事务的处理。
如果提交失败,则针对资源的活动的所有副作用自动回滚(通常是针对事务资源)。
在某些实施方式中,可以通过浏览聚集阶段510期间的输入队列以及在其余更新操作成功时执行破坏性的出队操作,来将事务的开始延缓到最后的可能时刻。也即,实施方式刚好在提交操作之前执行破坏性的出队操作。在给定的特定聚集粒度下,这将保持事务“开放时间”尽可能小。破坏性出队操作(也称为破坏性读取)是从队列中读取并删除消息的操作,不同于读取但不删除消息的浏览。
在具有错误原因的解聚集阶段516,如果存在已经标识的错误原因,则实施方式将聚集事务划分为多个更小的聚集事务,以使得每个新的聚集事务仅包含具有最多一个错误原因中的MID的事务项。在某些实施方式中,攻击型(offending)导致错误的事务项被隔离在其自身的“聚集”事务中,每个这样“聚集”事务包含恰好一个事务项。然后实施方式以与上述相同的方式处理这些新聚集事务中的每一个,如同这些新聚集事务是起初流出聚集操作符的聚集事务一样。
在一定量的解聚集之后,作为错误原因的个体事务项自己组成了“聚集”事务。在这种情况下,实施方式已经进行了尽可能多的解聚集,并且事务项仍然导致失败。在某些实施方式中,事务项在流中重试一定的次数,并且一旦事务项被发现以错误原因结束达某个次数,则该事务项被作为有害数据而被拒绝。有害数据事务被放置到有害数据队列中,并且执行包括将该事务从传入队列中出队以及将其入队到有害队列中的事务。该事务不应当失败,但是,如果该事务确实失败了,则确定系统已经崩溃。
在没有错误原因的解聚集阶段518,如果没有错误原因,则系统可能由于瞬态问题或资源耗尽而未能提交未决聚集事务,因为聚集事务确实过大。在这种情况下,实施方式通过将聚集事务分为一定数目的较小聚集事务来解聚集(例如,事务可以分成两半,分解为个体事务项,等等)。然后实施方式以与上述相同的方式处理这些新聚集事务中的每一个,如同这些新聚集事务是最初流出聚集操作符的聚集事务一样。如果未能提交的聚集事务包括一个事务项,则实施方式将该聚集事务作为有害数据来处理。
在某些实施方式中,在将有害数据队列用于数据项时,第二事务是可用的。该有害队列可以馈送到具有不同逻辑的备选事务处理数据流图中。该第二图试图不同地处理项,并试图提交针对资源的不同活动。虽然事务项对于初始处理流是有害的,但是事务项仍然可能由第二处理流成功处理。第二流甚至可以重新聚集事务,并且以其他方式使用此处针对基本事务的聚集系统所描述的相同技术。第二流可以依赖于拒绝原因的性质。例如,因无效名称和地址数据而被拒绝的MIDS可以在第二流中清理并重新处理,而因无效数值数据而被拒绝的MIDS可以发送回源,以便在第二流中修复。在某些实施方式中,可以具有这类流逻辑的任意长度的链,每个流逻辑消耗来自之前流(例如,初始流、第二流、第三流等等)的拒绝。
图8示出了根据某些实施方式的使用并行性的示意图800。实施方式可以通过在聚集阶段之前执行分裂阶段来并行执行上述技术。分裂阶段通过保证具有相同SID的所有事务项最终处于相同的分区中的任何逻辑将传入事务项划分为分区。然后每个分区是对来自前面聚集以上处理的分离实例的输入。在某些实施方式中,所有分区可以使用公共有害数据队列。此类并行性将SID上的散列函数用于分裂。散列分区函数保证具有相同关键字的记录将流入相同的分区。
TAA系统130自动地基于系统吞吐量的测量来调节由聚集阶段510所创建的聚集事务的目标大小。因为解聚集和重试循环可能降低系统吞吐量,所以TAA系统130自动地将目标大小变小,以使得目标聚集大小选择为使其尽可能大,但是:没有大到可能包含有害事务项,并且没有大到可能由于瞬态原因或资源限制原因而失败。
在某些实施方式中,聚集产生死锁,并且解聚集能够清除不会在非聚集执行中发生的任何死锁。基于吞吐量的聚集大小的适应性调节避免了使这个问题非常严重以至于减慢整个系统性能。死锁和超时在重负载下最为频繁地发生。重负载能够由大事务或多个小事务的开销引起。调节事务大小可以改进整个系统的性能,从而降低死锁的可能性。
实施方式表示处理逻辑,使得处理逻辑能够应用于聚集事务的集合,其中聚集考虑到了具有相同SID的事务的FIFO处理的需要。在某些实施方式中,处理逻辑使用数据流技术来表示,其附加的有益效果是:在可能时并行性(分区和流水线二者)可以与自动事务聚集结合使用。
图9A、图9B和图9C示出了根据某些实施方式的逻辑。控制开始于块900(图9A),TAA系统130获取具有消息标识符(MID)和会话标识符(SID)的事务项。在块902中,TAA系统130将事务项添加到其中没有其他事务项具有相同SID的最早的聚集事务(即,以聚集事务列表150的顺序)。在块904中,TAA系统130确定聚集事务列表150中的第一聚集事务是否满足执行标准(例如定时器超时、聚集事务的大小到达目标大小,或者由以下所述的解聚集(图9中的916、924)创建)。如果满足执行标准,处理继续到块906,否则,处理转回块900。
在块906中,TAA系统130将满足执行标准的第一聚集事务沿数据流执行过程发送,将其从聚集事务列表150中移除。在块908中,一旦聚集事务已经完成了通过数据流,则TAA系统130确定是否提交。在某些实施方式中,TAA系统130依靠波标记,其跟随在事务中的所有记录之后,以得知何时开始提交阶段。如果提交,处理继续到块910,否则,处理继续到块912(图9B)。在块910中,TAA系统130提交聚集事务。在块911中,TAA系统130基于系统吞吐量的测量来调节聚集事务的目标大小,并且处理转回块904。
在块912中,TAA系统130确定是否存在可获得的错误原因。如果存在,处理继续到块914,否则,处理继续到块922(图9C)。在块914中,TAA系统130确定是否执行解聚集。例如,TAA系统130确定是否已经对聚集事务执行了多次解聚集。在某些实施方式中,这是可能的,因为第三解聚集过程知道其重新处理的消息已经被拒绝,或坏消息可能带有重试计数的标签。如果要执行解聚集,处理继续到块916,否则处理继续到块926(图9C)。在块916中,TAA系统130将聚集事务分解为多个较小的聚集事务,使得每个新聚集事务包含最多一个具有错误原因中的MID的事务项。从块916(图9B),处理继续到块928(图9C)。在块928中,将新的、较小的聚集事务放置在聚集事务列表150的前面,并且对其进行特别标记,使得这些新创建的聚集事务(其是之前尝试过的聚集事务的解聚集)被认为满足执行标准。因此,这些新解聚集中的第一个将被立即发送到计算阶段中。在块930中,TAA系统130基于系统吞吐量的测量来调节聚集事务的目标大小,并且处理转回块904(图9A)。
在块922中,即使没有可用的错误原因,TAA系统130也确定是否执行解聚集。如果执行,处理继续到块924,否则,处理继续到块926。在块924中,TAA系统130将聚集事务分解为多个较小的聚集事务,并且处理继续到块928。在块926中,执行有害队列处理。这包括向有害队列发送事务项,以及可选地,执行第二流、第三流等等。处理从块926继续到块930。
由此,实施方式提供了聚集事务大小的自动调节。实施方式提供了较快的事务处理和自动调节。实施方式组合了数据流和事务处理。
实施方式与提取、转换和加载(ETL)工具、复杂事件处理系统以及过程和数据级别二者的信息整合是兼容的。
在某些实施方式中,如果存在要针对产生有害数据项的会话而处理的消息,会话可以迫使退出(sidelined)(即,识别用于该会话的后续消息,并全部归类为有害数据项)。
附加实施方式细节
所描述的操作可以实现为方法、使用标准编程和/或工程技术的计算机程序产品或设备,以产生软件、固件、硬件,或其任何组合。
每个实施方式可以采用完全硬件实施方式、完全软件实施方式或包含硬件和软件元素的实施方式的形式。实施方式可以在软件中实现,其包括但不限于固件、常驻软件、微代码等等。
另外,实施方式可以采用可以访问提供用于使用的程序代码的计算机可用或计算机可读介质的,或与计算机或任何指令执行系统连接的计算机程序产品的形式。为了该描述的目的,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播或传输所使用的程序,或与指令执行系统、设备或器件相连接的任何设备。
所描述的操作可以实现为计算机可用或计算机可读介质中维持的代码,其中处理器可以从计算机可读介质中读取并执行代码。介质可以是电子、磁性、光学、电磁、红外或半导体系统(设备或器件)或传播介质。计算机可读介质的示例包括半导体或固体存储器、磁带、可移动计算机软盘、刚性磁盘、光盘、磁性存储介质(例如,硬盘驱动器、软盘、带等等),易失性和非易失性存储设备(例如,随机访问存储器(RAM)、DRAM、SRAM、只读存储器(ROM)、PROM、EPROM、闪存、固件、可编程逻辑等等)。光盘的当前示例包括压缩盘只读存储器(CD-ROM),压缩盘读/写(CD-R/W)以及DVD。
实现所描述的操作的代码还可以在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)中实现。另外,实现所描述的操作的代码可以在“传输信号”中实现,其中传输信号可以通过空间或通过传输介质如光纤、铜线等等传播。代码或逻辑编码到其中的传输信号还可以包括无线信号、卫星传输、无线电波、红外信号、蓝牙等等。代码或逻辑编码在其中的传输信号能够通过传输站发送,并通过接收站接收,其中编码在传输信号中的代码或逻辑可以编码并存储在接收或发送站或设备的硬件或计算机可读介质中。
计算机程序产品可以包括在其中可以实现代码的计算机可用或计算机可读介质、硬件逻辑和/或传输信号。当然,本领域技术人员将认识到,在不脱离实施方式的范围的情况下,可以对该配置进行很多改进,并且计算机程序产品可以包括本领域内所公知的任何适合的信息承载介质。
以示例的方式,术语逻辑可以包括软件、硬件、固件和/或软件和硬件的组合。
某些实施方式可以指向由人部署计算基础架构的方法,或将自动处理集成计算机可读代码部署到计算系统中的方法,其中代码与计算系统的组合使得能够执行所描述的实现的操作。
图9A、图9B和图9C的逻辑描述了以特定顺序发生的操作。在备选实施方式中,特定的逻辑操作可以以不同的顺序执行,修改或移除。另外,操作可以添加到上述逻辑中,并仍然符合所描述的实施方式。另外,此处所描述的操作可以顺序地发生,或特定操作可以并行处理,或描述为由单个处理执行的操作可以通过分布式的处理来执行。
图9A、图9B和图9C所示出的逻辑可以在软件、硬件、可编程或非可编程门阵列逻辑或在硬件、软件或门阵列逻辑的一些组合中实现。
图10示出了根据特定实施方式的可以使用的系统架构1000。客户端计算机100和/或服务器计算机120可以实现系统架构1000。系统架构1000适合存储和/或执行程序代码,并包括至少一个处理器1002,其通过系统总线1020直接或间接连接到存储单元1004。存储单元1004可以包括在程序代码的实际执行期间采用的本地存储器,海量存储器或高速缓冲存储器,其提供至少一些程序代码的临时存储,以为了减少执行期间必须从海量存储器检索代码的次数。存储单元1004包括操作系统1005和一个或多个计算机程序1006。
输入/输出(I/O)设备1012、1014(包括但不限于键盘、显示器、指点设备等等)可以直接或通过其间的I/O控制器1010连接到系统。
网络适配器1008也可以连接到系统,以使得数据处理系统成为通过其间的私有或公共网络连接到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器以及以太网卡仅是网络适配器1008的几个当前可用的类型。系统架构1000可以连接到存储1016(例如,非易失性存储区,如磁盘驱动器、光盘驱动器、带驱动器等等)。存储1016可以包括内部存储设备或附加的或网络可访问存储。存储1016中的计算机程序1006可以加载到存储器元件1004中,并且以本领域公知的方式由处理器1002执行。
系统架构1000可以包括比示出的更少的元件,此处没有示出的附加元件,或示出元件和附加元件的一些组合。系统架构1000可以包括本领域公知的任何计算设备,例如主机、服务器、个人计算机、工作站、膝上型计算机、手持计算机、电话设备、网络设备、虚拟化设备、存储控制器等等。
为了示意和描述的目的提出了本发明的上述的实施方式。其不是为了穷举性的或将实施方式限制于所公开的精确形式。根据以上教导可以进行很多改进和变化。实施方式的范围不由该详细描述限定,而是由附后的权利要求限定。以上的说明、示例和数据提供了制造和使用实施方式的组成的完整描述。因为在不偏离实施方式的精神和范围的情况下可以产生很多实施方式,所以实施方式存在于以下附加的权利要求或任何随后提交的权利要求,及其等效项。
Claims (18)
1.一种计算机实现的方法,包括:
获取具有消息标识符和会话标识符的事务项;
将所述事务项添加到聚集事务列表中的、其中没有其他事务项具有相同会话标识符的最早聚集事务;
执行所述聚集事务列表中满足执行标准的第一聚集事务;
响应于确定所述聚集事务没有提交,将所述聚集事务分解为多个较小的聚集事务;以及
基于系统吞吐量的测量来调节聚集事务的目标大小。
2.如权利要求1的方法,还包括:
将所述多个较小的聚集事务置于所述聚集事务列表的前面;以及
将所述多个较小的聚集事务标记为已经满足所述执行标准。
3.如权利要求1或2的方法,其中所述执行标准包括以下至少一个:定时器超时,以及所述聚集事务的大小达到预定目标大小。
4.如权利要求1或2的方法,其中分解所述聚集事务还包括:
确定错误原因可获得;以及
将所述聚集事务分解为多个较小的聚集事务,使得每个新聚集事务最多包含一个具有所述错误原因中的消息标识符的事务项。
5.如权利要求1或2的方法,其中分解所述聚集事务还包括:
确定错误原因不可获得;以及
将所述聚集事务分解为所述多个较小的聚集事务。
6.如权利要求1或2的方法,其中执行所述聚集事务包括:沿数据流执行过程发送所述聚集事务。
7.如权利要求1或2的方法,还包括:
将传入事务项划分到分区中,其中具有相同会话标识符的事务项在相同的分区中。
8.如权利要求1或2的方法,还包括:
将组成所述聚集事务的个体事务项流水线化到数据流执行过程中。
9.如权利要求1或2的方法,还包括:
响应于确定所述事务项已经提交,基于系统吞吐量的测量来调节每个聚集事务的目标大小。
10.一种计算机实现的系统,包括:
用于获取具有消息标识符和会话标识符的事务项的装置;
用于将所述事务项添加到聚集事务列表中的、其中没有其他事务项具有相同会话标识符的最早聚集事务的装置;
用于执行所述聚集事务列表中满足执行标准的第一聚集事务的装置;
用于响应于确定所述聚集事务没有提交,将所述聚集事务分解为多个较小的聚集事务的装置;以及
用于基于系统吞吐量的测量来调节聚集事务的目标大小的装置。
11.如权利要求10的系统,还包括:
用于将所述多个较小的聚集事务置于所述聚集事务列表的前面的装置;以及
用于将所述多个较小的聚集事务标记为已经满足所述执行标准的装置。
12.如权利要求10或11的系统,其中所述执行标准包括以下至少一个:定时器超时,以及所述聚集事务的大小达到预定目标大小。
13.如权利要求10或11的系统,其中所述用于响应于确定所述聚集事务没有提交,将所述聚集事务分解为多个较小的聚集事务的装置还包括:
用于确定错误原因可获得的装置;以及
用于将所述聚集事务分解为多个较小的聚集事务,使得每个新聚集事务最多包含一个具有所述错误原因中的消息标识符的事务项的装置。
14.如权利要求10或11的系统,其中所述用于响应于确定所述聚集事务没有提交,将所述聚集事务分解为多个较小的聚集事务的装置还包括:
用于确定错误原因不可获得的装置;以及
用于将所述聚集事务分解为所述多个较小的聚集事务的装置。
15.如权利要求10或11的系统,其中所述用于执行所述聚集事务列表中满足执行标准的第一聚集事务的装置包括:用于沿数据流执行过程发送所述聚集事务的装置。
16.如权利要求10或11的系统,还包括:
用于将传入事务项划分到分区中的装置,其中具有相同会话标识符的事务项在相同的分区中。
17.如权利要求10或11的系统,还包括:
用于将组成所述聚集事务的个体事务项流水线化到数据流执行过程中的装置。
18.如权利要求10或11的系统,还包括:
用于响应于确定所述事务项已经提交,基于系统吞吐量的测量来调节每个聚集事务的目标大小的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/848,115 | 2007-08-30 | ||
US11/848,115 US8347292B2 (en) | 2007-08-30 | 2007-08-30 | Transaction aggregation to increase transaction processing throughout |
PCT/EP2008/061003 WO2009027329A1 (en) | 2007-08-30 | 2008-08-22 | Transaction aggregation to increase transaction processing throughput |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101784988A CN101784988A (zh) | 2010-07-21 |
CN101784988B true CN101784988B (zh) | 2012-08-29 |
Family
ID=40114198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880104010.2A Expired - Fee Related CN101784988B (zh) | 2007-08-30 | 2008-08-22 | 用以提高事务处理吞吐量的事务聚集 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8347292B2 (zh) |
EP (1) | EP2191370B1 (zh) |
JP (1) | JP5363485B2 (zh) |
KR (1) | KR101171501B1 (zh) |
CN (1) | CN101784988B (zh) |
WO (1) | WO2009027329A1 (zh) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US8706667B2 (en) | 2007-07-26 | 2014-04-22 | Ab Initio Technology Llc | Transactional graph-based computation with error handling |
US8347292B2 (en) | 2007-08-30 | 2013-01-01 | International Business Machines Corporation | Transaction aggregation to increase transaction processing throughout |
CN105843684B (zh) * | 2009-02-13 | 2020-03-03 | 起元技术有限责任公司 | 管理任务执行 |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
WO2011069234A1 (en) | 2009-12-10 | 2011-06-16 | Royal Bank Of Canada | Synchronized processing of data by networked computing resources |
US10057333B2 (en) | 2009-12-10 | 2018-08-21 | Royal Bank Of Canada | Coordinated processing of data by networked computing resources |
US9940670B2 (en) | 2009-12-10 | 2018-04-10 | Royal Bank Of Canada | Synchronized processing of data by networked computing resources |
WO2011159759A1 (en) | 2010-06-15 | 2011-12-22 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
US8473953B2 (en) | 2010-07-21 | 2013-06-25 | International Business Machines Corporation | Batching transactions to apply to a database |
US8799378B2 (en) | 2010-12-17 | 2014-08-05 | Microsoft Corporation | Non-greedy consumption by execution blocks in dataflow networks |
US8595267B2 (en) * | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
CN102508834B (zh) * | 2011-09-22 | 2014-05-07 | 用友软件股份有限公司 | 基于消息的大型事务应用装置和方法 |
CN102306200B (zh) * | 2011-09-22 | 2013-03-27 | 用友软件股份有限公司 | 增量数据操作语句的并发应用装置和方法 |
US8812438B2 (en) * | 2012-01-20 | 2014-08-19 | Salesforce.Com, Inc. | System, method and computer program product for synchronizing data using data identifying messages |
US9135262B2 (en) * | 2012-10-19 | 2015-09-15 | Oracle International Corporation | Systems and methods for parallel batch processing of write transactions |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
US20140215127A1 (en) * | 2013-01-31 | 2014-07-31 | Oracle International Corporation | Apparatus, system, and method for adaptive intent logging |
US9596279B2 (en) | 2013-02-08 | 2017-03-14 | Dell Products L.P. | Cloud-based streaming data receiver and persister |
US9141680B2 (en) | 2013-02-11 | 2015-09-22 | Dell Products L.P. | Data consistency and rollback for cloud analytics |
US9191432B2 (en) | 2013-02-11 | 2015-11-17 | Dell Products L.P. | SAAS network-based backup system |
US9442993B2 (en) | 2013-02-11 | 2016-09-13 | Dell Products L.P. | Metadata manager for analytics system |
US9917885B2 (en) | 2013-07-30 | 2018-03-13 | International Business Machines Corporation | Managing transactional data for high use databases |
CN103593236B (zh) | 2013-11-14 | 2017-02-22 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
EP3092557B1 (en) | 2013-12-05 | 2024-03-27 | AB Initio Technology LLC | Managing interfaces for dataflow graphs composed of sub-graphs |
US9465746B2 (en) | 2014-01-24 | 2016-10-11 | International Business Machines Corporation | Diagnostics for transactional execution errors in reliable transactions |
US9323568B2 (en) | 2014-01-24 | 2016-04-26 | International Business Machines Corporation | Indicating a low priority transaction |
US9424071B2 (en) | 2014-01-24 | 2016-08-23 | International Business Machines Corporation | Transaction digest generation during nested transactional execution |
US9317379B2 (en) | 2014-01-24 | 2016-04-19 | International Business Machines Corporation | Using transactional execution for reliability and recovery of transient failures |
US9304935B2 (en) | 2014-01-24 | 2016-04-05 | International Business Machines Corporation | Enhancing reliability of transaction execution by using transaction digests |
US9679033B2 (en) | 2014-03-21 | 2017-06-13 | International Business Machines Corporation | Run time insertion and removal of buffer operators |
US9870378B2 (en) | 2014-11-18 | 2018-01-16 | International Business Machines Corporation | Read and delete input/output operation for database management |
KR102031105B1 (ko) * | 2014-12-12 | 2019-10-11 | 사빅 글로벌 테크놀러지스 비.브이. | 레이저 직접 구조화 물질 및 이의 제조 방법 |
KR101825416B1 (ko) * | 2014-12-30 | 2018-03-22 | 주식회사 쏠리드 | 간섭 제거 중계 장치 |
SG10202110018RA (en) * | 2015-02-27 | 2021-10-28 | Royal Bank Of Canada | Coordinated processing of data by networked computing resources |
US9928270B2 (en) * | 2015-06-25 | 2018-03-27 | International Business Machines Corporation | Aggregating and summarizing sequences of hierarchical records |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10437585B2 (en) * | 2015-10-23 | 2019-10-08 | Oracle International Corporation | Managing highly scalable continuous delivery pipelines |
US20170171721A1 (en) * | 2015-12-10 | 2017-06-15 | Linear Dms Solutions Sdn. Bhd. | Bluetooth protocol broadcasting system |
WO2017112654A2 (en) | 2015-12-21 | 2017-06-29 | Ab Initio Technology Llc | Sub-graph interface generation |
US10853879B2 (en) | 2016-02-19 | 2020-12-01 | Chicago Mercantile Exchange Inc. | Systems and methods for reducing data lookups within a set of queues |
US10218656B2 (en) | 2016-03-08 | 2019-02-26 | International Business Machines Corporation | Smart message delivery based on transaction processing status |
JP6530337B2 (ja) * | 2016-03-16 | 2019-06-12 | 株式会社日立製作所 | トランザクション制御システムおよびトランザクション制御方法 |
US11418583B2 (en) * | 2018-02-14 | 2022-08-16 | International Business Machines Corporation | Transaction process management by dynamic transaction aggregation |
CN110990182B (zh) * | 2019-12-03 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005022417A2 (en) * | 2003-08-27 | 2005-03-10 | Ascential Software Corporation | Methods and systems for real time integration services |
US7120825B2 (en) * | 2003-06-06 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Adaptive batch sizing for asynchronous data redundancy |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2667818B2 (ja) | 1986-10-09 | 1997-10-27 | 株式会社日立製作所 | トランザクション処理方法 |
US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
US5423040A (en) * | 1991-07-24 | 1995-06-06 | International Business Machines Corporation | System and method for efficiently executing directed acyclic graphs |
GB2311443A (en) * | 1996-03-23 | 1997-09-24 | Ibm | Data message transfer in batches with retransmission |
US6311265B1 (en) | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
JPH09282283A (ja) * | 1996-04-16 | 1997-10-31 | Hitachi Ltd | オンライントランザクションのトレース方法、性能評価方法およびオンライントランザクション処理システム |
JPH10149306A (ja) * | 1996-11-18 | 1998-06-02 | Nippon Telegr & Teleph Corp <Ntt> | サービス連携装置およびその生成装置 |
US6122372A (en) * | 1997-06-04 | 2000-09-19 | Signet Assurance Company Llc | System and method for encapsulating transaction messages with verifiable data generated identifiers |
US6272602B1 (en) * | 1999-03-08 | 2001-08-07 | Sun Microsystems, Inc. | Multiprocessing system employing pending tags to maintain cache coherence |
US6801938B1 (en) | 1999-06-18 | 2004-10-05 | Torrent Systems, Inc. | Segmentation and processing of continuous data streams using transactional semantics |
US6978305B1 (en) * | 2001-12-19 | 2005-12-20 | Oracle International Corp. | Method and apparatus to facilitate access and propagation of messages in communication queues using a public network |
US7167831B2 (en) * | 2002-02-04 | 2007-01-23 | Microsoft Corporation | Systems and methods for managing multiple grammars in a speech recognition system |
US7069244B2 (en) * | 2002-09-17 | 2006-06-27 | First Data Corporation | Method and system for merchant processing of purchase card transactions with expanded card type acceptance |
US7792716B2 (en) * | 2002-10-31 | 2010-09-07 | Federal Reserve Bank Of Atlanta | Searching for and identifying automated clearing house transactions by transaction type |
JP4316243B2 (ja) | 2003-01-20 | 2009-08-19 | 株式会社東芝 | 電力設備監視装置およびその監視方法 |
US8214588B2 (en) * | 2003-11-05 | 2012-07-03 | International Business Machines Corporation | Parallel asynchronous order-preserving transaction processing |
JP2006031631A (ja) * | 2004-07-21 | 2006-02-02 | Nec Corp | データベース処理システム及び方法並びにデータベース処理用プログラム |
US7490084B2 (en) * | 2004-09-24 | 2009-02-10 | Oracle Corporation | Deferred incorporation of updates for spatial indexes |
US20060230402A1 (en) | 2005-04-07 | 2006-10-12 | International Business Machines Corporation | Managing transactions for Enterprise JavaBeans |
US8347292B2 (en) | 2007-08-30 | 2013-01-01 | International Business Machines Corporation | Transaction aggregation to increase transaction processing throughout |
-
2007
- 2007-08-30 US US11/848,115 patent/US8347292B2/en not_active Expired - Fee Related
-
2008
- 2008-08-22 CN CN200880104010.2A patent/CN101784988B/zh not_active Expired - Fee Related
- 2008-08-22 JP JP2010522327A patent/JP5363485B2/ja not_active Expired - Fee Related
- 2008-08-22 EP EP08787405.3A patent/EP2191370B1/en active Active
- 2008-08-22 KR KR1020107006361A patent/KR101171501B1/ko not_active IP Right Cessation
- 2008-08-22 WO PCT/EP2008/061003 patent/WO2009027329A1/en active Application Filing
-
2012
- 2012-09-11 US US13/610,668 patent/US8904393B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120825B2 (en) * | 2003-06-06 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Adaptive batch sizing for asynchronous data redundancy |
WO2005022417A2 (en) * | 2003-08-27 | 2005-03-10 | Ascential Software Corporation | Methods and systems for real time integration services |
Also Published As
Publication number | Publication date |
---|---|
WO2009027329A1 (en) | 2009-03-05 |
CN101784988A (zh) | 2010-07-21 |
US8347292B2 (en) | 2013-01-01 |
EP2191370A1 (en) | 2010-06-02 |
EP2191370B1 (en) | 2016-10-05 |
US8904393B2 (en) | 2014-12-02 |
JP5363485B2 (ja) | 2013-12-11 |
US20130007750A1 (en) | 2013-01-03 |
JP2010537338A (ja) | 2010-12-02 |
US20090064147A1 (en) | 2009-03-05 |
KR101171501B1 (ko) | 2012-08-06 |
KR20100077151A (ko) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101784988B (zh) | 用以提高事务处理吞吐量的事务聚集 | |
US11620400B2 (en) | Querying in big data storage formats | |
US7596520B2 (en) | Systems and methods for general aggregation of characteristics and key figures | |
CN107123047B (zh) | 基于债券交易的数据采集系统及其数据采集方法 | |
US6801938B1 (en) | Segmentation and processing of continuous data streams using transactional semantics | |
CN100375088C (zh) | 利用事务语义法分段和处理连续数据流 | |
CA2953826A1 (en) | Machine learning service | |
KR20110000737A (ko) | 다수의 처리 명령어를 실시간으로 취급하고 처리하는 것과 관련된 개선 | |
US11500871B1 (en) | Systems and methods for decoupling search processing language and machine learning analytics from storage of accessed data | |
US10990940B1 (en) | Server validation of website scraped data | |
US9141605B2 (en) | Attribution using semantic analysis | |
US11567735B1 (en) | Systems and methods for integration of multiple programming languages within a pipelined search query | |
CN107247758A (zh) | 基于银行核心系统的数据处理方法 | |
US20130030852A1 (en) | Associative Memory-Based Project Management System | |
US11762833B2 (en) | Data discovery of personal data in relational databases | |
Pham et al. | Deeptriage: Automated transfer assistance for incidents in cloud services | |
EP2620901A1 (en) | Associative memory-based project management system | |
US7650606B2 (en) | System recovery | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
JP2010224881A (ja) | 取引データ処理方法、システム及びプログラム | |
US20220156285A1 (en) | Data Tagging And Synchronisation System | |
BE1024534B1 (nl) | Systeem en apparaat om te voorzien in verschillende versies van een type gegevenstraject | |
Deng et al. | Advanced search system for IT support services | |
JP7211993B2 (ja) | 事業者情報管理システム、プログラム及び事業者情報管理方法 | |
US20140280220A1 (en) | Scored storage determination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20200822 |