著录项信息
专利名称 | 一种提高容错服务器应用层级容错性能的方法 |
申请号 | CN201110321691.1 | 申请日期 | 2011-10-21 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-04-04 | 公开/公告号 | CN102404139A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 浪潮电子信息产业股份有限公司 | 申请人地址 | 山东省济南市高新区舜雅路1036号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浪潮电子信息产业股份有限公司 | 当前权利人 | 浪潮电子信息产业股份有限公司 |
发明人 | 王友升 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供一种提高容错服务器应用层级容错性能方法的技术方案。该方案主要由自动检测与恢复模块、远程恢复模块、日志转储恢复三级串行容错模块组成,通过在操作系统内核中加入容错架构来提高应用层级服务器的容错性能。故障总是现有操作集的自检测机制进行检测,然后通过自恢复模块进行自恢复过程,自恢复不成功才将故障交给远程恢复容错模块处理,远程恢复失效后,交给日志容错模块进行本地日志的前滚。在这三级恢复过程中,自检测首先从本地执行,这样避免了多节点之间的开销;多级容错要求只要一个副本对象是正常的,就必须满足应用程序的需求而禁止停机,其他故障点可以依赖它恢复到正常状态。
1.一种提高容错服务器应用层级容错性能的方法,其特征在于所述服务器包括自恢复模块、远程恢复模块、日志容错模块,通过在操作系统内核中加入容错架构来提高应用层级服务器的容错性能,容错架构是由三级容错模块组成,故障由操作集的自检测机制进行检测,然后通过自恢复模块进行自恢复过程,自恢复不成功才将故障交给远程恢复模块处理,远程恢复失效后,交给日志容错模块进行本地日志的前滚;
具体步骤如下:
首先通过用户接口向应用层提供访问文件系统的能力,然后内核层接口依赖下层模块提供的系统调用的内核实现逻辑,内核接口层由文件系统的操作集构成,当系统正常工作时,系统调用和操作集交互,实现应用程序的功能,一旦操作失败,需要判定是否发生了故障,如果发生故障,交给三级容错模块处理;
应用层根据故障的特点和原因进行分析,然后调用三级容错模块中的自恢复模块,把故障进行隔离,隔离故障进程是通过故障处理器和故障内存将操作迁移到容错服务器中正常的硬件上工作,然后进行软件层面的恢复;如果是硬件故障或者是自检测恢复成功,则系统恢复结束;
如果自恢复模块恢复失败,则系统调用远程恢复模块远程实时恢复,在远程实时恢复过程中,故障节点机器首先会利用IP组播技术检测临近节点的B备份,利用B备份,通过通信模块进行拷贝恢复,同时保证各备份之间的一致性,如果远程恢复模块恢复成功,则容错恢复停止,否则继续进行三级容错日志转储恢复;
在日志转储恢复中,通过利用操作系统的日志功能来记录系统运行过程中的数据改变,来进行系统的前滚和后退来达到容错服务器容错恢复的目的,如果通过自检测与恢复、异己恢复和日志恢复完成故障恢复,并将结果保存,返回内核接口,这样保证容错服务器恢复过程中对用户的透明;
提高容错服务器应用层级容错性能设计时,利用PB机制,客户端访问时根据负载均衡算法定位到ServerA中,此时ServerA中的会话信息称为P备份,然后在集群内的ServerB和ServerC上分别形成一个该次访问的备份,称为B备份,一旦访问过程中,ServerA出现故障,那么应用层会切出P故障,然后对ServerB和ServerC中的B备份进行一致性检查,检查通过时,并根据算法选择其中一个B备份作为P备份为客户端提供服务器,然后被隔离的P备份故障进行自我检测并利用当前的P备份,形成一个B备份,通过这样一个逻辑设计从而实现应用层的容错;
PB机制是由多个独立的失效服务器实现服务进程和通信的,每个服务器都有一个服务进程拷贝,PB机制要求满足三个条件:一是当拷贝发生故障时,所有的其他拷贝能侦测出故障拷贝;二是当拷贝故障发生时有一个替代的拷贝,并且确保拷贝状态保持一致;三是只允许客户端与P拷贝进行交互。
2.根据权利要求l所述的方法,其特征在于,三级容错模块的容错逻辑执行步骤如下:
应用层接口发出读写指令,操作集模块进行读写分离,如果是读操作,则选取一个有效的副本,然后读成功;如果是写操作,同步所有副本,如果同步所有副本失败,服务器首先在本地进行屏蔽错误,然后自检恢复,一旦恢复失败,它会进行异己容错,如果异己容错失败,系统将进行日志容错,然后恢复成功,系统恢复成功后,然后同步所有的副本,完成写操作,容错恢复成功。
3.根据权利要求l所述的方法,其特征在于,应用层高端容错体系结构设计,采用一种松散的服务器耦合结构,集群内的每个服务器是独立的,即使有一个服务器出现停机故障,其他服务器也可以独立接收请求,每个服务器定期查看其他服务器的消息来维护集群内与其他成员的通信,每隔几秒服务器向其他的成员发送消息以告知其他成员该服务器仍在起作用,消息的发送利用可靠的IP组播技术来实现,如果一个服务器连续三次收不到某个服务器发送的消息,则服务器将把收不到消息的那台机器排除在集群之外。
4.根据权利要求l所述的方法,其特征在于,应用层级容错可靠性验证步骤如下:
根据马尔科夫状态图假设基于集群的高端容错体系结构模型在运行过程中经历如下状态,假设是三个服务器构成的集群:
p0:三个服务器均处于正常状态;
pl:系统处于写进程容错状态;
p2:系统处于读进程容错状态;
p3:一个服务器永久失效,系统处于双机活动状态中;
p4:两个服务器处于永久失效状态,系统处于单机状态下;
p5:整个系统全部失效状态;
根据马尔科夫状态图处理问题的方法知,系统的可靠度为:R (t) =1-P77 (t),在解状态方程时,写进程失效率为0. 0005,读进程失效率为0.0001。
一种提高容错服务器应用层级容错性能的方法\n技术领域\n[0001] 本发明涉及一种服务器技术, 具体地说是一种提高容错服务器应用层级容错性能的方法。\n背景技术\n[0002] 随着计算机技术的日益成熟,以及计算机硬件成本的迅速降低,各种结构复杂、功能强大的计算机系统被广泛的应用于金融、电信、能源、民航等领域。这些系统的核心服务器运转一旦出现停顿,会对整个社会生活造成严重的损害,往往会产生巨大的经济损失,甚至直接威胁到社会的安定和经济的正常运行。如何确保这些计算机系统的可靠性已经成为高端容错服务器研发人员最大的挑战。\n[0003] 目前应用广泛的双机热备技术它在一定程度上可以提高系统的可靠性,但是它也有很多不足,主要是它不能解决软件故障,不能做到完全防止停机,只能减少停机时间。另外还有一些基于数据库的集群技术,它最大的特点是软硬件偶合度大,不利于系统的可靠性设计,特别是软件的容忍性设计。\n[0004] 通过分析系统故障的原因,在应用层级进最大可能降低进程故障和通信故障最简单的方法,就是利用单个集中控制的服务器来提高服务进程的可靠性和可用性,但是这种方式太依赖于集中控制的物理服务器,虽然目前容错服务器做了相当多的冗余技术,但仍不能解决部分硬件故障问题。\n[0005] 正是在以上需求的情况下,我们提出了一种应用层级提高容错服务器容错性能的技术方案,该方案优点是基于应用层进行设计,在系统内核中加入容错架构,通过三级容错机制进行容错恢复,提高容错服务器的容错能力。\n发明内容\n[0006] 本发明的目的是提供一种提高容错服务器应用层级容错性能的方法。\n[0007] 本发明的方法是按以下方式实现的,包括自动检测与恢复模块、远程恢复模块、日志转储恢复模块,通过在操作系统内核中加入容错架构来提高应用层级服务器的容错性能,容错架构是由三级串行容错模块组成,故障由操作集的自检测机制进行检测,然后通过自恢复模块进行自恢复过程,自恢复不成功才将故障交给远程恢复容错模块处理,远程恢复失效后,交给日志容错模块进行本地日志的的前滚,为了解决部分硬件故障问题,引入了PB机制、IP组播技术和日志技术,实现无缝整合计算机硬件和应用层,克服了软硬件脱离和脱节的问题,提高系统的灵活性和可移植性:\n[0008] 为了解决部分硬件故障问题,为此我们引入了PB机制、IP组播技术和日志技术实现无缝整合计算机硬件和应用层,克服了软硬件脱离和脱节的问题,提高系统的灵活性和可移植性,该方案具有容错恢复代价小、可靠性高、真正实现软硬件之间的无缝融合的特点。\n[0009] 具体步骤如下;\n[0010] 首先通过用户接口向应用层提供访问文件系统的能力,然后内核层接口依赖下层模块提供的系统调用的内核实现逻辑,内核接口层由文件系统的操作集构成,当系统正常工作时,系统调用和操作集交互,实现应用程序的功能,一旦操作失败,需要判定是否发生了故障,如果发生故障,交给三级并行容错模块处理;\n[0011] 应用层根据故障的特点和原因进行分析,然后调用三级容错模块中的第一级自检测与恢复模块,把故障进行隔离,隔离故障进程是通过故障处理器和故障内存将操作迁移到容错服务器中正常的硬件上工作,然后进行软件层面的恢复;如果是硬件故障或者是自检测恢复成功,则系统恢复结束;\n[0012] 如果是自检测与恢复模块恢复失败,则系统调用第二级容错模块远程实时恢复,在远程实时恢复过程中,故障节点机器首先会利用IP组播技术检测临近节点的B备份,利用B备份,通过通信模块进行拷贝恢复,同时保证各备份之间的一致性,如果二级容错模块恢复成功,则容错恢复停止,否则继续进行三级容错日志转储恢复;\n[0013] 在日志转储恢复中,我们通过利用操作系统的日志功能来记录系统运行过程中的数据改变,来进行系统的前滚和后退来达到容错服务器容错恢复的目的,如果通过自检测与恢复、异己恢复和日志恢复完成故障恢复,并将结果保存,返回内核接口,这样保证容错服务器恢复过程中对用户的透明。\n[0014] 三级容错模块的容错逻辑执行步骤如下:\n[0015] 应用层接口发出读写指令,操作集模块进行读写分离,如果是读操作,则选取一个有效的副本,然后读成功;如果是写操作,同步所有副本,如果同步所有副本失败,服务器首先在本地进行屏蔽错误,然后自检恢复,一旦恢复失败,它会进行异己容错,如果异己容错失败,系统将进行日志容错,然后恢复成功,系统恢复成功后,然后同步所有的副本,完成写操作,容错恢复成功。\n[0016] 提高容错服务器应用层级容错性能设计时,利用PB机制,客户端访问时根据负载均衡算法定位到ServerA中,此时ServerA中的会话信息称为P备份,然后在集群内的ServerB和ServerC上分别形成一个该次访问的备份,称为B备份,一旦访问过程中,ServerA出现故障,那么应用层会切出P故障,然后对ServerB和ServerC中的B备份进行一致性检查,检查通过时,并根据算法选择其中一个B备份作为P备份为客户端提供服务器,然后被隔离的P备份故障进行自我检测并利用当前的P备份,形成一个B备份,通过这样一个逻辑设计从而实现应用层的容错。\n[0017] PB机制是由多个独立的失效服务器实现服务进程和通信的,每个服务器都有一个服务进程拷贝,PB机制要求满足三个条件:一是当拷贝发生故障时,所有的其他拷贝能侦测出故障拷贝;二是当拷贝故障发生时有一个替代的拷贝,并且确保拷贝状态保持一致;\n三是只允许客户端与P拷贝进行交互。\n[0018] 应用层高端容错体系结构设计,采用一种松散的服务器耦合结构,集群内的每个服务器是独立的,即使有一个服务器出现停机故障,其他服务器也可以独立接收请求,每个服务器定期查其他看服务器消息来维护集群内的其他成员列表,每隔几秒服务器向其他的成员发送消息以告知其他成员该服务器仍在起作用,消息的发送利用可靠的IP组播技术来实现,当集群内的服务器数量增大时,该方法能保持较高的效率和可扩展性,如果一个服务器连续三次收不到某个服务器发送的消息,则服务器将把收不到消息的那台机器排除在集群之外,利用这种可靠的IP组播技术进行查看,从而使集群能够动态添加删除服务器而又不影响现存服务器配置。\n[0019] 应用层级容错可靠性验证步骤如下:\n[0020] 根据马尔科夫状态图假设基于集群的高端容错体系结构模型在运行过程中经历如下七状态,假设是三个服务器构成的集群:\n[0021] p0:三个服务器均处于正常状态;\n[0022] p1:系统处于写进程容错状态;\n[0023] p2:系统处于读进程容错状态;\n[0024] p3:一个服务器永久失效,系统处于双机活动状态中;\n[0025] p4:两个服务器处于永久失效状态,系统处于单机状态下;\n[0026] p5:整个系统全部失效状态;\n[0027] 根据马尔科夫状态图处理问题的方法知,系统的可靠度为:R(t)=1-P77(t),在解状态方程时,写进程失效率为0.0005,读进程失效率为0.0001,我们发现在一定区间上通过提高容错服务器应用层级容错性能的设计模型的可靠度远大于单纯硬件容余和存在单点故障的设计模型。\n[0028] 本发明的有益效果是:具有容错恢复代价小、可靠性高、真正实现软硬件之间的无缝融合的优势。容错恢复代价小主要表现在该设计方案首先进行本地自检测模块发现故障进行恢复,这样可以避免节点之间通信模块的开销,只有自检测恢复失效时才进行远程恢复,如果远程恢复失效,才进行日志转储恢复,通过这种逐级增强的恢复来避免过多的消耗系统资源;系统的可靠性强主要表现在只要保证硬件无故障的前提下可以通过横向扩展节点来达到理论100%在线;软硬件之间的无缝融合是通过软件的故障检测和隔离来实现软硬件的有机结合,避免软件和硬件的脱离,提交软件的容忍性设计。\n[0029] 本发明的方法适合于高端容错服务器研发人员通过该方案提高容错服务器的容错性能,提供客户软硬件一体化的解决方案,同时又适合于软件研发人员在软件设计时屏蔽硬件的差异化,致力于软件层次研究。\n附图说明\n[0030] 图1是容错服务器的逻辑体系结构示意图;\n[0031] 图2是三级容错模块的逻辑执行结构图;\n[0032] 图3是基于PB机制的应用层容错设计流程图。\n具体实施方式\n[0033] 参照说明书附图对本发明的方法作以下详细地说明。\n[0034] 一种提高容错服务器容错恢复能力的技术方法,它的原理是首先根据用户的首先通过用户接口向应用层提供访问文件系统的能力,然后内核层接口依赖下层模块提供的系统调用的内核实现逻辑。内核接口层由文件系统的操作集构成,当系统正常工作时,系统调用和操作集交互,实现了应用程序的功能。一旦由操作失败,需要判定是否发生了故障,如果发生故障,交给三级并行容错模块处理,通过自检测与恢复、异己恢复和日志恢复完成故障恢复,并将结果保存,返回内核接口。在这三个模块中,主要采用故障隔离技术、IP组播技术PB技术和日志技术来实现三级容错恢复。PB机制是由多个独立的失效服务器实现服务进程和通信的,每个服务器都有一个服务进程拷贝。PB机制要求满足三个条件:一是当拷贝发生故障时,所有的其他拷贝能侦测出故障拷贝;二是当拷贝故障发生时有一个替代的拷贝,并且确保拷贝状态保持一致;三是只允许客户端与P拷贝进行交互。\n[0035] 本发明的提供的一种应用层级提高容错服务器容错性能的方法的技术方案其逻辑体系结构图如1所示:\n[0036] 具体描述如下,首先通过用户接口向应用层提供访问文件系统的能力,然后内核层接口依赖下层模块提供的系统调用的内核实现逻辑。内核接口层由文件系统的操作集构成,当系统正常工作时,系统调用和操作集交互,实现了应用程序的功能。一旦由操作失败,需要判定是否发生了故障,如果发生故障,交给三级并行容错模块处理。应用层根据故障的特点和原因进行分析,然后调用三级容错模块中的第一级自检测与恢复模块,把故障进行隔离,主要隔离故障进程,故障处理器,故障内存等,将其迁移到容错服务器中正常的硬件上工作,然后进行软件层面的恢复。如果是硬件故障或者是自检测恢复成功,则系统恢复结束。如果是自检测与恢复模块恢复失败,则系统调用第二级容错模块远程实时恢复,在远程实时恢复过程中,故障节点机器首先会利用IP组播技术检测临近节点的B备份,利用B备份,通过通信模块进行拷贝恢复,同时保证各备份之间的一致性。如果二级容错模块恢复成功,则容错恢复停止,否则继续进行三级容错日志转储恢复。在日志转储恢复中,我们通过利用操作系统的日志功能来记录系统运行过程中的数据改变,来进行系统的前滚和后退来达到容错服务器容错恢复的目的。如果通过自检测与恢复、异己恢复和日志恢复完成故障恢复,并将结果保存,返回内核接口。这样保证容错服务器恢复过程中对用户的透明。\n[0037] 三级容错模块的逻辑执行结构如图2所示:\n[0038] 应用层接口发出读写指令,操作集模块进行读写分离,如果是读操作,则选取一个有效的副本,然后读成功。如果是写操作,同步所有副本,如果同步所有副本失败,服务器首先在本地进行屏蔽错误,然后自检恢复,一旦恢复失败,它会进行异己容错,如果异己容错失败,系统将进行日志容错,然后恢复成功,系统恢复成功后,然后同步所有的副本,完成写操作,容错恢复成功。\n[0039] 在应用设计,利用PB机制,客户端访问时根据负载均衡算法定位到ServerA中,此时ServerA中的会话信息称为P备份,然后在集群内的ServerB和ServerC上分别形成一个该次访问的备份,称为B备份。一旦访问过程中,ServerA出现故障,那么应用层会在切出P故障,然后对ServerB和ServerC中的B备份进行一致性检查,检查通过时,并根据算法选择其中一个B备份作为P备份为客户端提供服务器。然后备隔离的P备份故障,进行自我检测并利用当前的P备份,形成一个B备份,通过这样一个逻辑设计从而实现应用层的容错。基于PB机制的应用层容错设计如图3所示:\n[0040] 应用层高端容错体系结构设计,采用一种松散的服务器耦合结构,集群内的每个服务器是独立的,即使有一个服务器出现停机故障,其他服务器也可以独立接收请求。每个服务器定期查其他看服务器消息来维护集群内的其他成员列表,每隔几秒服务器向其他的成员发送消息以告知其他成员该服务器仍在起作用。消息的发送利用可靠的IP组播技术来实现,当集群内的服务器数量增大时,该方法可以保持较高的效率和可扩展性。如果一个服务器连续三次收不到某个服务器发送的消息,则服务器将把收不到消息的那台机器排除在集群之外,利用这种可靠的IP组播技术进行查看,从而使集群可以动态添加删除服务器而又不影响现存服务器配置。\n[0041] 可靠性验证\n[0042] 可靠度是指一个系统在一定的环境下和一定的时间内能按预定要求完成一定功能的概率。马尔科夫状态法即适用于可修系统又适于不可修系统,需要满足马尔科夫过程,并且要求系统核部件只能取离散状态,系统的故障率λ和维修率μ均为常数。状态转换可以在任意时刻进行,但是任何小的时间Φt内,不会发生两个或者两个以上部件发生故障。\n虽然用马尔科夫状态图进行评估可靠性只能采用假设,但是在可靠性能评估方面马尔科夫状态法还是一个可信度比较高的方法。\n[0043] 根据马尔科夫状态图假设基于集群的高端容错体系结构模型在运行过程中经历如下七状态(假设是三个服务器构成的集群)如下:\n[0044] p0:三个服务器均处于正常状态;\n[0045] p1:系统处于写进程容错状态;\n[0046] p2:系统处于读进程容错状态;\n[0047] p3:一个服务器永久失效,系统处于双机活动状态中;\n[0048] p4:两个服务器处于永久失效状态,系统处于单机状态下;\n[0049] p5:整个系统全部失效状态;\n[0050] 根据马尔科夫状态图处理问题的方法知,系统的可靠度为:R(t)=1-P77(t),在解状态方程时,写进程失效率为0.0005,读进程失效率为0.0001,我们发现在一定区间上通过提高容错服务器应用层级容错性能的设计模型的可靠度远大于单纯硬件容余和存在单点故障的设计模型。\n[0051] 创新点\n[0052] 目前主流的高端容错服务器容错解决方案仅是软件或者硬件方面提出一些解决办法,无法实现软硬件的无缝融合,也很难做到理论100%在线可能。本方案充分将主流的IP组播技术、PB技术以及日志功能应用于高端容错服务器研发解决方案中,实现了容错恢复代价小、可靠性高、真正实现软硬件之间的无缝融合的特点,这也是其他容错解决方法很难做到的。\n[0053] 除说明书所述的技术特征外,均为本专业技术人员的已知技术。
法律信息
- 2014-01-15
- 2012-07-11
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201110321691.1
申请日: 2011.10.21
- 2012-04-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-07-14
|
2009-12-25
| | |
2
| |
2008-03-19
|
2007-09-17
| | |
3
| |
2009-02-18
|
2008-09-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |