基于半被动复制技术的业务连续性模型

上传人:E**** 文档编号:117938799 上传时间:2019-12-11 格式:PDF 页数:4 大小:768.59KB
返回 下载 相关 举报
基于半被动复制技术的业务连续性模型_第1页
第1页 / 共4页
基于半被动复制技术的业务连续性模型_第2页
第2页 / 共4页
基于半被动复制技术的业务连续性模型_第3页
第3页 / 共4页
基于半被动复制技术的业务连续性模型_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于半被动复制技术的业务连续性模型》由会员分享,可在线阅读,更多相关《基于半被动复制技术的业务连续性模型(4页珍藏版)》请在金锄头文库上搜索。

1、第22卷第10期 计算机应用与软件 Vol.22, No.10 2005年10月 Computer Applications and Software Oct. 2005 基于半被动复制技术的业务连续性模型基于半被动复制技术的业务连续性模型 姜 楠 王树义 孙效里 (大连理工大学电信学院计算机科学与技术系 辽宁 大连 116023) 摘 要 组通信中的主动复制技术和被动复制技术在实现能容错和容灾的分布式系统时,都具有很大的局限性。本文提出了一 个基于半被动复制技术的业务连续性模型,半被动复制技术吸取了上面两种复制技术各自的优点,在被动复制的基础上,每个复 制节点都可以作为主节点向外提供服务,这

2、种实现不仅保证了各个复制节点上数据的一致性,也避免了被动复制技术中主节点可 能成为瓶颈的问题。此外,两阶段提交代理的引入使该模型具有更高的通用性。 关键词 组通信 半被动复制 业务连续性 两阶段提交代理 分布式系统 BUSINESS CONTINUITY MODEL BASED ON SEMI-PASSIVE REPLICATION Jiang Nan Wang Shuyi Sun Xiaoli (College of Electronic and Information Engineering, Dalian University of Technicology, Dalian Liaoni

3、ng 116023, China) Abstract Both active replication and passive replication in group communication system are limited in implementing the false-tolerance and disaster-tolerance distributed system. In this paper, we have presented a business continuity model based on semi-passive replication, which ta

4、kes in the advantage of two former replication techniques. Based on passive replication, the semi-passive replication make every node be able to play the role of primary node, and this implement not only assures the consistency of the data on different nodes, but also solves the problem that the pri

5、mary node may become the bottleneck in the passive replication. The presented two phase commit agent makes our model more universal. Keywords Group communication Semi-passive replication Business continuity Distributed systems Two phase commit agent 1 引 言 引 言 在 20 世纪 70 年代末,公司即使遇到 36 天的系统中断, 也不会造成明显

6、的收入损失和业务破坏。然而,今天的公司只 要有 2 天的中断就会严重的影响业务。美国劳工部的一份报告 证明了这一点,93遭受了一次严重数据丢失的公司会在 5 年 内破产。9.11 事件的发生再一次给人们敲响了警钟,业务连续 性渐渐引起了各个公司的注意。在灾难恢复的基础上保证业务 的连续性将会在灾难发生时为公司和企业挽回巨大的损失。 对数据进行备份是如今灾难恢复的主要方法,但是这种方 法并不能很好的保证业务连续性。为了实现业务连续性,本文 所提出的模型在对数据进行复制的同时也对服务器进行复制, 即每个复制节点包含一个复制服务器和一个独立的数据库系 统。 当系统的某一个或者几个复制节点因发生故障而

7、失效时, 可以通过其他复制节点向客户提供服务,不会因为某处故障而 造成整个系统的瘫痪,这样既提高了系统的容错和容灾能力, 也保证了业务的连续性。另外,客户可以选择向离自己最近的 复制节点请求服务,从而减少了通信代价,改善了整个系统的 性能。但是副本的增加也带来了新的问题,即冗余节点之间的 数据一致性问题。当一个数据被更新时,为了维持数据的一致 性,更新信息必须传播到其他复制节点上,这就导致了开销的 增加。如何降低多个节点的额外开销是复制技术要考虑的关键 问题。本文提出了一种基于改进的组通信系统的实现了业务连 续性的模型。 所谓的组通信技术1是指将网络中的若干相关节点当成一 个组,组内各个节点能

8、够向客户提供同样的服务,通过空间的 冗余,来提高分布式系统的可用性以及业务连续性。组通信系 统内所有的节点对客户提供相同的服务,为了保证各个副本上 数据的一致性,要求复制方法必须做到对一个服务器副本上面 的写或更新操作同时更新到所有的其他副本上。目前主要有两 种复制技术:主动复制和被动复制2。 在主动复制技术中,各个复制节点的地位是相同的。为了 执行一个方法,进程使用全序多播(totalorder multicast)3向组 内所有的复制节点发送一个调用。每一个复制节点在本地执行 方法后将执行结果返回给调用方法的客户端,而客户端只等待 第一个回复,在得到第一个回复之后,客户端就转而去做其他 的

9、操作了。 在被动复制技术中,所有的请求都发送到一个所谓的主复 制节点上。在主复制节点上面执行服务,并在执行结束后向其 他的复制节点发送更新消息。为了提高性能,其他复制节点并 不执行驻复制节点上执行的操作,而是直接按照主复制节点的 操作结果来修改主复制节点上执行的操作,而是直接按照主复 制节点的操作结果来修改本机的数据内容。主复制节点在得到 收稿日期:2005-07-15。姜楠,硕士生,主研领域:灾难恢复,J2EE 相 关应用,Web 服务技术。 第10期 姜楠等:基于半被动复制技术的业务连续性模型 43 其他复制节点的回复后向调用者返回结果。 2 通信模型 通信模型 处理机之间的交互是分布式系

