一种主备服务切换方法及装置与流程

文档序号:14022567阅读:452来源:国知局
一种主备服务切换方法及装置与流程

本发明涉及通信技术领域,特别涉及一种主备服务切换方法及装置。



背景技术:

在互联网系统中,为了满足高可用性,系统服务都部署在多台服务器上,构成一主多备的架构。正常情况下,备服务处于准备状态(冷备、热备、温备),当主服务发生故障时,备服务立即替换成为主服务,开始工作。但是,当存在两个以上的备服务时,存在选择哪一个成为主服务的切换选举问题。切换过程可以是人工操作或者自动化执行,但是选举理由通常根据经验判断,即使有些自动化过程会做一些基本功能判断,但都缺乏性能评估,因此新的主服务可能存在性能差的现象(包括响应时间长、支持并发数小等方面),不能满足当前日益增长的网络用户对性能体验的需求。



技术实现要素:

本发明的目的在于提供一种主备服务切换方法及装置,能够自动选择性能状态较好的备服务升为主服务。

为实现上述发明目的,本发明提供了一种主备服务切换方法,该方法包括:对每个备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;当确定需要执行主备服务切换时,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

为实现上述发明目的,本发明还提供了一种主备服务切换方法,该方法包括:当确定需要执行主备服务切换时,对每个备服务进行功能性探活测试,确定备服务正常工作;对每个正常工作的备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

为实现上述发明目的,本发明还提供了一种主备服务切换装置,该装置包括:第一测试单元,对每个备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;第一选择单元,当确定需要执行主备服务切换时,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

为实现上述发明目的,本发明还提供了一种主备服务切换装置,该装置包括:探活单元,当确定需要执行主备服务切换时,对每个备服务进行功能性探活测试,确定备服务正常工作;第二测试单元,对每个正常工作的备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;第二选择单元,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

综上所述,本发明实施例提供的主备服务切换方法及装置,对每个备服务进行并发性压力性能测试,获取各个备服务的性能指标,包括每秒传输事务数(tps)和资源类指标,在服务发生主备切换时,能够选择当前可提供更好性能服务的备服务提升为主服务,提高性能体验。

附图说明

图1为本发明实施例一主备服务切换方法的流程示意图。

图2为本发明实施例一主备切换装置结构示意图。

图3为本发明实施例二主备服务切换方法的流程示意图。

图4为本发明实施例二主备切换装置结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。

现有的主备服务切换装置也具有功能性的探活功能。但是,并未考虑即使功能满足要求,性能不满足业务需求的场景。例如,两个备服务分处不同机房,其中一个机房带宽较小或者正发生网络抖动,此时选取此机房的备服务为新的主服务会影响工作性能。

特别是在交叉互备部署情况下,如果同一台机器已经有一个其他服务正在工作中,新增一个工作服务可能会造成资源竞争,互相影响性能。例如,已存在的服务已经使内存占用率达到80%,此时新启动另一个服务可能存在无法申请内存的问题。

因此,现有技术的缺点:

1、主备自动切换时,不能保证新的主服务具有较好性能体验。特别是在资源紧张的情况下,新服务可能存在响应时间长、并发支持量小等性能问题。

2、备切换时不能考虑影响性能效果的各种因素,如cpu占用率、内存应用情况、磁盘输入输出(io)和网络状况等。可能造成新服务长期处于资源匮乏的状态,增大事故发生概率。

3、现有自动切换工具即使能够收集各服务器的资源情况,也不能实时监测服务在受到压力访问时的性能情况。

本发明提出一种基于性能体验的主备服务切换方法,在服务处于热备或者温备时,试探性地做并发性压力性能测试,根据性能指标做出判断,选择当前条件下性能较好的备服务成为新的主服务;在服务处于冷备时,在需要执行主备服务切换时,在功能性探活测试成功的前提下,试探性地做并发性压力性能测试,根据性能指标做出判断,选择当前条件下性能较好的备服务成为新的主服务。性能体验过程指的是进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计tps。利用本方法可以方便进行服务的主备切换,并且增加了性能评估,满足更高性能要求,提升系统的可用性和稳定性,尽量避免性能瓶颈,提高用户体验。同时,本方法还是一种自动化方法,减少运维投入。虽然自动切换后,仍需要后续长期监控,但提高了初选的可靠程度。

