[发明专利]一种状态机复制方法有效
| 申请号: | 201210426104.X | 申请日: | 2012-10-30 |
| 公开(公告)号: | CN102981928A | 公开(公告)日: | 2013-03-20 |
| 发明(设计)人: | 张勇;唐家勇;邢春晓 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14;H04L29/06 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
| 地址: | 100084 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 状态机 复制 方法 | ||
技术领域
本发明涉及计算机数据处理领域,特别涉及一种状态机复制方法。
背景技术
互联网的普及和电子商务的兴起,使得在线电子交易的需求日益增加,交易系统的重要性也与日俱增。交易系统在实时交易时段内是一个典型的联机事务处理系统,在数据访问方式上具有写操作密集的特点。由于交易数据的特殊性,对于交易系统提出了高性能、高可用性等突出要求。以证券交易系统为例,近年来全球各主要交易所纷纷对其交易系统进行技术改造,追求订单处理的低延迟和高性能。目前,纳斯达克等宣称其交易系统的订单处理延迟已降至百微秒量级。
实现交易系统的高可用性的通用方法是主备机复制。根据结点间通信所依赖媒介的不同,可以采用两类方法进行复制备份,一类基于共享存储,另一类则基于消息传递。
基于共享存储的技术,拥有模型简单、易于实现等特点。然而在该技术中,日志持久化操作成为高延迟的重要原因。日志持久化的延迟受限于用作共享存储的非易失性存储设备的性能,再加上共享存储设备中需对数据进行冗余备份和事务保护以确保数据可靠性,因而使得降低订单处理延迟变得困难。日志的同步持久化成为系统运行的瓶颈。
万兆以太网、InfiniBand、RDMA等高速网络技术的出现与成熟,使得基于消息传递的状态机复制方法为降低延迟提供了可能。该方法通过发送消息来实现多结点间的数据复制。其复杂性在于如何避免因网络或结点问题造成的结点之间数据的不一致。该问题可以通过容错共识算法来解决。
Paxos算法是一种经典的容错共识算法,可以解决上述分布式复制中的一致性的问题。其扩展后所得到的容错复制算法Multi-Paxos已被广泛地应用于Google Chubby等分布式系统中。然而,普通的Multi-Paxos算法由于以下一些问题不能直接应用于对性能要求极高的联机事务处理系统中:一是现有的算法基本针对的是磁盘数据复制,而缺乏针对内存驻留数据容错访问的通用模型;二是系统运行过程中,需对结点的数据状态进行同步持久化,以保证算法正确性,但该操作大大增加了延迟;三是对于算法涉及的主结点选举、保证系统进展等实现问题,未给出明确的解决方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:
系统运行过程中需要对结点的数据状态进行同步持久化,延迟时间长、性能低,缺乏针对内存驻留数据容错访问的通用方法,在主结点出现问题时无法选举新的主结点,无法保证系统进展的一致性。
(二)技术方案
为解决上述技术问题,本发明提供了一种状态机复制方法,该方法包括步骤:
S1主结点接收客户端发送的更新请求,验证是否已更新;
S2如果否,则由主结点向从结点发送提案消息;
S3从结点接收提案消息后进行验证,如果验证成功则向其它结点发送批准消息;
S4结点收到所述批准消息后,判断该结点收到的批准消息是否超过总结点数一半,如果是,该结点执行更新请求,否则,该结点不执行更新请求,主结点更新请求执行完成后向客户端发送执行结果。
所述提案消息包含向量时钟、试图编码、实力编码和更新请求,所述批准消息包含视图编码、向量时钟和实例编码。
所述步骤S3的验证方法为比较提案消息中的视图编码与本地的视图编码,如果一致则验证成功。
该方法包括步骤:
S5主结点和从结点周期性的向其他结点广播心跳消息,各结点收到心跳消息后将其中的进展信息与本地进展信息进行比对,如果本地结点相对于广播信息落后,向广播心跳消息的结点发送请求,进行追赶。
当结点收到的心跳消息超时时,对超时结点进行故障检测。
该方法还包括:在主结点崩溃的情况下,在从结点中选举出新的主结点,进行步骤S1-S4。
在从结点中选举出新的主结点具体包括:
S1’从结点检测到主结点心跳消息超时,发送选举准备信息给其他结点;
S2’其他结点接收到选举准备信息后启动选举定时器,进行主结点选举;
S3’主结点选举成功后被选举的结点进入主结点状态,其他结点进入从结点状态;
S4’当选举定时器超时而选举没有完成时,重复S1’-S3’步,直到新的主结点产生。
该方法还包括步骤:当结点崩溃时对结点进行恢复。
所述对结点进行恢复具体包括:
S1”待恢复结点进入恢复状态;
S2”待恢复结点根据本地磁盘上已持久化的更新请求序列进行恢复;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210426104.X/2.html,转载请声明来源钻瓜专利网。





