双机热备需求及方案

双机热备需求及方案

ID:39574276

大小:79.50 KB

页数:8页

时间:2019-07-06

双机热备需求及方案_第1页
双机热备需求及方案_第2页
双机热备需求及方案_第3页
双机热备需求及方案_第4页
双机热备需求及方案_第5页
资源描述:

《双机热备需求及方案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、双机热备需求及方案n名词解释:双机热备:双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。具体可google。n需求:1、业务切换:

2、一台机器发生故障时另一台机器自动接手业务并负责运行,业务交换时间不得长于五分钟。2、数据同步:两台机器所拥有的以支持业务正常运行的数据保持一致,其中异步误差不得超过五分钟。3、对外提供统一访问接口:外部访问主备机时,标识符一致。n框架方案:1、双机热备软件内嵌:双机热备软件作为需要双机热备功能的软件系统的一个功能组件。2、双机热备软件外部独立双机热备软件作为一个单独的工具软件,以托管方式管理需要双机热备功能的软件,独立于被托管软件,且支持托管多个。u比较:1、双机热备软件内置于需要双机热备功能的软件之中则双机热备软件为定制功能,需求固定变化点少,开发相对容易简单,缺点

3、是每一款需要双机热备功能的软件都需要编写独自的双机热备模块。双机热备模块的开发受需要双机热备功能软件所采用语言及框架设计的局限。维护成本高,在新的软件中需要双机热备功能时,开发人员需要重新编写代码进行定制并要负责大量白盒测试,后期开发成本高。2、双机热备软件作为工具软件独立,非定制。设计阶段需求相对不固定,变化点多,初期开发难度大,成本高。优点:开发灵活,通用,不局限于具体软件。仅需开发一套双机热备软件,可满足公司所有产品的双机热备功能需求,并可作为单独商品销售于其他软件公司。对于公司的产品维护较简单,在新的软件中应用双机热备软件时,仅需功能测试。u结论:针对我公司行

4、业背景结合公司对于平台软件的需求、公司产品的特性,本文使用第二种。n详细方案:业务切换、数据同步、统一访问接口。u业务切换:一台机器发生故障时另一台机器自动接手服务并负责运行,服务交换时间不得长于五分钟。此处具有争议的主要为:主备机关系、服务进程侦听。l主备机关系:1、绝对概念:主机为绝对主机,备机为绝对备机。主机瘫痪之后备机启动,当主机恢复正常时则自动从备机手中接手业务进入活动状态,而备机进入侦听状态,不支持手动切换。如我公司安监KJ580系统。2、相对概念:当前运行的系统为主机,处于侦听状态的为备机。当备机接手主机业务后将取代主机地位作为主机运行,而主机则进入备机

5、角色。支持手动切换功能。如北京煤科院人员定位KJ236系统。²比较:1、主备机切换必然导致部分数据的丢失降低系统可靠性,而双机热备的初衷为降低数据丢失增加系统可靠性。而第一种会额外增加1倍的数据丢失,即主机瘫痪时丢失一次,主机恢复正常时丢失一次。第二种仅在主机瘫痪时丢失一次。²结论:本文采取第二种,主备机相对的概念。l进程侦听的方案:²Windows下:ü文件映射:进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。WIN32API中允许多个进程访问同一文件映射对象,各进程在自己的空间内接受内

6、存的指针,通过使用这些指针实现数据的共享,以实现进程之间信息交互。实现方法:1.继承:第一个进程建立文件映射对象,它的子进程继承该对象的句柄2.命名文件映射:第一个进程在建立文件映射对象时可以给该对象指定一个名字(可与文件名不同)。第二个进程可通过这个名字打开此文件映射对象。另外,第一个进程也可以通过一些其它IPC机制(有名管道、邮件槽等)把名字传给第二个进程3.句柄复制:第一个进程建立文件映射对象,然后通过其它IPC机制(有名管道、邮件槽等)把对象句柄传递给第二个进程。第二个进程复制该句柄就取得对该文件映射对象的访问权限ü共享内存:文件映射的一种特殊情况。进程在创建

7、文件映射对象时用0xFFFFFFFF来代替文件句柄(HANDLE)表示对应的文件映射对象是从操作系统页面文件访问内存,其它进程打开该文件映射对象就可以访问该内存块。ü邮件槽:提供进程间单向通信能力,任何进程都能建立邮件槽成为邮件槽服务器。其它进程,称为邮件槽客户,可以通过邮件槽的名字给邮件槽服务器进程发送消息。进来的消息一直放在邮件槽中,直到服务器进程读取它为止。一个进程既可以是邮件槽服务器也可以是邮件槽客户,因此可建立多个邮件槽实现进程间的双向通信ü匿名管道:父进程和子进程之间,或同一父进程的两个子进程之间传输数据的无名字的单向管道。通常由父进程创

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。