10、统运作的基础,组通信系统 作为一种分布式系统,由组内某个站点 N 向组内其他站点广播 /发送一条消息,各个站点通过通信模块可以从网上接收,当该 信息满足一定的条件时,会交付给服务处理模块,由服务处理 模块对数据库系统进行操作。 基于组通信的通信模型如图 1 所示。 图 1 通信模型图 3 半被动复制 半被动复制 前面提到的两种复制技术都存在着不足:主动复制技术要 求各个复制节点必须在每个事件上保持一致,而且每个进程在 加入或退出组的时候都要向所有其他副本发送请求,从而保证 有一个联贯的组的视图。所以在采用主动复制技术的分布式系 统中,副本组的全局一致性是以系统通讯开销的加重和服务器 性能的降低

11、为代价的;而被动复制技术在请求过多的情况下, 会因主副本成为瓶颈而产生令人不可接受的响应时间4。 所谓的半被动复制就是将主动复制和被动复制相结合,尽 量融合二者的优点,消除二者的不足,在被动复制技术的基础 上, 使得任何一个服务器副本都可以担当主服务器副本的角色, 即客户端最先请求到的那个复制节点作为该客户端的主复制节 点,其他的复制节点作为该客户端的从复制节点5。并且为了 提高性能,其他复制节点并不执行主复制节点上执行的操作, 而是直接按照主复制节点的操作结果来修改本机的数据内容。 主复制节点在得到其他复制节点的回复后向调用者返回结果 4 基于半被动复制的业务连续性模型 基于半被动复制的业务

12、连续性模型 4.1 节点结构 节点结构 在本文所提到的基于组通信的分布式系统中,业务连续性 是通过复制节点采用硬件冗余的方法来实现的。每个节点配置 一个完全复制的数据库和复制服务器。每个复制节点拥有相同 的结构,并且对外提供相同的服务。当一个复制节点由于某种 原因不能向客户提供服务时,组内的其他复制节点能够代替该 复制节点向客户提供服务。复制节点的结构如图 2 所示。 在复制服务器的事务拦截器接收到客户端的请求后,交由 事务分析器对请求进行分析6:如果客户只是请求读数据,则 通过事务处理器和两阶段提交代理对数据库进行读操作,然后 把读出的数据直接返回给客户端;如果客户的请求中包含对数 据库中数

13、据的更新,则事务处理器对数据库进行更新操作,如 果更新失败,则直接向客户端返回失败信息,如果更新成功, 并不直接将结果返回给客户端,而是将操作结果通过组通信系 统在网上转发给组内其他节点。其他节点在接收到该操作结果 之后, 按照主复制节点的操作结果在本地修改本机的数据内容, 如果修改成功就向主节点发送一个成功应答,否则向主节点发 送一个失败应答。在主节点接收到所有的回应后,如果都是成 功的回应,则在本地提交更新、向其他从节点组播提交消息并 向客户端返回结果;如果接收到失败的响应,则撤销该事件, 并通过组播通知其他的各个节点撤销该修改,并向客户端返回 错误信息。 图 2 节点结构图 4.2 业务

14、连续性保证 业务连续性保证 在本文所描述的模型中,要求客户端程序维持一个复制节 点队列,当客户端请求的那个复制节点不再提供服务时,客户 端可以根据该队列向下一个复制节点提出请求。 业务联系性的主要威胁其实就是由于软件错误、当机或者 是火灾、水灾等自然灾害和人为灾害而造成的复制节点不能继 续向客户提供服务。根据复制节点的角色,可以分如下两种情 况进行分析: (1) 主复制节点失效 当主复制节点失效时,可以分下面几种情况进行讨论: 1) 在出错的时候, 主节点还未将操作结果组播到其他的从 节点上。 此时客户端只需要重新向其他复制节点发出请求即可。 2) 在出错的时候, 主节点已经将操作结果组播到其

15、他的从 节点上,但是还没有将最后的提交或者是撤销消息组播到其他 从节点上。此时,如果从节点还没有向主节点发送更新成功或 者失败的消息,则当从节点向主节点发送消息时会因为主节点 失效而发生异常,从节点在捕捉到异常时撤销更新事件即可; 如果从节点此时已经向主节点发送了消息,由于主节点已经失 效,从节点在一个延时过后如果还没有接收到主节点的回复则 自动撤销该更新事件。至于客户端,也是只需要重新向其他复 制节点发出请求即可。 3) 在出错的时候, 主节点已经将最后的提交或者是撤销消 息组播到其他从节点上,但是还没有将结果发送给客户端。如 果主节点向其他从节点组播的是撤销消息,则当客户端捕捉到 主复制节

16、点失效的异常,从而向另一个复制节点提出同样的请 求时,在各个复制节点上原主复制节点组播过来的事件已经被 撤销,被客户端请求的新复制节点此时作为主复制节点重新执 行操作就可以了; 如果主节点向其他从节点组播的是提交消息, 则当客户端捕捉到主复制节点失效的异常,从而向另一个复制 节点提出同样的请求时,在各个复制节点上原主复制节点组播 过来的事件已经被提交,如果被客户端请求的新复制节点此时 作为主复制节点重新执行操作,则同一个请求会被处理两次, 从而出现错误。为了避免同一个请求被处理两次的这种情况, 在本文所描述的模型中,在客户端由于某个事件向复制节点发 出请求的同时,将一个事件标识和一个错误标志一并发送到请 44 计算机应用与软件 2005年 求的复制节点上。其中事件标识唯一的标识客户请求执行的事 件,错误标志表示该请求是否是在某复制节点失效的基础上再 次发送的。在新的主复制节点接收到这个请求时,先检查错误 标志来判断该请求是否是在其他复制节点失效的基础上再次发 送的,如果不是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号