实施例一

本发明实施例一公开了一种主备服务切换方法,其流程示意图如图1所示,该方法包括:

步骤11、对每个备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数(tps);

本实施例中的备服务为热备服务或者温备服务,并发性压力性能测试周期性进行。并发性压力性能测试指的是采用多线程方式短期提高并发量。探测方式通常是采用传输层之上的网络协议与备服务建立连接。

所述服务器资源包括磁盘io、网络io、cpu占用率以及内存占用率等系统资源。服务包括应用服务或者数据服务等。

步骤12、当确定需要执行主备服务切换时,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

其中,确定需要执行主备服务切换的方法包括:对主服务进行周期性功能性探活测试,向主服务周期性发送探活请求,当预定时间内无法接收到主服务返回的响应后确定需要执行主备服务切换。探活请求可以根据具体应用为tcp请求,或者http请求等等。

当确定需要执行主备服务切换时,该方法进一步包括:判断切换是否需要立即进行,如果需要立即进行,则根据当前并发性压力性能测试结果进行选择,如果否,则根据下次的并发性压力性能测试结果进行选择。进一步地,所述判断切换是否需要立即进行包括:判断切换允许时间是否小于并发性压力性能测试执行的最短时间,如果小于,则确定切换需要立即进行。

所述各备服务所在服务器资源使用状况处于相同的异常范围为:各备服务所在服务器的同一资源的使用状况都超出合理范围。

为清楚理解本发明下面列举具体场景进行说明。

在热备或者温备的情况下,备服务一直处于工作状态,所以并发性压力性能测试可以周期性进行,通过多线程并发访问被测服务,访问过程等同执行功能性探活测试,因此可以直接进行并发性压力性能测试。

假设有备服务a、备服务b和备服务c

情况一、如果备服务a所在服务器cpu占用率超出合理范围,备服务b所在服务器内存占用率超出合理范围,但备服务c所在服务器的资源使用状态都在合理范围内,则选择备服务c作为新的主服务。

情况二、如果备服务a所在服务器的资源使用状态都在合理范围内,备服务b所在服务器的资源使用状态都在合理范围内,备服务c所在服务器的资源使用状态都在合理范围内,则选择tps最高的备服务作为新的主服务。

情况三、如果备服务a所在服务器cpu占用率超出合理范围,备服务b所在服务器cpu占用率超出合理范围,备服务c所在服务器cpu占用率超出合理范围,则选择tps最高的备服务作为新的主服务。

情况四、对于服务器资源的优先级,根据被测服务的特性预先设定有筛选优先级,例如当切换服务对网络带宽要求较高而对硬盘读写性能要求不高时,可将网络io作为高优先级的筛选项。

如果备服务a所在服务器cpu占用率超出合理范围,备服务b所在服务器内存占用率超出合理范围,备服务c所在服务器网络io超出合理范围。则选择备服务c作为新的主服务。

总之,在不能使用优先级的情况下,同等发压条件下,服务器资源使用状况均在合理范围内的备服务优先选择,服务器资源使用存在较少异常的备服务优先选择。在使用优先级的情况下,根据优先级进行选择。

另外,本实施例针对的是热备和温备的服务,所以在执行步骤12,当确定需要执行主备服务切换时,进一步判断切换是否需要立即进行,如果需要立即进行,则根据当前并发性压力性能测试结果进行选择,如果否,则根据下次的并发性压力性能测试结果进行选择。

切换允许时间指的是,在确保服务质量的基础上,切换允许的最长时间。并发性压力性能测试执行时间取决于切换允许时间,可以根据切换允许时间进行调整,使得并发性压力性能测试执行时间小于切换允许时间,这样就可以根据下次的并发性压力性能测试结果进行选择,而不是根据当前并发性压力性能测试结果进行选择。这样做的目的在于,当需要执行切换时,并发性压力性能测试越接近切换时刻,结果越真实有效,所以,只要并发性压力性能测试时间比较短,小于切换允许时间,就可以采用下次的并发性压力性能测试结果,使得结果更真实有效。但如果切换允许时间小于并发性压力性能测试执行的最短时间,那么,并发性压力性能测试执行时间就无法再调整了,即无法调整为并发性压力性能测试执行时间小于切换允许时间,此时需要立即执行切换。

