[发明专利]一种基于进程冗余的容错系统设计方法在审
申请号: | 201310438963.5 | 申请日: | 2013-09-25 |
公开(公告)号: | CN103455393A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 刘璧怡;吴楠;谢若鸿;何志平;王秀娟 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于进程冗余的容错系统设计方法,采用SMP架构中的多CPU为冗余硬件,构造冗余任务在独立的CPU组上并行执行,通过对冗余任务的执行数据进行比较实现检错,并使用降模、重启机制完成错误恢复,在Linux操作系统中添加容错容器,容错容器中的应用以冗余方式运行,由进程容错系统负责管理冗余任务分别在冗余硬件上独立执行,并控制任务同步、数据比较、错误检测和恢复,容错相关功能模块全部集中于操作系统核心层,高端容错计算机主要应用于银行、电信等关键领域中,对于系统失效极其敏感,保证系统关键进程的可靠性至关重要。常见的容错机制主要依据静态结构冗余原理实现,然而硬件层的冗余成本很高且实现复杂,应用软件层的冗余则不具有通用性。 | ||
搜索关键词: | 一种 基于 进程 冗余 容错 系统 设计 方法 | ||
【主权项】:
一种基于进程冗余的容错系统设计方法, 其特征在于采用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/patent/201310438963.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种简化的CCT前仿真方法
- 下一篇:一种无机固体电解质的制造方法