[发明专利]一种基于进程冗余的容错系统设计方法在审

专利信息
申请号: 201310438963.5 申请日: 2013-09-25
公开(公告)号: CN103455393A 公开(公告)日: 2013-12-18
发明(设计)人: 刘璧怡;吴楠;谢若鸿;何志平;王秀娟 申请(专利权)人: 浪潮电子信息产业股份有限公司
主分类号: G06F11/14 分类号: G06F11/14
代理公司: 暂无信息 代理人: 暂无信息
地址: 250014 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 进程 冗余 容错 系统 设计 方法
【说明书】:

技术领域

发明涉及计算机应用技术领域,具体地说是一种基于进程冗余的容错系统设计方法。

背景技术

随着银行事务处理、信息服务、金融计算等领域对计算机系统的广泛应用,对计算机系统可靠性的要求也越来越高。作为提高计算机系统可靠性的重要手段,容错的含义是指在系统内部出现故障的情况下,计算机仍然能正确地执行指定算法。高端容错计算机主要应用于银行、电信等关键领域中,对于系统失效极其敏感,保证系统关键进程的可靠性至关重要。常见的容错机制主要依据静态结构冗余原理实现,然而硬件层的冗余成本很高且实现复杂,应用软件层的冗余则不具有通用性。

高端容错计算机系统通常采用了较为健全的容错机制,如处理器锁步技术、内存镜像技术、多路径I/O技术、N版本程序设计等。以上这些常见的软硬件容错机制主要依据静态结构冗余原理实现,然而硬件层的冗余成本很高且实现复杂,应用软件层的冗余则不具有通用性。

发明内容

本发明的目的是提供一种基于进程冗余的容错系统设计方法。

本发明的目的是按以下方式实现的,采用SMP架构中的多CPU为冗余硬件,构造冗余任务在独立的CPU组上并行执行,通过对冗余任务的执行数据进行比较实现检错,并使用降模、重启机制完成错误恢复,在Linux操作系统中添加容错容器,容错容器中的应用以冗余方式运行,由进程容错系统负责管理冗余任务分别在冗余硬件上独立执行,并控制任务同步、数据比较、错误检测和恢复,容错相关功能模块全部集中于操作系统核心层,容错相关功能模块包括:容错进程管理模块、错误处理模块、I/O容错控制模块和监控管理模块,其中:

(1)容错进程管理模块,该模块用于实现冗余进程全生命周期管理,包括冗余进程的创建、调度、同步、通信及销毁,使得原生进程及其冗余进程在有序执行原有逻辑的同时满足容错特性的需要;

(2)错误处理模块,当通过同步比较检测到冗余进程的运行中发生错误时,错误处理模块进行故障类型诊断并根据预配置采取相应的处理方式,快速完成错误恢复;

(3)I/O容错控制模块,该模块负责容错系统内部数据与外部数据的格式转换和冗余控制,并辅助I/O操作进行同步比较;

(4)监控管理模块,该模块包括运行于用户态的控制台和运行于内核态的监控管理模块,控制台提供给用户直观的操作界面,用户可通过控制台监测冗余进程运行状态,查看容错事件日志,对系统的主要参数进行配置;控制台的所有数据通过与内核监控模块交互获得。

具体设计步骤如下:

1)容错进程管理模块对fork、clone和vfork系统调用进行容错控制,在do_fork( )函数的基础上,增加了do_double_fork( ) 和do_ft_fork( ) 两个功能函数,实现了控制应用程序派生双模进程和双模进程派生各自子进程的功能,在容错系统中,一个进程要派生子进程将会调用fork、clone或vfork系统调用中的一个,系统会首先根据ft_mak标志位判断当前进程是否是冗余进程,如果是,调用do_ft_fork( ) 函数创建冗余进程的子进程;如果否,则判断是否有容错标志ft_exec,如果有,表明需要容错,调用do_double_fork( )函数,派生冗余进程;如果不需要容错,调用系统中原有的do_fork( ) 函数,正常派生进程,通过上述控制,实现不同情况下进程派生的需要;

2)用户通过容错控制台界面启动应用程序,打开容错开关,设置标志位ft_exec,进程容错系统为该应用程序创建一对进程,原生-冗余进程,这一对进程装载应用程序相同的执行代码,并开始在独立的CPU组上并行执行;

3)在同步协议控制下,原生-冗余进程对同时到达同步点,并开始同步,若其中某个进程在同步点上等待超时,则触发错误进入故障检测、错误处理,如果同步点上的操作为I/O操作,需要进行I/O转换,判断操作是否为写操作,若是则对原生-冗余进程对写出的数据进行比较,数据相同则认为执行正确,若比较数据不同则认为存在故障,进入故障检测、错误处理流程,若I/O操作为读操作,则I/O容错控制模块完成I/O接口的数据转换,并执行最终的实际功能操作;

4)若同步点上的操作为非I/O操作,则直接在同步点上进行状态一致性调整,如统一函数返回值,记录当前进程状态信息,完成本次同步。    

在容错容器中,一组冗余任务执行相同的功能代码,在其运行过程中,容错系统对其进行管理、同步和监控,并根据数据比较结果进行错误检测,容错容器外的任务仍以普通单模方式运行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310438963.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top