CN1955967B - 用于计算机数据库系统的装置和方法 - Google Patents

用于计算机数据库系统的装置和方法 Download PDF

Info

Publication number
CN1955967B
CN1955967B CN2006101429946A CN200610142994A CN1955967B CN 1955967 B CN1955967 B CN 1955967B CN 2006101429946 A CN2006101429946 A CN 2006101429946A CN 200610142994 A CN200610142994 A CN 200610142994A CN 1955967 B CN1955967 B CN 1955967B
Authority
CN
China
Prior art keywords
agency
request
data storage
register
data
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.)
Active
Application number
CN2006101429946A
Other languages
English (en)
Other versions
CN1955967A (zh
Inventor
戴维·威廉·梅哈菲
詹姆斯·威廉·范·弗里特
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1955967A publication Critical patent/CN1955967A/zh
Application granted granted Critical
Publication of CN1955967B publication Critical patent/CN1955967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了这样一种方法,其用于通过从数据库(DB)记录器中除去代理通知要求,并且无需用于向每个等待代理提供代理可继续进行其各自处理这样的通知的等待时间即可允许DB记录器进行下一提交处理,而基本上减少了数据库(DB)日志记录处理的等待时间。当代理提交了对数据库的永久存储设备的改变时,用于对永久存储设备执行更新的记录器接收该请求。记录器对等待提交处理完成的代理的列表进行编译。将该代理列表提供给下一提交代理。下一提交代理然后向等待代理通知它们可继续进行其各自的处理。记录器可以立即进行对永久存储器的下一更新,而不会利用用于向等待代理进行通知的相当大的时间量。

Description

用于计算机数据库系统的装置和方法
技术领域
本发明通常涉及计算机数据库,并且尤其涉及管理对计算机数据库的访问。更加尤其的是,本发明涉及一种用于协调对计算机数据库的代理访问的方法和系统。
背景技术
数据库是用于对数据/信息进行存储、组织、并允许对所存储的数据/信息进行访问的有用工具。数据库用户通常使用数据库管理系统(DBMS)对数据库中的数据(字段、记录、以及文件)的存储、组织、以及检索进行控制。许多DBMS是在客户机/服务器环境中实现的,在该环境中DBMS的服务器通过网络与一个或多个客户机系统相连,并且该联网的服务器协调对数据库的客户机访问。通常通过与和DBMS相连的这些远程客户机相关联的一个或多个代理对数据库之内的数据进行更新和/或访问。
该DBMS包括用于对永久存储设备之内出现的每个改变进行记录(日志记录(logging))的数据库“记录器(logger)”,以便使数据库是可靠的。日志由用于输入/输出效率(efficiency)的临时部分和永久部分组成。临时部分用于对数据库操作的、诸如执行数据库操作时对数据库的改变这样的细节进行记录。临时部分被称为日志缓冲器,并且驻留于DBMS的存储器中。定期地、例如当记录缓冲器变满时将临时部分的内容传送到永久部分。
代表客户机的代理可以对数据库进行改变并且将这些改变记录到日志缓冲器中。当代理提交(commit)了改变时,中止代理处理,直到记录器将该改变写入到永久存储设备中并且向代理通知已永久地记录了该改变为止。在诸如大型对称多处理(SMP)系统这样的多处理环境中,大量的客户机(用户)可能彼此同时地对数据库进行改变。然而,为了确保数据库的可靠性,每次仅允许单个客户机(使用相应的代理处理)对数据库进行更新。记录器提供了这样的控制机制,该控制机制允许调度不同的代理以使用被称为“线程等待(threadwait)”的系统来执行更新。
利用线程等待系统,当在整个系统之内存在数以千计的正在执行事务的代理时,记录器必须首先将改变写入到永久存储设备,然后向所有数以千计的代理通知这些代理现在可以继续进行其各自的处理。向该大量代理进行通知,会花费相当数量的时间,并且在记录器完成每个提交处理的过程中会导致大的等待时间。代理处理对日志进行更新的总体事务速率受到记录器能够写入数据然后通知所有等待的代理继续进行的速度的限制。
因此,由于代理全部等待记录器在任何一个等待的代理可以继续进行之前通知每个等待的代理,所以传统的方法包括固有的等待时间。应当已经注意到了数据库日志记录处理中的可测量的低效率,因而,本发明认识到需要一种改善的、用于完成日志记录处理而不具有当前方法的固有等待时间的方法。
发明内容
公开了这样的一种方法、计算机程序产品、以及数据库管理系统,其用于通过从数据库(DB)记录器中除去代理通知要求,并且无需用于向每个等待代理提供代理可继续进行其各自处理这样的通知的等待时间即可允许DB记录器进行下一提交处理,而基本上减少了数据库(DB)日志记录处理的等待时间。当代理提交对数据库的永久存储设备的改变时,用于对永久存储设备执行更新的记录器接收该请求。记录器对等待提交处理完成的代理的列表进行编译,并且将其提供给下一提交代理。一旦提交处理完成,则下一提交代理就向等待代理通知它们可继续进行其各自的处理。记录器不再负责执行该通知,并且能够立即进行对永久存储器的下一更新,而不会利用用于向等待代理通知先前提交处理的完成的相当大的时间量。
根据本发明的一个方面,提供了这样一种数据库管理系统(DBMS),该数据库管理系统包括记录器实用程序和与对数据库的永久存储设备进行访问和更新的多个客户机相关联的多个代理。DBMS包括用于代表代理完成对永久(或持久性)存储设备的数据提交操作的记录器。DBMS还包括用于表示进行或完成提交处理的时间的标志。当第一代理将要被日志记录的数据/工作提交给永久存储设备时,使一个或多个客户机(或代理)进行等待(即停止数据库之内的处理),直到接收到用于表示记录器已完成提交处理的信号为止。
向顺序排对的、希望完成下一提交处理的第二代理提供等待代理列表,以便代表记录器进行通知。当记录器完成提交处理时,第二代理开始通知处理,第二代理通过该通知处理向所有等待代理通知它们可以继续进行其接下来的事务(一个或多个)。与第二代理进行该通知同时地,记录器开始第二代理的提交处理。当第二代理已结束该通知时,第二代理等待记录器将第二代理的处理的数据写入(日志记录)到永久存储设备(如果仍未完成的话)。在一种实现方式中,记录器每次提交一个缓冲器,并且因此,在第二代理完成该通知的同时,记录器可以对下一缓冲器的工作情况进行计算与处理,由此可使记录器的吞吐量增加。
从下面详细撰写的说明中可显而易见地得知本发明的上述及其他目的、特征、以及优点。
附图说明
当结合附图进行阅读时,通过参考下面对说明性实施例的详细说明,可最好地理解本发明本身及优选使用模式、其进一步的目的、以及优点,其中:
图1是示出了根据本发明一个实施例的、具有通过网络与数据库服务器相耦合的远程客户机的联网数据库系统的方框图;
图2是示出了根据本发明一个实施例的、可被用作数据库服务器的示意性计算机系统的方框图;
图3是示出了在本发明的一个示意性实施例内所使用的数据库管理系统的记录器实用程序及其他功能部件的方框图;
图4A是示出了根据本发明一个实施例、在增强型DBMS方案之内记录器完成来自代理的提交操作的处理的流程图;以及
图4B是示出了根据本发明一个实施例的不同处理的流程图,记录器实用程序通过该不同处理与代理进行协调以完成更有效的数据提交处理。
具体实施方式
本发明提供了这样的一种方法、计算机程序产品、以及数据库管理系统,其用于通过从数据库(DB)记录器中除去代理通知要求,并且无需用于向每个等待代理提供代理可继续其各自处理这样的通知的等待时间即可允许DB记录器进行下一提交处理,而基本上减少了数据库(DB)日志记录处理的等待时间。当代理提交了对数据库的永久存储设备的改变时,用于对永久存储设备执行更新的记录器接收该请求。记录器对等待提交处理完成的代理的列表进行编译,并且将其提供给下一提交代理。一旦提交处理完成,则下一提交代理就向等待代理通知它们可继续进行其各自处理。记录器不再负责执行该通知,并且能够立即进行对永久存储器的下一更新,而不会利用用于向等待代理通知先前提交处理的完成的相当大的时间量。
根据本发明的一个方面,提供了这样一种数据库管理系统(DBMS),该数据库管理系统包括记录器实用程序和与对数据库的永久存储设备进行访问和更新的多个客户机相关联的多个代理。DBMS包括用于代表代理完成对永久(或持久性)存储设备的数据提交操作的记录器。DBMS还包括用于表示进行或完成提交处理的时间的标志。当第一代理将要被日志记录的数据/工作提交给永久存储设备时,使一个或多个客户机(或代理)进行等待(即停止数据库之内的处理),直到接收到用于表示记录器已完成提交处理的信号为止。
向顺序排对的、希望完成下一提交处理的第二代理提供等待代理的列表以便代表记录器进行通知。当记录器完成提交处理时,第二代理开始通知处理,第二代理通过该通知处理向所有等待代理通知它们可以继续进行其接下来的事务(一个或多个)。与第二代理进行该通知同时地,记录器开始第二代理的提交处理。当第二代理已结束该通知时,第二代理等待记录器将第二代理的处理的数据写入(日志记录)到永久存储设备(如果仍未完成的话)。在一种实现方式中,记录器每次提交一个缓冲器,并且因此,在第二代理完成该通知的同时,记录器对下一缓冲器的工作情况进行计算与处理,由此可使记录器的吞吐量增加。
现在图1,图1说明了在其内可以有利地实现本发明的特征的示意性联网数据库环境。如图所示,联网数据库环境100包括与数据库(DB)服务器115相关联的永久存储设备110(在这里可互换地称为数据库、盘存储介质、和/或持久性存储设备)。本领域技术人员应该理解的是,在这里所描述的数据库是指诸如盘这样的可靠的永久存储设备。因此,为了说明起见,将可靠的存储设备描述为盘存储介质,然而本发明可适用于具有不同类型/形式的可靠存储设备的数据库。
多个客户机105通过网络接口/主干线130与DB服务器115相连,每个客户机105被假定为可通信地与数据库110相耦合并且提供或响应于对数据库110的内容进行修改的处理。如图所示,分别由参考标记105a、105b、105n所表示的客户机中的每一个均具有在DB服务器115上执行的DBMS之内的相应代理处理118a、118b、118n。客户机105可以是单处理器或多处理器计算机、工作站、手持便携式信息设备、或者计算机网络。客户机105还可以是彼此相似或彼此不同的。
在一个实施例中,网络接口/主干线130与附连的设备一起表示广域网(诸如互联网或万维网(WWW)),而在另一实施例中,网络接口/主干线130与附连的设备可以表示局域网(LAN)。此外,网络接口/主干线130可以包括无线链路、电话通信、无线电通信、和/或其他通信机制。
联网数据库系统100还可以包括与网络130相连的资源128。资源128可以包括存储介质、数据库、XML(可扩展的标记语言)文档集合、诸如LDAP(轻量级目录访问协议)这样的目录服务服务器、以及后端系统。在一些实施例中,将数据存储到多个数据库中。DB服务器115与数据库110和资源128之间的接口可以是LAN、互联网、或者专用接口或者它们的组合。DB服务器115和/或客户机124通过DB服务器115访问数据库110和资源128。如所说明的,DB服务器115、客户机105、数据库110、以及资源128中的每一个彼此距离很远,然而本发明也可适用于其中部件彼此位于本地这样的配置。仅仅为了说明起见,提供了上面所描述(和说明)的联网数据库系统100的配置以及下面所描述的DB服务器(图2和3),并且它们并不是用于对本发明的范围进行任何限制,本领域普通技术人员可从对以下详细说明的阅读中得知本发明的范围。
根据该说明性实施例,DB服务器115是用于执行下述软件实用程序的数据处理系统,所述软件实用程序用于提供对数据库110的访问及控制。可将DB服务器115设置成具有若干互连的服务器设备/部件的分布式系统。DB服务器115包括数据库管理系统(DBMS),该数据库管理系统120在一个实施例中可以是诸如作为国际商业机器公司(IBMTM)的产品的DB2TM这样的关系数据库管理系统。在DB服务器115所提供的且与数据库110相关联的软件实用程序中,存在主要作为代表客户机105进行操作的代理118的多个处理。该处理的实际数目的范围从几百至几千,并且每个处理代表多个客户机105之一进行操作。在这里将该处理之一称为记录器实用程序(或简称为“记录器”)125,该记录器实用程序执行若干任务,所述任务包括将数据库内所出现的每个事务记录/日志记录到数据库110之内的永久存储设备中,以及提供何时已将来自代理提交处理的数据存储到永久存储设备这样的通知。
现在参考图2,图2示出了数据处理系统200,为简单起见,假设该数据处理系统200是典型的DB服务器115,并且因此可互换地将其描述为DB服务器115。值得注意的是,当客户机105是数据处理系统时,DB服务器115的许多基本硬件部件可以与客户机105的许多基本硬件部件相似。然而,如这里所描述的,在允许增强型DBMS的功能特征的DB服务器115之内提供了另外的DBMS软件。因此,DB服务器200包括系统总线201,其与处理器202、存储器204、以及输入/输出(I/O)控制器205相耦合。I/O控制器205提供对于包括显示设备206以及诸如键盘和指示设备(例如鼠标)这样的用户输入设备208在内的若干I/O设备所需的控制。
DB服务器200还包括网络接口设备(NID)222,该网络接口设备提供了用于与经由网络接口/主干线130、通过网络相连的网络设备(例如客户机105和/或数据库110)进行通信的接口。DB服务器200进一步包括被描述为存储在存储器204之内并且每一个运行在处理器202上(即由处理器202执行)的、操作系统(OS)210、数据库实用程序(增强型DBMS)212、以及其他应用程序214。当由处理器执行时,增强型DBMS 212提供了在这里所描述的各种功能。如所描述的,存储器204包括随机存取存储器(“RAM”)216和只读存储器(“ROM”)218部件。为了完成DB服务器200之内的本地化的数据库功能,DB服务器200还包括通过I/O CC(或者,在另一实施例中,通过存储控制器)相连的硬盘220。硬盘220可以是独立磁盘冗余阵列(RAID)系统。
现在参考图3,图3说明了根据在这里所描述的新颖性特征所设计的增强型数据库管理系统(DBMS)212的一个实施例。箭头表示部件/实用程序之间的数据/信息的方向流。增强型DBMS 212驻留在DB服务器115中,该DB服务器115通过网络主干线130与客户机105相连。增强型DBMS(或者DB实用程序)212进一步与在其内存储永久日志336和存储日志缓冲器338的永久/持久性海量存储盘110(例如,硬盘或固定盘、可移除的盘或软盘、光盘、磁光盘、和/或闪速存储器)相耦合。在一个实施例中,增强型DBMS 212是诸如来自IBMTM的DB2TM产品这样的关系数据库管理系统(RDBMS)。
增强型DBMS 212包括用于接收客户机请求并对其进行处理的SQL编译器332。增强型DBMS 212还包括记录器实用程序325,该记录器实用程序325对包括有多个对数据库310做出的改变的日志记录的日志进行维护和管理(336,338)。记录器实用程序125还提供并维护两个列表,即当前列表350和先前列表355。在下面对这两个列表的功能进行了更详细的描述。记录器实用程序125还包括用于确定何时进行提交处理以及何时完成提交处理的完成标志360。完成标志360可以是单个位寄存器,该单个位寄存器具有用于表示正在进行提交处理(还未完成)的第一值(例如1)、以及用于表示已完成提交处理的第二值(例如0)。应该注意的是,仅仅为了说明性的目的,描述了被说明和描述为相对于其他部件而言位于某些配置之内或与其相关的部件。要实现本发明所提供的功能,不要求增强型DBMS 212的各种部件具有特定的定向/配置。
DBMS 320可以接收来自多个客户机105的请求并同时对其进行处理。在RDBMS实施例中,客户机105按照SQL语句的形式请求数据库操作。对于提交到数据库310的每个改变而言,记录器实用程序125创建用于描述该改变的日志记录。日志记录包括存储在日志缓冲器338中的临时部分以及存储在盘310上的永久日志306中的永久部分。日志缓冲器338包括具有固定大小或预定大小的环形缓冲器。
现在参考图4A和4B,图4A和4B是示出了根据本发明所述实施例的功能特征、当记录器完成了代理的数据提交时由各种功能块(图2-3内所描述的功能块)所执行的处理的流程图。当代理118对数据库110做出改变时,首先将该改变记录到日志缓冲器338中。如图4A所示,当代理执行提交时(步骤402),代理通过调用线程等待处理而中止操作(步骤404),其中所述线程等待处理迫使其他代理进行等待直到记录器125已将数据写入到永久存储设备336中为止。记录器125连续地扫描日志缓冲器205,以查找要写入到永久存储设备336中的数据的满缓冲器(步骤406)。记录器125还产生/汇聚(pool)等待将缓冲器写入到永久存储设备中的代理的列表,并且将该列表存储为当前列表350(步骤408)。
如说明性实施例中所示的,记录器125维护当前列表350和先前列表355(即要通知提交处理完成的代理的列表)这两个(2)不同列表。在说明性实施例中,一旦记录器125完成当前列表350,则记录器125就将当前列表350传送到等待完成提交处理的下一代理(步骤410)。记录器125接下来确定是否存在可用于写入的数据的满缓冲器(步骤412)。如果不存在,则记录器继续对满缓冲器进行扫描/监控。
当识别出满缓冲器时,记录器125计算满缓冲器之内的页面的校验和,并且将该数据写入到盘中(步骤414)。记录器125接下来确定何时完成写入操作(步骤416)。在记录器125确保写入操作已完成之后(即页面已在盘115上),记录器125对完成标志进行更新,以便向下一代理表明先前提交处理已完成(步骤418)。此后,记录器将当前列表350重命名为先前列表355(步骤420),并且转到对所接收到的下一提交请求进行处理(步骤422)。
根据一个实施例,如图4B所描述的,在调用线程等待之前,将要调用线程等待以中止操作(步骤452)的下一代理自动地检查完成标志(步骤454)。如果设置了该标志(例如,1表示先前提交已完成),那么该代理将标志自动地改变(例如,变为0),以表示正在进行新的提交处理(例如,记录器忙)(步骤456)。此后,该代理获得当前列表的所有权,并且将该列表拷贝到其本地堆栈(步骤458)。当所述代理完成了对该列表的拷贝时,代理自动地将标志设置为空状态(步骤460)。此后,代理正常地调用线程等待(步骤464),以等待继续其事务,直到它接收到数据已位于永久存储设备336上这样的确认(步骤466)为止。代理循环通过记录在当前列表之内的代理列表以通知这些代理提交操作成功。这个代理提供的通知(代替传统实现方式中的记录器提供的通知)向代理通知它们能够返回执行更多的事务,并且一旦先前提交操作完成,就释放记录器以执行另一提交操作。
作为最后的问题,重要的是,虽然已经在安装有管理软件的完全发挥功能的计算机系统的环境中对本发明的说明性实施例进行了描述并将继续对其进行描述,但是,本领域技术人员应该理解的是,可将本发明的说明性实施例的软件方面作为各种形式的程序产品进行分发,并且可同样地应用本发明的说明性实施例,而与实际上用来执行该分发的特定类型的信号承载介质无关。信号承载介质的示例包括诸如软盘、硬盘驱动器、CD ROM这样的可记录型介质,以及诸如数模通信链路这样的传输型介质。
虽然已经参考优选实施例示出和描述了本发明,但是本领域技术人员应该明白的是,在不脱离本发明的精神和范围的情况下可对其形式和细节做出各种变化。

Claims (11)

1.一种用于计算机数据库系统的装置,该计算机数据库系统包括具有增强型数据库管理系统DBMS的数据库服务器,该用于计算机数据库系统的装置包括:
用于通过记录器实用程序控制对永久数据存储设备的访问的装置,其中,只有记录器被允许根据从下述一个或多个代理所接收到的请求来对永久数据存储设备进行更新,其中所述一个或多个代理与请求对永久数据存储设备进行更新的一个或多个客户机相关联;
用于从客户机接收用于将数据存储在永久数据存储设备内的提交请求的装置;
用于在特定代理恢复处理之前,产生等待完成在永久数据存储设备内的存储的代理的当前列表的装置;
用于通过记录器完成所述数据在永久数据存储设备中的存储的装置;
用于当完成数据存储时,将当前列表重命名为先前列表的装置;
用于当完成所述数据的存储时,触发请求代理以便通知在代理的当前列表之内的每个代理的装置;并且
用于随后为记录器正在处理的下一提交请求产生新的当前列表的装置。
2.根据权利要求1的用于计算机数据库系统的装置,其中,所述增强型数据库管理系统进一步包括用于临时存储数据的日志缓冲器,其中所述用于计算机数据库系统的装置进一步包括:
用于仅当日志缓冲器满时才将日志缓冲器内的数据写入到永久数据存储设备的装置;以及
用于直到日志缓冲器充满要存储的数据之前持续地对等待代理的当前列表进行更新的装置。
3.根据权利要求1的用于计算机数据库系统的装置,进一步包括:
用于将完成标志设置为表示还未存储数据的第一状态的装置,其中所述完成标志用于表明何时已将提交请求的数据存储到永久存储设备中;以及
用于将所述完成标志设置为表示已存储了数据的第二状态的装置。
4.根据权利要求3的用于计算机数据库系统的装置,进一步包括:
当所述完成标志改变为第二状态时自动地开始由请求代理进行的数据存储完成通知的装置,其中,每个等待代理从请求代理接收该完成通知。
5.根据权利要求1的用于计算机数据库系统的装置,其中所述增强型数据库管理系统进一步包括:
第一寄存器,用于存储等待完成提交请求的代理的当前列表;
第二寄存器,用于存储等待完成先前提交请求的代理的先前列表;
其中,所述用于计算机数据库系统的装置进一步包括:
用于在完成了对提交请求的数据存储之后将代理的当前列表存储为代理的先前列表的装置,其中,当前列表被保留用于存储等待完成下一提交请求的代理;以及
用于使发出先前提交请求的代理向在代理的先前列表之内的每个代理通知完成了先前提交请求的装置。
6.一种计算机数据库系统中的方法,该计算机数据库系统包括具有增强型数据库管理系统DBMS的数据库服务器,该方法包括:
通过记录器实用程序控制对永久数据存储设备的访问,其中,只有记录器被允许根据从下述一个或多个代理所接收到的请求来对永久数据存储设备进行更新,其中所述一个或多个代理与请求对永久数据存储设备进行更新的一个或多个客户机相关联;
从客户机接收用于将数据存储在永久数据存储设备内的提交请求;
在特定代理恢复处理之前,产生等待完成在永久数据存储设备内的存储的代理的当前列表;
通过记录器完成所述数据在永久数据存储设备中的存储;
当完成数据存储时,将当前列表重命名为先前列表;
当完成所述数据的存储时,触发请求代理以便通知在代理的当前列表之内的每个代理;并且
随后为记录器正在处理的下一提交请求产生新的当前列表。
7.根据权利要求6的方法,进一步包括:
当发出提交请求时,执行线程等待处理,其中,要求完成先前所发出的提交请求的代理中止处理,直到接收到已将与该提交请求相关联的数据存储到永久存储设备中的通知为止。
8.根据权利要求6的方法,其中,所述增强型数据库管理系统进一步包括用于临时存储数据的日志缓冲器,其中所述方法进一步包括:
仅当日志缓冲器满时才将日志缓冲器内的数据写入到永久数据存储设备;并且
直到日志缓冲器充满要存储的数据之前,持续地对等待代理的当前列表进行更新。
9.根据权利要求8的方法,进一步方法包括:
将完成标志设置为用于表示还未存储数据的第一状态,其中所述完成标志表明何时已将提交请求的数据存储到永久存储设备;以及
将所述完成标志设置为用于表示已存储了数据的第二状态。
10.根据权利要求9的方法,进一步包括:
当所述完成标志改变为第二状态时,自动地开始由请求代理进行的数据存储完成通知,其中,每个等待代理从请求代理接收该完成通知。
11.根据权利要求6的方法,所述增强型数据库管理系统进一步包括:第一寄存器,用于存储等待完成提交请求的代理的当前列表;以及第二寄存器,用于存储等待完成先前提交请求的代理的先前列表,所述方法包括:
在完成了对提交请求的数据存储之后,将代理的当前列表存储为代理的先前列表,其中,当前列表被保留用于存储等待完成下一提交请求的代理;并且
通过发出先前提交请求的代理向在代理的先前列表之内的每个代理通知完成了先前提交请求。
CN2006101429946A 2005-10-27 2006-10-26 用于计算机数据库系统的装置和方法 Active CN1955967B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/260,623 2005-10-27
US11/260,623 US7620661B2 (en) 2005-10-27 2005-10-27 Method for improving the performance of database loggers using agent coordination

Publications (2)

Publication Number Publication Date
CN1955967A CN1955967A (zh) 2007-05-02
CN1955967B true CN1955967B (zh) 2010-04-07

Family

ID=37997786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101429946A Active CN1955967B (zh) 2005-10-27 2006-10-26 用于计算机数据库系统的装置和方法

Country Status (2)

Country Link
US (1) US7620661B2 (zh)
CN (1) CN1955967B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201939B2 (en) * 2006-06-02 2015-12-01 Salesforce.Com, Inc. Method and system for pushing data to a plurality of devices in an on-demand service environment
US8024738B2 (en) * 2006-08-25 2011-09-20 International Business Machines Corporation Method and system for distributing unused processor cycles within a dispatch window
US20090132607A1 (en) * 2007-11-16 2009-05-21 Lorenzo Danesi Techniques for log file processing
US9164886B1 (en) * 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
CN102693169B (zh) * 2011-03-25 2015-01-28 国际商业机器公司 在多租户环境下恢复租户数据的方法、设备和数据库系统
CN102262680B (zh) * 2011-08-18 2013-08-21 北京新媒传信科技有限公司 一种基于海量数据存取需求的分布式数据库代理系统
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
WO2013174443A1 (en) * 2012-05-25 2013-11-28 Huawei Technologies Co., Ltd. A multi-client multi memory controller in a high speed distributed memory system
US8898109B2 (en) * 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9417974B2 (en) * 2013-03-28 2016-08-16 Microsoft Technology Licensing, Llc. Transaction processing for database in persistent system
GB2524074A (en) 2014-03-14 2015-09-16 Ibm Processing data sets in a big data repository
JP2016081169A (ja) * 2014-10-14 2016-05-16 富士通株式会社 情報処理装置、データ処理システム、データ処理管理プログラム、及び、データ処理管理方法
US10303477B2 (en) * 2015-06-26 2019-05-28 Intel Corporation Persistent commit processors, methods, systems, and instructions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495601A (en) * 1992-12-11 1996-02-27 International Business Machines Corporation Method to off-load host-based DBMS predicate evaluation to a disk controller
US5950212A (en) * 1997-04-11 1999-09-07 Oracle Corporation Method and system for workload based group committing for improved performance
US6721765B2 (en) * 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
US20040122953A1 (en) * 2002-12-23 2004-06-24 International Business Machines Corporation Communication multiplexor for use with a database system implemented on a data processing system
US6813623B2 (en) * 2001-06-15 2004-11-02 International Business Machines Corporation Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system
US6910212B2 (en) * 2000-12-04 2005-06-21 International Business Machines Corporation System and method for improved complex storage locks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0636985B1 (en) * 1993-07-27 1998-04-08 International Business Machines Corporation Process monitoring in a multiprocessing server
US5737600A (en) 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
AU731871B2 (en) * 1996-11-04 2001-04-05 Sun Microsystems, Inc. Method and apparatus for thread synchronization in object-based systems
US5787439A (en) * 1996-12-13 1998-07-28 Novell, Inc. Method and system for maintaining a preferred sequence for accessing a plurality of objects
US6173442B1 (en) * 1999-02-05 2001-01-09 Sun Microsystems, Inc. Busy-wait-free synchronization
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
US6745175B2 (en) * 2001-08-02 2004-06-01 National Instruments Corporation System and method for a shared memory architecture for high speed logging and trending
US20040167894A1 (en) * 2003-02-21 2004-08-26 Sap Ag Method for using a business model data interface
US7861221B2 (en) * 2004-04-23 2010-12-28 Metasonic Ag Method and system for generating a source code for a computer program
US7366742B1 (en) * 2004-09-10 2008-04-29 Symantec Operating Corporation System and method for distributed discovery and management of frozen images in a storage environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495601A (en) * 1992-12-11 1996-02-27 International Business Machines Corporation Method to off-load host-based DBMS predicate evaluation to a disk controller
US5950212A (en) * 1997-04-11 1999-09-07 Oracle Corporation Method and system for workload based group committing for improved performance
US6910212B2 (en) * 2000-12-04 2005-06-21 International Business Machines Corporation System and method for improved complex storage locks
US6813623B2 (en) * 2001-06-15 2004-11-02 International Business Machines Corporation Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system
US6721765B2 (en) * 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
US20040122953A1 (en) * 2002-12-23 2004-06-24 International Business Machines Corporation Communication multiplexor for use with a database system implemented on a data processing system

Also Published As

Publication number Publication date
US7620661B2 (en) 2009-11-17
US20070100826A1 (en) 2007-05-03
CN1955967A (zh) 2007-05-02

Similar Documents

Publication Publication Date Title
CN1955967B (zh) 用于计算机数据库系统的装置和方法
US10990576B2 (en) Providing snapshots of journal tables
CN1280743C (zh) 数据传送方法及系统
US9152666B2 (en) Distributed database system providing data and space management methodology
US6029177A (en) Method and system for maintaining the integrity of a database providing persistent storage for objects
CN1716248B (zh) 并发事务和页面同步
CN100456254C (zh) 在系统崩溃时提取日志和追踪缓冲器的方法和系统
US8121978B2 (en) Database system providing improved methods for data replication
US8156082B2 (en) System and methods for temporary data management in shared disk cluster
US6980988B1 (en) Method of applying changes to a standby database system
US7631214B2 (en) Failover processing in multi-tier distributed data-handling systems
US20040010499A1 (en) Database system with improved methods for asynchronous logging of transactions
US8392388B2 (en) Adaptive locking of retained resources in a distributed database processing environment
US20110161281A1 (en) Distributed Transaction Management in a Distributed Shared Disk Cluster Environment
CN102270155B (zh) 应用程序实例和查询存储
US7899897B2 (en) System and program for dual agent processes and dual active server processes
US20060161700A1 (en) Redirection of storage access requests
US20050131853A1 (en) Database System Providing Self-Tuned Parallel Database Recovery
CN101211365A (zh) 用于建立搜索索引的方法和系统
CN101155116A (zh) 对通常读出事务进行工作负载管理的设备和方法
MXPA04006267A (es) Registros para y recuperacion de informacion de cambio de tabla de la base de datos que puede ser usada para invalidar entradas en la memoria cache.
US20110131193A1 (en) On Demand Locking of Retained Resources in a Distributed Shared Disk Cluster Environment
EP2352090B1 (en) System accessing shared data by a plurality of application servers
CN104813276A (zh) 从备份系统流式恢复数据库
CN102831156A (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