综上所述,本发明实施例一在热备或者温备的情况下,并发性压力性能测试周期性进行,随时监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数(tps),如此,可以在需要执行主备切换时,随时主动切换,自动选择性能状态较好的备服务提升为主服务。

其中,服务器资源使用状况的合理范围需要根据不同服务器硬件和不同应用而做特殊设定。分别设定区间范围,超过合理范围则认为资源使用已到达瓶颈,抗压性不好,可能出现性能问题。

基于同样的发明构思,本发明实施例一还提出一种主备服务切换装置,如图2所示,该装置包括:

第一测试单元201,对每个备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;

第一选择单元202,当确定需要执行主备服务切换时,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

实施例二

本发明实施例二公开了一种主备服务切换方法,其流程示意图如图3所示,该方法包括:

步骤31、当确定需要执行主备服务切换时,对每个备服务进行功能性探活测试,确定备服务正常工作;

其中,确定需要执行主备服务切换的方法包括:对主服务进行周期性功能性探活测试,向主服务周期性发送探活请求,当预定时间内无法接收到主服务返回的响应后确定需要执行主备服务切换。探活请求可以根据具体应用为tcp请求,或者http请求等等。

本实施例中的备服务为冷备服务,所述对每个备服务进行功能性探活测试,确定备服务正常工作的方法包括:对每个备服务发送探活请求,当接收到备服务返回的响应后确定该备服务正常工作。探活请求可以根据具体应用为tcp请求,或者http请求等等。

步骤32、对每个正常工作的备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数(tps);

步骤33、选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

需要说明的是,由于本实施例中的备服务为冷备服务,只有当确定需要执行主备服务切换时,才启动备服务,对备服务进行功能性探活测试,在功能性探活测试成功的前提下,进行并发性压力性能测试。功能性探活测试和并发性压力性能测试各执行一次。与实施例一不同的是,实施例一中由于备服务为热备或者温备,则备服务一直处于工作状态,所以不需要进行功能性探活测试,直接进行周期性并发性压力性能测试。实施例一和实施例二的相同点是,在不能使用优先级的情况下,同等发压条件下,服务器资源使用状况均在合理范围内的备服务优先选择,服务器资源使用存在较少异常的备服务优先选择。在使用优先级的情况下,根据优先级进行选择。

综上所述,本发明实施例二在冷备的情况下,当确定需要执行主备服务切换时,启动备服务,对备服务进行功能性探活测试,在功能性探活测试成功的前提下,进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数(tps),如此,可以自动选择性能状态较好的备服务提升为主服务。

基于同样的发明构思,本发明实施例二还提出一种主备服务切换装置,如图4所示,该装置包括:

探活单元401,当确定需要执行主备服务切换时,对每个备服务进行功能性探活测试,确定备服务正常工作;

第二测试单元402,对每个正常工作的备服务进行并发性压力性能测试,监控备服务所在服务器资源使用状况,并在并发性压力性能测试过程中统计每秒传输事务数tps;

第二选择单元403,选择服务器资源使用状况在合理范围内的备服务作为新的主服务;在各备服务所在服务器资源使用状况都在合理范围内或处于相同的异常范围时,选择tps最高的备服务作为新的主服务;在各备服务所在服务器资源使用状况都超出合理范围时,根据预先设定的服务器资源的优先级,将高优先级服务器资源使用状况超出合理范围的备服务作为新的主服务。

本发明的主备服务切换方法及装置,会带来如下好处:

一、当服务发生主备切换时,自动选择性能状态较好的备服务提升为主服务。

二、综合比较当前服务器在抗压状态下的各项性能指标,选择资源环境较好的备服务。

三、实时监控性能状态。

需要说明的是,本发明中并发性压力性能测试采用的是并发多线程调用备服务接口,并发线程数和并发性压力性能测试执行时间可配。并发性压力性能测试只针对备服务进行。对主服务只进行周期性功能性探活测试。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1