本申请的目的是提供一种用于分布式事务处理的方法及设备,用以解决现有技术中可能无法保持备节点设备的事务特性的问题。其中,主节点设备在向共享存储设备回写事务提交的重做日志后,将事务提交的重做日志的日志序号作为提交日志序号发送给备节点设备;备节点设备在根据提交日志序号重放相关的重做日志后,返回限制日志序号;主节点设备向共享存储设备回写日志序号小于等于限制日志序号的数据页。通过主备节点之间相互通知相关的日志序号,并且对主节点设备向共享存储设备中回写数据页的进度进行限制,从而使得备节点设备的数据始终为主节点设备提交后某一事务后的快照,且不会读取到不应该可见的数据,由此保证事务特性。
【技术实现步骤摘要】
用于分布式事务处理的方法及设备
本申请涉及计算机领域,尤其涉及一种用于分布式事务处理的方法及设备。
技术介绍
随着互联网技术的发展,分布式事务的应用越来越广泛。基于共享存储的分布式事务数据库一般包括至少两个计算节点和一个数据节点,其中所述计算节点是指无需磁盘仅有操作系统的主机,包括一个主节点设备和至少一个备节点设备,而所述数据节点是指高可用的共享存储设备,可以通过网络输出为块设备,数据库的所有数据文件和日志都存在在所述共享存储设备的磁盘中,由所有计算节点共同挂载读取。在由可靠的数据节点的前提下(即不考虑共享存储设备的失效),利用更多的设备作为计算节点共享同一份磁盘数据,能够有效降低扩展计算资源的成本。对于分布式事务处理的场景,在计算节点的主节点设备可读可写,备节点设备只可读的情况下,有可能会因为主节点设备向共享存储设备回写数据页的进度过快,导致保证备节点由共享存储设备中读取到不应该可见的数据,从而无法保持备节点设备的事务特性。申请内容本申请的一个目的是提供一种用于分布式事务处理的方法及设备,用以解决现有技术中可能无法保持备节点设备的事务特性的问题。为实现上述目的,本申请提供了一种在主节点设备端用于分布式事务处理的方法,该方法包括:在向共享存储设备回写事务提交的重做日志后,将所述事务提交的重做日志的日志序号作为提交日志序号发送给备节点设备;接收所述备节点设备在重放日志序号小于等于所述提交日志序号的重做日志后所发送的限制日志序号,其中所述限制日志序号等于所述提交日志序号;向共享存储设备回写日志序号小于等于所述限制日志序号的数据页。本申请还提供了一种在备节点设备端用于分布式事务处理的方法,该方法包括:接收主节点设备发送的提交日志序号,其中所述提交日志序号为所述主节点设备向共享存储设备回写的事务提交的重做日志的日志序号;重放日志序号小于等于所述提交日志序号的重做日志;向所述主节点设备发送限制日志序号,其中所述限制日志序号用于控制向共享存储设备回写日志序号小于等于所述限制日志序号的数据页,所述限制日志序号等于所述提交日志序号。基于本申请的另一方面,还提供了一种用于分布式事务处理的主节点设备,该主节点设备包括:发送装置,用于在向共享存储设备回写事务提交的重做日志后,将所述事务提交的重做日志的日志序号作为提交日志序号发送给备节点设备;接收装置,用于接收所述备节点设备在重放日志序号小于等于所述提交日志序号的重做日志后所发送的限制日志序号,其中所述限制日志序号等于所述提交日志序号;数据提交装置,用于向共享存储设备回写日志序号小于等于所述限制日志序号的数据页。本申请还提供了一种用于分布式事务处理的备节点设备,该备节点设备包括:接收装置,用于接收主节点设备发送的提交日志序号,其中所述提交日志序号为所述主节点设备向共享存储设备回写的事务提交的重做日志的日志序号;日志应用装置,用于重放日志序号小于等于所述提交日志序号的重做日志;发送装置,用于向所述主节点设备发送限制日志序号,其中所述限制日志序号用于控制向共享存储设备回写日志序号小于等于所述限制日志序号的数据页,所述限制日志序号等于所述提交日志序号。与现有技术相比,本申请的技术方案中,主节点设备在向共享存储设备回写事务提交的重做日志后,将重做日志中对应事务提交事件的日志序号发送给备节点设备,由此控制备节点设备重放相应的重做日志,以更新备节点设备内存中的数据页。同时,主节点设备根据备节点设备的反馈来限制自身向回写数据页的进度,使得备节点设备的数据始终为主节点设备提交后某一事务后的快照,不会由共享存储设备中读取到不应该可见的数据,由此保证事务特性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例中一种用于分布式事务处理的数据库系统的结构示意图;图2为本申请实施例提供的一种在主节点设备端用于分布式事务处理的方法的流程图;图3为本申请实施例提供的一种在备节点设备端用于分布式事务处理的方法的流程图;图4为本申请实施例提供的一种用于分布式事务处理的主节点设备的结构示意图;图5为本申请实施例提供的一种用于分布式事务处理的备节点设备的结构示意图;图6为本申请实施例提供的另一种用于分布式事务处理的备节点设备的结构示意图;图7为一种用于分布式事务处理的数据库系统中各个设备之间的交互流程图;图8为一种用于分布式事务处理的数据库系统在处理过程中某一时刻的日志及数据状态示意图;附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图1示出了一种用于分布式事务处理的数据库系统,以一主一备的构架为例,该数据库系统中包括一台主节点设备110、一台备节点设备120和一台高可用的共享存储设备130,三者通过网络相互连接。其中,所述主节点设备110和备节点设备120均为仅有操作系统、且没有用于保存文件的磁盘的计算节点,所有文件均存在于内存中。而所述共享存储设备130可通过网络输出为块设备,数据库的所有数据文件和日志文件都存放在所述共享存储设备中,由所述主节点设备110和备节点设备120共同读取使用。根据实际的应用需求,该数据库系统也可以为包含多个备节点设备120,其中任意一个备节点设备与主节点设备、共享存储设备之间的交互方式,与本例中一主一备的构架类似。在此,本领域技术人员应当理解,所述数据库系统中的主节点设备110、备节点设备120和共享存储设备130可以包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于个人计算机、触控终端等实现;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。图2示出了在主节点设备110端用于分布式事务处理的方法包括本文档来自技高网...
【技术保护点】
一种在主节点设备端用于分布式事务处理的方法,其中,该方法包括:在向共享存储设备回写事务提交的重做日志后,将所述事务提交的重做日志的日志序号作为提交日志序号发送给备节点设备;接收所述备节点设备在重放日志序号小于等于所述提交日志序号的重做日志后所发送的限制日志序号,其中所述限制日志序号等于所述提交日志序号;向共享存储设备回写日志序号小于等于所述限制日志序号的数据页。
【技术特征摘要】
1.一种在主节点设备端用于分布式事务处理的方法,其中,该方法包括:在向共享存储设备回写事务提交的重做日志后,将所述事务提交的重做日志的日志序号作为提交日志序号发送给备节点设备;接收所述备节点设备在重放日志序号小于等于所述提交日志序号的重做日志后所发送的限制日志序号,其中所述限制日志序号等于所述提交日志序号;向共享存储设备回写日志序号小于等于所述限制日志序号的数据页。2.根据权利要求1所述的方法,其中,接收所述备节点设备在重放日志序号小于等于所述提交日志序号的重做日志后所发送的限制日志序号,包括:接收所述备节点设备在重放变更日志后所发送的限制日志序号,其中所述变更日志包括日志序号在前一次接收到的标记日志序号至本次接收到的标记日志序号之间的重做日志,所述限制日志序号等于本次所述备节点设备本次接收到提交日志序号。3.根据权利要求2所述的方法,其中,向共享存储设备回写日志序号小于等于所述限制日志序号的数据页,包括:向共享存储设备回写日志序号在前一次接收到的限制日志序号至本次接收到的限制日志序号之间的数据页。4.一种在备节点设备端用于分布式事务处理的方法,其中,该方法包括:接收主节点设备发送的提交日志序号,其中所述提交日志序号为所述主节点设备向共享存储设备回写的事务提交的重做日志的日志序号;重放日志序号小于等于所述提交日志序号的重做日志;向所述主节点设备发送限制日志序号,其中所述限制日志序号用于控制向共享存储设备回写日志序号小于等于所述限制日志序号的数据页,所述限制日志序号等于所述提交日志序号。5.根据权利要求4所述的方法,其中,重放日志序号小于等于所述提交日志序号的重做日志,包括:由所述共享存储设备获取日志序号小于等于所述提交日志序号的重做日志;重放所述重做日志。6.根据权利要求5所述的方法,其中,由所述共享存储设备获取日志序号小于等于所述提交日志序号的重做日志,包括:由所述共享存储设备获取日志序号在前一次接收到的标记日志序号至本次接收到的标记日志序号之间的重做日志。7.根据权利要求4至6中任一所述的方法,其中,该方法还包括:若需要删除所述备节点设备中的数据页,则删除日志序号小于等于所述限制日志序号的数据页。8.根据权利要求7所述的方法,其中,该方法还包括:获取读请求;若所述备节点设备不包含所述读请求对应的数据页,则由所述共享存储设备获取所述读请求对应的数据页。9...
【专利技术属性】
技术研发人员:彭立勋,翟卫祥,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。