CN1523523A - 分布复制命令的系统和方法 - Google Patents

分布复制命令的系统和方法 Download PDF

Info

Publication number
CN1523523A
CN1523523A CNA2004100068903A CN200410006890A CN1523523A CN 1523523 A CN1523523 A CN 1523523A CN A2004100068903 A CNA2004100068903 A CN A2004100068903A CN 200410006890 A CN200410006890 A CN 200410006890A CN 1523523 A CN1523523 A CN 1523523A
Authority
CN
China
Prior art keywords
copy command
bucket
distributor
command
hash
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.)
Granted
Application number
CNA2004100068903A
Other languages
English (en)
Other versions
CN1523523B (zh
Inventor
Q
Q·郭
M·E·哈比
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1523523A publication Critical patent/CN1523523A/zh
Application granted granted Critical
Publication of CN1523523B publication Critical patent/CN1523523B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H75/00Storing webs, tapes, or filamentary material, e.g. on reels
    • B65H75/02Cores, formers, supports, or holders for coiled, wound, or folded material, e.g. reels, spindles, bobbins, cop tubes, cans, mandrels or chucks
    • B65H75/34Cores, formers, supports, or holders for coiled, wound, or folded material, e.g. reels, spindles, bobbins, cop tubes, cans, mandrels or chucks specially adapted or mounted for storing and repeatedly paying-out and re-storing lengths of material provided for particular purposes, e.g. anchored hoses, power cables
    • B65H75/38Cores, formers, supports, or holders for coiled, wound, or folded material, e.g. reels, spindles, bobbins, cop tubes, cans, mandrels or chucks specially adapted or mounted for storing and repeatedly paying-out and re-storing lengths of material provided for particular purposes, e.g. anchored hoses, power cables involving the use of a core or former internal to, and supporting, a stored package of material
    • B65H75/40Cores, formers, supports, or holders for coiled, wound, or folded material, e.g. reels, spindles, bobbins, cop tubes, cans, mandrels or chucks specially adapted or mounted for storing and repeatedly paying-out and re-storing lengths of material provided for particular purposes, e.g. anchored hoses, power cables involving the use of a core or former internal to, and supporting, a stored package of material mobile or transportable
    • B65H75/406Cores, formers, supports, or holders for coiled, wound, or folded material, e.g. reels, spindles, bobbins, cop tubes, cans, mandrels or chucks specially adapted or mounted for storing and repeatedly paying-out and re-storing lengths of material provided for particular purposes, e.g. anchored hoses, power cables involving the use of a core or former internal to, and supporting, a stored package of material mobile or transportable hand-held during use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2402/00Constructional details of the handling apparatus
    • B65H2402/50Machine elements
    • B65H2402/51Joints, e.g. riveted or magnetic joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2701/00Handled material; Storage means
    • B65H2701/30Handled filamentary material
    • B65H2701/33Hollow or hose-like material

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Advance Control (AREA)
  • Retry When Errors Occur (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)

Abstract

事务复制系统,其中每条复制命令应用到由主键标识的单行,通过来自单命令队列的主键杂凑,在多连接中分派复制的命令,以确保对相同数据行的改变总是被分派到相同的连接,以保持最初出现在出版者上的命令顺序。所有的连接以协同方式同时动作其事务,而非两相动作(a two phase commits)。基于逻辑顺序数目的重试逻辑被用来重新应用来自动作失败的任何连接的命令。

Description

分布复制命令的系统和方法
技术领域
本发明涉及计算领域,而且尤其涉及事务复制(transactional replication)领域。
背景技术
复制是将数据和数据的变化从一个数据库拷贝到另一个数据库的能力。图1阐明传统事务复制的概貌。出版者200(A Publisher 200)是服务器或数据库,它将其数据发送到另一个服务器或数据库。出版者200可包含被发送至为署名用户服务器或数据库的一个或多个文章(articles)收集的一个出版/多个出版(publication/publications)。在事务复制中,文章是要被复制的(对象),而且其可为整张表格、从表格中选取的行、来自表格或保存过程的指定列。
分布器202管理整个复制系统中的数据流动。分布器202包含追踪需要从出版者200中复制的(出版)改变的分布数据库。出版者200可充当其自身的分布器202,或者远程数据库服务器可被用来保持分布数据库。
一个(或多个)署名用户204是从出版者200或其它数据库中接收数据的服务器或数据库。订阅(subscription)是服务器或数据库204将接收的数据组。这个可为一个或多个出版。有推和拉订阅(push and pull subscription)。推订阅是当出版服务器将周期性的把事务推出到订阅服务器或数据库中时的订阅。拉订阅是当订阅服务器将周期性的连接到分布数据库并拉信息时的订阅。
在传统事务复制中,有代表性的是,通过单连接203在署名用户处应用复制命令,这如图1中所示。虽然单连接确保将以事务出现在出版者中的确切顺序来在署名用户处应用事务,但是这个方法有特性损失,特别是当请求来自负载沉重的出版者时。
另外,传统复制技术当插入、更新或删除操作发生时,利用触发器来追踪对出版表格做出的改变。由于触发器,这将附加开销加到出版者200。这样,有必要增加事务复制系统的性能,同时减少开销成本并确保在署名用户处适当应用事务。本发明提供这样的解决方案。
发明内容
本发明有利的克服了通过当使用复制命令时在分布过程中使用多事务队列的优先领域的局限性。依照本发明的特点,提供了用于分布复制命令的系统。该系统包括具有从出版者中接收复制命令的命令队列的分布器。该分布器具有多连接,以将复制命令传达给署名用户。许多命令存储桶(command buckets)接收来自分布器的命令。每个命令存储桶通过其中一个多连接与分布器进行通信,并仅接收那些具有相同杂凑键(hash key)的复制命令。该接收的复制命令每个都包含唯一行的标识符。
依照该系统的特征,出版者用要实施的表格的行主键杂凑来修饰每个复制命令。复制命令依照主键的杂凑而被归入到各个命令存储桶类别中。
依照进一步的特征,分布器对准备动作的每个存储桶做标记,并且每个存储桶中的复制命令在充分同时被应用到署名用户。每个存储桶的执行器通知分布器该动作已被完成,这样以使分布器再继续处理。
依照另一个特征,使用重试机制来决定是否已经成功的进行了每个连接。若连接未能进行,则重试机制依照复制命令的逻辑顺序数目从最早失败点处重新启动进行过程,并使用具有比复制命令的最后逻辑顺序数目新的逻辑顺序数目的复制命令,以成功动作。
依照本发明的另一方面,提供用于在具有署名用户、分布器和出版者的系统中分布复制命令的方法。该方法包括在出版者处用其上实施复制命令的行的唯一标识符来修饰复制命令;将复制命令发送到分布器;在命令队列中保存复制命令;以及将复制命令发送到许多命令存储桶中,许多命令存储桶的每个都具有与分布器的连接。每个命令存储桶依照唯一行的唯一标识符接收要被应用到署名用户表格唯一行的复制命令。
参考附图,从下面继续进行的例证性实施例的详细说明中,我们可明显看到本发明的附加特征和优点。
附图说明
前述概要,以及下面较佳实施例的详细说明,当结合附图阅读时可被更好的理解。为了阐明本发明,附图中给出了本发明的范例构造;然而,本发明并不局限于说明的特定方法和工具。在附图中:
图1阐明传统事务复制系统的拓扑结构;
图2阐明其中可实施本发明的范例计算环境;以及
图3阐明本发明事务复制系统的范例拓扑结构;
具体实施方式
范例计算环境
图2和下面的讨论旨在提供其中可实现本发明的合适计算环境的简短概述。然而,应当认识到的是我们预期关于本发明使用所有类型的手提式、便携式和其它计算装置。虽然下面说明通用计算机,但是这仅是一个例子,而且本发明仅需要一个具有网络服务器互操作性和交互作用的瘦客户。这样,本发明可在网络主机服务环境中实现,其中几乎不含客户资源或含有最小的客户资源,如其中客户装置仅担任浏览器或环球网接口的网络化环境。
尽管并非必要,但是可通过应用编程接口(API)来实现本发明,这是为了由开发者使用,而且/或者其被包括在网络浏览软件中,该网络浏览软件将以计算机可执行指令的通用上下文来说明,这诸如正由如客户工作站、服务器,或其它装置这样的一个或多个计算机执行的程序模块。一般的,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、分量、数据结构和类似的模块。具有代表性的是,程序模块的功能性可按在不同实施例中的需要而组合或分布。此外,本领域熟练的技术人员会认识到本发明可应用其它计算机系统配置。可适用于本发明的其它熟知的计算系统、环境和/或配置包括,但不局限于个人计算机(PC)、自动取款机、服务器计算机、手提式或膝上型装置、多处理器系统、基于微处理器的系统、可编程消费者电子装置、网络PC、小型计算机、大型计算机和类似的装置。本发明也可应用在分布计算环境中,那里任务由通过通信网络或其它数据传输媒体链接的远程处理装置来执行。在分布计算环境中,程序模块可位于包括存储器存储装置的本地或者远程计算机存储媒体中。
这样图2阐明其中可实现本发明的合适计算系统环境100的例子,尽管上面已经阐明清楚了,但是该计算系统环境100仅为合适计算环境的一个范例,而且并不旨在暗示关于本发明使用范围或功能性的任何局限性。该计算环境100也不应被解释为具有对涉及在范例操作环境100中阐明的任何一个组件或其组合的任何依存关系或需要。
参考图2,用于实现本发明的范例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括,但不局限于,处理单元120、系统存储器130,以及将包括系统存储器的不同系统组件联结到处理单元120上的系统总线121。系统总线121可为任何几种类型的总线结构,这包括存储器总线或存储器控制器、外围总线,以及使用任何多种总线体系结构的本地总线。作为例子,但非限制,这样的体系结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线,以及外围组件互连(PCI)总线(也已知为小背板总线(Mezzanine bus))。
计算机110代表性的包括许多计算机可读媒体。计算机可读媒体可为能够被计算机110存取的任何可用媒体,而且其既包括易失性媒体,又包括非易失性媒体,其既包括可移除媒体,又包括不可移除媒体。作为例子,但非限制,计算机可读媒体可包含计算机存储媒体和通信媒体。计算机存储媒体包含以诸如计算机可读指令、数据结构、程序模块或其它数据这样的用于信息存储的任何方法或技术来实现的易失性或者非易失性、可移除或者不可移除的媒体。计算机存储媒体包括,但不局限于,RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CDROM、数字多用途盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁存储装置,或者可用来保存所需信息且可由计算机110存取的任何其它媒体。通信媒体代表性的包含计算机可读指令、数据结构、程序模块或在诸如载波或其它传送机制这样的调制数据信号中的其它数据,而且其包括任何信息传递媒体。术语“调制数据信号”意指将其一个或多个特征设置为或改变为这样的方式以对信号中的信息进行编码的信号。作为例子,但非限制,通信媒体包括诸如有线网络或直线连接这样的有线媒体,以及诸如声音、RF、红外线的,以及其它无线媒体这样的无线媒体。
系统存储器130包括以诸如只读存储器(ROM)131和随机存取存储器(RAM)132这样的易失性和/或非易失性存储器形式的计算机存储媒体。基本输入/输出系统133(BIOS),其包含帮助在计算机110中的元件之间传递信息的基本例程,诸如在启动阶段,该基本输入/输出系统133(BIOS)代表性的被保存在ROM131中。RAM132代表性的包含可由处理单元120直接存取而且/或者目前正由处理单元120操作的数据和/或程序模块。作为例子,但并非限制,图2阐明操作系统134、应用程序135、其它程序模块136,以及程序数据137。
计算机110也可包括其它可移除/不可移除、易失性/非易失性计算机存储媒体。仅作为例子,图2阐明从不可移除、非易失性磁性媒体中读或写到不可移除、非易失性磁性媒体的硬盘驱动器141、从可移除、非易失性磁盘152中读或写到可移除、非易失性磁盘152的磁盘驱动器151,以及从可移除、非易失性光盘156中读或写到可移除、非易失性光盘156的光盘驱动器155,这诸如CD ROM或其它光媒体。可用在范例操作环境中的其它可移除/不可移除、易失性/非易失性计算机存储媒体包括,但不局限于,磁带盒、闪速存储器卡、数字多用途盘、数字视频带、固态RAM、固态ROM以及类似的媒体。硬盘驱动器141代表性的是通过诸如接口140这样的不可移除存储器接口与系统总线121相连,而且磁盘驱动器151和光盘驱动器155代表性的是通过诸如接口150这样的可移除存储器接口与系统总线121相连。
驱动器和上面讨论并在图2中阐明的其相关联的计算机存储媒体提供计算机可读指令、数据结构、程序模块和对计算机110的其它数据的存储。在图2中,例如,硬盘驱动器141被阐明为保存操作系统144、应用程序145、其它程序模块146,以及程序数据147。注意这些组件既可与操作系统134、应用程序135、其它程序模块136,以及程序数据137相同,也可与其不同。操作系统144、应用程序145、其它程序模块146,以及程序数据147在这里被给出不同的数目,以阐明最少它们有不同的拷贝。用户可通过诸如键盘162和通常指鼠标、跟踪球或触摸垫的点击设备161这样的输入装置将命令和信息输入到计算机110中。其它的输入装置(未示出)可包括传声器、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪,或类似的装置。这些和其它的输入装置一般通过与系统总线121联结的用户输入接口160与处理单元120相连,但其也可通过诸如并行端口、游戏端口或通用串行总线架构(USB)这样的其它接口和总线结构来连接。
监视器191或其它类型的显示装置也通过诸如视频接口190这样的接口与系统总线121相连。诸如北桥(Northbridge)这样的图形接口182也可与系统总线121相连。北桥是与CPU、或主处理单元120进行通信的芯片集,而且其假定对加速图形端口(AGP)通信负责。一个或多个图形处理单元(GPU)184可与图形接口182通信。在这点上,GPU 184一般包括诸如寄存器存储这样的单片(on-chip)存储器存储,而且GPU 184与视频存储器186进行通信。然而,GPU 184仅为协处理器的一个例子,而且这样多种协处理装置可被包括在计算机110内。监视器191或其它类型的显示装置也通过诸如视频接口190这样的接口与系统总线121相连,其可依次与视频存储器186进行通信。除监视器191之外,计算机也可包括诸如扬声器197和打印机196这样的其它外围输出装置,其可通过输出外围接口195进行连接。
计算机110可在使用到诸如远程计算机180这样的一个或多个远程计算机的逻辑连接的网络化环境中工作。远程计算机180可为个人计算机、服务器、路由器、网络PC、对等装置或其它普通网络节点,而且代表性的包括许多或所有上述相对于计算机110说明的元件,尽管图2中仅阐明了存储器存储装置181。图2中描述的逻辑连接包括本地网(LAN)171和广域网(WAN)173,但也可包括其它网络。这样的网络环境常见于办公室、全企业计算机网络、局内网和国际互联网。
当在LAN网络环境中使用计算机110时,计算机110通过网络接口或适配器170与LAN 171相连。在WAN网络环境中使用计算机110时,计算机110代表性的包括调制解调器172或用于在诸如国际互联网这样的WAN 173上建立通信的其它装置。调制解调器172可为内置或外置,其可通过用户输入接口160或其它合适的机制与系统总线121相连。在网络化环境中,相对于计算机110描述的程序模块,或其部分,可被保存在远程存储器存储装置中。作为例子,但非限制,图2阐明驻留在存储器装置181中的远程应用程序185。应当认识到所示网络连接是范例性的,而且可使用在计算机之间建立通信链接的其它装置。
应当认识到本领域的其中一个普通技能是计算机110或其它客户装置可用作部分计算机网络。在这点上,本发明适合具有任何数量存储器或存储单元,以及具有出现在任何数量存储单元或卷上的任何数量应用程序和进程的任何计算机系统。本发明可适用于具有用于网络环境中且具有远程或本地存储的服务器计算机和客户计算机的环境。本发明也可适用于具有编程语言功能性、解释和执行能力的单独计算装置。
本发明事务复制的范例实施例
图3更详细阐明事务复制系统的拓扑结构。本发明通过利用署名用户处的多事务队列有利的克服优先领域的局限性,以应用复制命令。出版者300用命令正被应用的行主键杂凑来修饰要在事务日志301中复制的每条命令(如更新、删除、插入等)。如本领域中所知的,事务日志301保留一列所有的命令,这样以使回退可被应用到数据库以撤销还原改变。
修饰命令由出版者300发送到保存命令队列312中命令的分布器302。命令队列312保存用于发送到署名用户的命令,这如下所述。分派程序线程314基于用每条命令杂凑的主键来读取命令队列312,并将其归类,而且通过其中一个连接316将对单行的命令发送到与其特定行相关联的唯一存储桶318、320或322。本发明不局限于3个连接316和3个存储桶,这是由于可使用任何数量的连接和存储桶。例如,所有被应用到行1的命令通过其各个连接被传递到存储桶318,所有被应用到行2的命令通过其各个连接被应用到存储桶320等等。通过出版者300处主键的杂凑确保每条复制命令应用到单行,而且对其数据行的命令被传递到合适的存储桶318、320或322。进一步,这就确保存储桶318、320和322中的命令顺序保持如它们最初出现在出版者300中的顺序。
多连接316依照本发明进行“协同动作”(“coordinated commit”),以确保在下面每个成功批末尾的事务一致性。分派程序线程314对每个存储桶318、320和322做标记,以准备动作,并且停止将附加命令发送到命令存储桶。在每个存储桶上运行的执行器线程被标记,以在接收动作命令的时候进行动作,而且它从其相关联的命令存储桶中读取并将改变应用到署名用户。依照本发明,所有的执行器要在充分同时动作,以将命令应用到其各个行。分派程序线程314等待来自执行器的事件,该事件发送动作进程完成的信号,以使其可再继续其正常处理。
协同动作进程有利的避免与两个相动作操作相关联的通信和记录开销,那里在动作之前有必要进行写和准备步骤。虽然这个特征对高性能分布最有优势,但是其也可包含事务一致性,这是由于没有由传统两个相操作提供的准备和动作阶段。同样的,若任何执行器动作失败,则动作的执行器可能没有被退回。为确保一致性,本发明实施重试逻辑,其成功和未成功动作连接的句柄混合是这里所预期的。依照本发明,连续命令队列312中的复制命令由动作记录的逻辑顺序数目(Logic Sequence Number)(LSN)来归类。因为命令然后要基于主键的杂凑值被分派到多连接,所以相同事务中的命令可通过不同连接316到达署名用户304。
若特定的连接动作失败,则重试逻辑从最早失败点处重新启动,重新读取命令队列312,并标识哪条命令已被动作事务成功应用了以及哪条命令需要被重新应用。为表现这个特征,本发明追踪对所有连接的最后动作LSN,从最早动作命令处重新启动,并且对照在连接(由杂凑值标识)中动作的最后LSN来检查每条命令的LSN。仅有那些具有比相关联的最后LSN新的LSN的命令被重新应用。这个方法有利的确保在成功批的末尾,署名用户处于事务一致性状态。
这样,如从上面说明中,现在可从本领域中的其中一个普通技能认识到的,在多连接之间分布命令适合用于增加性能,而不损害末尾署名用户处的事务一致性。
虽然已经连同不同附图的较佳实施例说明了本发明,但是应到认识到也可使用其它类似的实施例,或者可对实现与本发明相同功能的说明实施例做出修改和进行添加,而不背离本发明。例如,本领域熟练的技术人员会认识到在本应用中说明的本发明可应用到任何计算装置或环境,不论是有线还是无线,而且其可被应用到任何数量通过通信网络连接并在网络中互相作用的这样的计算装置中。进一步,应当着重指出的是包括手提式装置操作系统和其它应用特定操作系统的多种计算机平台是可预期,尤其当无线网络化装置的数量继续增加时。仍然进一步,本发明可用在许多处理芯片或装置内部或它们之间,并且存储可类似的由许多装置影响。因此,本发明不应局限于任何单个实施例,而是应在依照附加权利要求书的广度和范围内做出解释。

Claims (21)

1.用于分布复制命令的系统,包含:
分布器,其具有命令队列,该命令队列从出版者处接收复制命令,所述分布器进一步具有多连接,以对署名用户进行所述复制命令的通信;以及
许多命令存储桶(bucket),每个所述命令存储桶通过其中一个所述多连接与所述分布器进行通信,每个所述许多命令存储桶仅接收那些要被应用到所述署名用户表格唯一行的复制命令,所述接收复制命令每个包含所述唯一行的标识符。
2.如权利要求1所述的系统,其特征在于,所述出版者用要施加表格所述行的所述主键杂凑(hash)来修饰每个所述复制命令。
3.如权利要求2所述的系统,其特征在于,每个所述复制命令依照通过分派程序线程的所述主键杂凑而被归入到各个命令存储桶类别中。
4.如权利要求2所述的系统,其特征在于,所述分布器对每个存储桶做标记以准备动作,且其中,每个存储桶中的所述复制命令在充分同时被应用到所述署名用户。
5.如权利要求4所述的系统,其特征在于,每个存储桶的执行器通知所述分布器所述动作已经被完成了,这样以使所述分布器再继续处理。
6.如权利要求4所述的系统,进一步包含重试机制以决定是否已成功进行每个所述连接。
7.如权利要求6所述的系统,其特征在于,若连接动作失败了,则所述重试机制就依照复制命令的逻辑顺序数量从最早失败点处重新启动所述动作进程,并且应用具有比复制命令的最后逻辑顺序数目更新的逻辑顺序数目的所述复制命令,以成功完成动作。
8.用于在具有署名用户、分布器和出版者的系统中分布复制命令的方法,包含:
用其上要实施所述复制命令的行的唯一标识符来修饰所述出版者处的复制命令;
将所述复制命令发送到所述分布器;
在命令队列中保存所述复制命令;以及
将所述复制命令发送到许多命令存储桶,所述这些命令存储桶都具有到所述分布器的连接,其中每个命令存储桶接收具有相同杂凑键的复制命令。
9.如权利要求8所述的方法,其特征在于,所述杂凑键为实施表格所述行的所述主键的杂凑。
10.如权利要求9所述的方法,其特征在于,将所述复制命令发送到所述许多命令存储桶,进一步包含依照所述主键的所述杂凑将每条所述命令归入各个命令存储桶中。
11.如权利要求9所述的方法,进一步包含:
对每条命令做标记以准备动作;以及
将每个存储桶中的所述复制命令基本上同时应用到所述署名用户。
12.如权利要求11所述的方法,进一步包含:
通知所述分布器每个存储桶已经完成了动作进程;以及
再继续所述分布器处的处理。
13.如权利要求11所述的方法,进一步包含:
决定每个存储桶的所述复制命令是否已经在所述署名用户处成功动作了。
14.如权利要求13所述的方法,进一步包含:
依照所述复制命令的逻辑顺序数目从最早失败点处重新启动所述动作进程;以及
应用具有比复制命令的最后逻辑顺序数目更新的逻辑顺序数目的所述复制命令,以成功进行动作。
15.具有计算机可执行指令的计算机可读媒体,其用于实现在具有署名用户、分布器和出版者的系统中分布复制命令的方法,其包含:
用为主键杂凑值的杂凑键来修饰所述出版者处的复制命令,所述主键唯一地标识其上要实施所述复制命令的行;
将所述复制命令发送到所述分布器;
在命令队列中保存所述复制命令;
将所述复制命令发送到许多命令存储桶,每个所述许多命令存储桶具有到所述分布器的连接,其中每个命令存储桶接收具有相同杂凑键的复制命令。
16.如权利要求15所述的计算机可读媒体,其特征在于,所述杂凑键是要实施表格所述行的所述主键的杂凑。
17.如权利要求16所述的计算机可读媒体,其特征在于,将所述复制命令发送到所述许多命令存储桶,进一步包含依照所述主键的所述杂凑将每条所述命令归入各个命令存储桶中。
18.如权利要求16所述的计算机可读媒体,进一步包含指令,用于:
对每个命令存储桶做标记以准备动作;以及
将每个存储桶中的所述复制命令基本同时应用到所述署名用户。
19.如权利要求18所述的计算机可读媒体,进一步包含指令,用于:
通知所述分布器每个存储桶已经完成了动作进程;以及
再继续所述分布器处的处理。
20.如权利要求18所述的计算机可读媒体,进一步包含指令,用于:
决定每个存储桶的所述复制命令是否已经在所述署名用户处成功动作了。
21.如权利要求20所述的计算机可读媒体,进一步包含指令,其用于:
依照所述复制命令的逻辑顺序数目从最早失败点处重新启动所述动作进程;以及
应用具有比复制命令的最后逻辑顺序数目更新的逻辑顺序数目的所述复制命令,以成功进行动作。
CN2004100068903A 2003-02-19 2004-02-19 分布复制命令的系统和方法 Expired - Fee Related CN1523523B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/370389 2003-02-19
US10/370,389 2003-02-19
US10/370,389 US7707181B2 (en) 2003-02-19 2003-02-19 System and method of distributing replication commands

Publications (2)

Publication Number Publication Date
CN1523523A true CN1523523A (zh) 2004-08-25
CN1523523B CN1523523B (zh) 2010-05-26

Family

ID=32736443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100068903A Expired - Fee Related CN1523523B (zh) 2003-02-19 2004-02-19 分布复制命令的系统和方法

Country Status (7)

Country Link
US (1) US7707181B2 (zh)
EP (1) EP1450270B1 (zh)
JP (1) JP4491254B2 (zh)
KR (1) KR101099227B1 (zh)
CN (1) CN1523523B (zh)
AT (1) ATE394743T1 (zh)
DE (1) DE602004013475D1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167893B1 (en) * 2001-10-03 2007-01-23 Bellsouth Intellectual Property Corp. Methods and systems for processing a plurality of errors
US8005802B2 (en) * 2002-08-01 2011-08-23 Oracle International Corporation Partial evaluation of rule sets
US7613741B2 (en) * 2002-08-01 2009-11-03 Oracle International Corporation Utilizing rules in a distributed information sharing system
US8365193B2 (en) * 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US8688634B2 (en) * 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
US7490083B2 (en) 2004-02-27 2009-02-10 International Business Machines Corporation Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
WO2006057061A1 (ja) * 2004-11-29 2006-06-01 Fujitsu Limited 分散トランザクション処理方法、装置、及びプログラム
US7818386B2 (en) * 2004-12-30 2010-10-19 Oracle International Corporation Repeatable message streams for message queues in distributed systems
US8856091B2 (en) * 2005-09-09 2014-10-07 Open Invention Network, Llc Method and apparatus for sequencing transactions globally in distributed database cluster
US20070061379A1 (en) * 2005-09-09 2007-03-15 Frankie Wong Method and apparatus for sequencing transactions globally in a distributed database cluster
US7680795B2 (en) * 2007-03-16 2010-03-16 International Business Machines Corporation Shared disk clones
US7979393B2 (en) * 2008-02-22 2011-07-12 Microsoft Corporation Multiphase topology-wide code modifications for peer-to-peer systems
US8676749B2 (en) * 2008-07-31 2014-03-18 Sybase, Inc. Statement logging in databases
US8341134B2 (en) * 2010-12-10 2012-12-25 International Business Machines Corporation Asynchronous deletion of a range of messages processed by a parallel database replication apply process
CN102662946B (zh) * 2012-02-20 2015-10-07 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
US9727625B2 (en) 2014-01-16 2017-08-08 International Business Machines Corporation Parallel transaction messages for database replication
KR102377726B1 (ko) * 2015-04-17 2022-03-24 한국전자통신연구원 분산 파일 시스템에서의 파일 복제 제어 장치 및 방법
US10642860B2 (en) * 2016-06-03 2020-05-05 Electronic Arts Inc. Live migration of distributed databases
US10540217B2 (en) 2016-09-16 2020-01-21 Oracle International Corporation Message cache sizing
US20180316726A1 (en) * 2017-04-28 2018-11-01 Honeywell International Inc. Replication of identity-derived primary keys without range restrictions
CN110196759B (zh) * 2018-06-20 2022-12-06 腾讯科技(深圳)有限公司 分布式事务处理方法和装置、存储介质及电子装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4949251A (en) * 1988-07-18 1990-08-14 Digital Equipment Corporation Exactly-once semantics in a TP queuing system
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
US5452445A (en) * 1992-04-30 1995-09-19 Oracle Corporation Two-pass multi-version read consistency
US5799305A (en) * 1995-11-02 1998-08-25 Informix Software, Inc. Method of commitment in a distributed database transaction
US5781910A (en) * 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US5970231A (en) * 1996-11-27 1999-10-19 Pen Industries, Inc. Electronic newspaper and electronic publishing medium
US6549932B1 (en) * 1998-06-03 2003-04-15 International Business Machines Corporation System, method and computer program product for discovery in a distributed computing environment
US6144983A (en) * 1998-06-09 2000-11-07 Oracle Corporation Method and apparatus for dynamic lock granularity escalation and de-escalation in a computer system
US6243702B1 (en) * 1998-06-22 2001-06-05 Oracle Corporation Method and apparatus for propagating commit times between a plurality of database servers
US6510421B1 (en) * 1998-12-29 2003-01-21 Oracle Corporation Performing 2-phase commit with presumed prepare
US6463532B1 (en) * 1999-02-23 2002-10-08 Compaq Computer Corporation System and method for effectuating distributed consensus among members of a processor set in a multiprocessor computing system through the use of shared storage resources
US6708206B1 (en) * 1999-06-15 2004-03-16 Nokia Corporation Apparatus, and associated method, for providing a client with messages
US6438558B1 (en) * 1999-12-23 2002-08-20 Ncr Corporation Replicating updates in original temporal order in parallel processing database systems
US6658540B1 (en) * 2000-03-31 2003-12-02 Hewlett-Packard Development Company, L.P. Method for transaction command ordering in a remote data replication system
WO2001077841A2 (en) 2000-04-07 2001-10-18 Network Appliance, Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6782398B1 (en) * 2000-06-14 2004-08-24 Microsoft Corporation Method for executing commands on multiple computers of a network
CN1339748A (zh) * 2000-08-21 2002-03-13 叶柯 信息的发布、分拣和访问的方法
US20020165724A1 (en) * 2001-02-07 2002-11-07 Blankesteijn Bartus C. Method and system for propagating data changes through data objects
US7406486B1 (en) * 2002-04-10 2008-07-29 Oracle International Corporation Transforming transactions to increase parallelism when replicating
US7181642B1 (en) * 2003-01-17 2007-02-20 Unisys Corporation Method for distributing the processing among multiple synchronization paths in a computer system utilizing separate servers for redundancy

Also Published As

Publication number Publication date
ATE394743T1 (de) 2008-05-15
CN1523523B (zh) 2010-05-26
DE602004013475D1 (de) 2008-06-19
US7707181B2 (en) 2010-04-27
EP1450270B1 (en) 2008-05-07
EP1450270A2 (en) 2004-08-25
JP4491254B2 (ja) 2010-06-30
KR101099227B1 (ko) 2011-12-27
KR20040074627A (ko) 2004-08-25
JP2004252986A (ja) 2004-09-09
EP1450270A3 (en) 2005-06-22
US20040162859A1 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
CN1523523B (zh) 分布复制命令的系统和方法
US10997148B2 (en) Processing transactions on journaled tables
AU2017239539B2 (en) In place snapshots
US10031813B2 (en) Log record management
US10437721B2 (en) Efficient garbage collection for a log-structured data store
US8468313B2 (en) Asynchronous replication with write concurrency grouping
CN101888405B (zh) 一种云计算的文件系统和数据处理方法
US8041679B1 (en) Synthetic differential backups creation for a database using binary log conversion
US6018746A (en) System and method for managing recovery information in a transaction processing system
US8060720B2 (en) System and method for removing a storage server in a distributed column chunk data store
US7620661B2 (en) Method for improving the performance of database loggers using agent coordination
US8433863B1 (en) Hybrid method for incremental backup of structured and unstructured files
CN1716248A (zh) 并发事务和页面同步
CN101375241A (zh) 集群文件系统中的有效数据管理
CN1653427A (zh) 用于创建虚拟数据拷贝的方法和装置
US20180067662A1 (en) Memory-based on-demand data page generation
CN101243446A (zh) 从数据库镜像进行在线页还原
US20070233753A1 (en) Database system management method, database system, database device, and backup program
US20050257206A1 (en) Pair-update mechanism for update module
US20170371751A1 (en) Relational database recovery
US7991783B2 (en) Apparatus, system, and method for supporting storage functions using an embedded database management system
CN102667720A (zh) 没有排序依赖的一致性
US6557075B1 (en) Maximizing throughput in a pairwise-redundant storage system
US8195612B1 (en) Method and apparatus for providing a catalog to optimize stream-based data restoration
CN1991833B (zh) 文件系统和文件信息处理方法

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150504

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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: 20100526

Termination date: 20190219