CN105306507A - 分布式架构中的容灾处理方法及容灾处理装置 - Google Patents
分布式架构中的容灾处理方法及容灾处理装置 Download PDFInfo
- Publication number
- CN105306507A CN105306507A CN201410342460.2A CN201410342460A CN105306507A CN 105306507 A CN105306507 A CN 105306507A CN 201410342460 A CN201410342460 A CN 201410342460A CN 105306507 A CN105306507 A CN 105306507A
- Authority
- CN
- China
- Prior art keywords
- time window
- disaster tolerance
- call
- malloc
- called system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种应用于分布式架构中的容灾处理方法及装置,该方法包括:为被调用***构建沿时间轴方向分布的多个时间窗口;以及在所述时间窗口内,针对调用请求,对该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级,即:当被调用***的调用状态为可调用状态时,自动对所述被调用***执行调用;当被调用***的调用状态为禁调用状态时,自动对所述被调用***执行容灾降级。本发明相较于人工操作的现有技术,具有切换快速灵活及灵敏度高等优点。
Description
技术领域
本发明属于分布式技术领域,尤其涉及一种应用于分布式架构中的容灾处理方法及容灾处理装置。
背景技术
随着互联网技术的高速发展,计算机软件应用需求已经逐渐向响应时间、可升级性及快速数据增长等方向转变。为了适应这些需求,应用部署模式已经从使用直接附带存储器的单个主机上运行应用发展到分布式环境中。分布式***是由地理上和物理上分散的各自独立的多个节点(如服务器、计算机、信息处理设备等)组成的***,所述多个节点连接在一起以实现对不同资源的共享,一个分布式***相当于一个统一的整体。在分布式操作***支持下,互联的节点可以互相协调工作,沟通完成一项任务。因此,分布式***具有资源共享、多节点、并行性、开放性、分散控制等特点。
在分布式架构当中,***通常都不是孤立存在的,***之间经常需要相互之间执行调用来共同完成某一项功能,我们可将***之间存在调用关系的被调用***称为依赖***。依赖***的服务状态是未知的:也许99.9%时候都能提供正常的服务,但在某一个未知时间无法提供正常服务。当依赖***不能正常提供服务的时候,可能导致自身***也出现不可用状况,自身***又可能是其它***的依赖***,从而将这种不可用状态传递下去,导致大量的***出现不可用状况,在这种状况下,就需要介入以对出现问题的依赖关系执行容灾降级处理。
在现有技术中,参见图1,现有降级容灾方案需要在人为的参与下完成,即:当发现依赖***无法提供正常服务(服务异常)的时候,人为地执行容灾降级开关进行对依赖***的容灾降级;当发现依赖***恢复正常服务(服务恢复)的时候,再人为地恢复容灾降级开关恢复对依赖***的调用。但现有技术存在如下缺点:(1)需要人为参与,无法自动执行容灾降级和自动恢复;(2)灵敏度低,人为触发容灾降级无法保障灵敏度;(3)采用的是容灾降级开关的硬件设备,维护成本较高。
发明内容
本发明的目的在于提供一种应用于分布式架构中的容灾处理方法及装置,用于解决现有技术中容灾降级中需要人为参与易导致切换不及时、灵敏度低及硬件设备复杂且成本高等问题。
本发明在一方面提供一种应用于分布式架构中的容灾处理方法,在所述分布式架构中的至少两个***之间存在调用依赖关系,其中,所述方法包括:为被调用***构建沿时间轴方向分布的多个时间窗口;以及在所述时间窗口内,针对调用请求,对该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级。
可选地,对所述被调用***执行调用或者容灾降级,包括以下至少任一项:当被调用***的调用状态为可调用状态时,对所述被调用***执行调用;以及当被调用***的调用状态为禁调用状态时,对所述被调用***执行容灾降级。
可选地,所述被调用***的调用状态包括以下至少任一项:调用成功次数;调用超时次数;调用异常次数;容灾降级次数;调用失败总数;调用总数;以及调用失败比例。
可选地,该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级,包括以下至少任一项:若当前时间窗口内的调用总数未超过预设的调用总数阈值,则对所述被调用***执行调用;若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,则对所述被调用***执行容灾降级,并更新当前时间窗口内的容灾降级次数;以及若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值;若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,则对所述被调用***执行容灾降级;若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,则对所述被调用***执行调用。
可选地,在对所述被调用***执行调用过程中,还包括实时监测所述被调用***的服务状态,并根据所述服务状态实时更新当前时间窗口内被调用***的调用状态。
可选地,根据所述服务状态实时更新当前时间窗口内被调用***的调用状态,包括以下至少任一项:当服务状态正常,则当前时间窗口内的调用成功次数加1;当服务状态异常,则当前时间窗口内的调用异常次数加1;以及当服务状态超时,则当前时间窗口内的调用超时次数加1。
可选地,在当前时间窗口中,当对所述被调用***执行容灾降级后,对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口。
可选地,当切换到下一个时间窗口时,所述被调用***的调用状态被重置,并恢复对所述被调用***的调用,直至当所述被调用***的调用状态为禁调用状态时再对所述被调用***执行容灾降级。
可选地,所述多个时间窗口的时间粒度相同。
本发明在另一方面提供一种应用于分布式架构中的容灾处理装置,在所述分布式架构中的至少两个***之间存在调用依赖关系,其中,所述装置包括:时间窗口设置单元,用于为被调用***构建沿时间轴方向分布的多个时间窗口;调用状态统计分析单元,用于在所述时间窗口内,针对调用请求,对所述被调用***的调用状态进行统计分析;以及调用控制单元,用于根据所述调用状态统计分析单元在该时间窗口内的统计统计分析结果对被调用***执行调用或者容灾降级。
可选地,所述调用控制单元对所述被调用***执行调用或者容灾降级,包括以下至少任一项:所述调用控制单元在被调用***的调用状态为可调用状态的情形下对所述被调用***执行调用;以及所述调用控制单元在被调用***的调用状态为禁调用状态的情形下对所述被调用***执行容灾降级。
可选地,所述被调用***的调用状态包括以下至少任一项:调用成功次数;调用超时次数;调用异常次数;容灾降级次数;调用总数;以及调用失败比例。
可选地,所述调用控制单元根据所述调用状态统计分析单元在该时间窗口内的统计统计分析结果对被调用***执行调用或者容灾降级,包括以下至少任一项:若当前时间窗口内的调用总数未超过预设的调用总数阈值,则对所述被调用***执行调用;若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,则对所述被调用***执行容灾降级,并更新当前时间窗口内的容灾降级次数;以及若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值;若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,则对所述被调用***执行容灾降级;若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,则对所述被调用***执行调用。
可选地,所述调用状态统计分析单元还包括根据对所述被调用***实时监测所得的服务状态而实时更新当前时间窗口的调用状态。
可选地,所述调用状态统计分析单元根据对所述被调用***实时监测所得的服务状态而实时更新当前时间窗口的调用状态,包括以下至少任一项:当服务状态正常,则当前时间窗口内的调用成功次数加1;当服务状态异常,则当前时间窗口内的调用异常次数加1;以及当服务状态超时,则当前时间窗口内的调用超时次数加1。
可选地,在当前时间窗口中,当对所述被调用***执行容灾降级后,所述调用控制单元对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口。
可选地,所述容灾处理装置还包括重置单元,用于当切换到下一个时间窗口时,重置所述被调用***的调用状态,并恢复对所述被调用***的调用。
可选地,所述多个时间窗口的时间粒度相同。
本发明提供的应用于分布式架构中的容灾处理方法及装置,通过为被调用***构建沿时间轴方向分布的多个时间窗口,在任一时间窗口内,对当前时间窗口的调用状态进行统计分析并根据统计统计分析结果(被调用***的调用状态为可调用状态或禁调用状态)而对所述被调用***执行调用或者容灾降级,相较于现有技术,具有切换快速灵活及灵敏度高等优点。
另外,在本发明中,由于各个时间窗口相互独立,因此,当切换到下一个新的时间窗口时,被调用***的调用状态将被重置,从而自动恢复对所述被调用***的调用,相比于现有技术,可自动实现调用恢复。更进一步地,时间窗口的粒度越细,在时间窗口进行切换时重置会越频繁,其灵敏度就越高。
附图说明
图1为现有技术中降级容灾方案的原理示意图;
图2为本发明应用于分布式架构中的容灾处理方法的原理示意图;
图3为本发明应用于分布式架构中的容灾处理方法的流程示意图;
图4为图3中步骤S3的进一步详细流程图;
图5为图4中步骤S35的详细流程示意图;
图6为本发明应用于分布式架构中的容灾处理装置的结构示意图;以及
图7和图8为本发明在一订单创建的具体实例中的应用框图,其中,图7为订单创建中点券卡***正常调用的状态示意图,图8为订单创建中点券卡***容灾降级后的状态示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
下面结合附图和具体实施例对本发明作进一步说明。
本发明在一方面提供一种容灾处理方法,该方法应用于分布式架构,在所述分布式架构中包含有多个***,***通常都不是孤立存在的,各个***之间经常需要相互之间执行调用来共同完成某一项功能,当两个***之间存在调用依赖关系时,存在调用依赖关系的被调用***即被称为依赖***。被调用***的调用状态是未知的,当被调用***不能正常提供服务的时候,可能导致自身***也出现不可用状况,自身***又可能是其它***的被调用***,从而将这种不可用状态传递下去,导致大量的***出现不可用状况,在这种状况下,就需要介入以对出现问题的依赖关系执行容灾降级处理。而利用本发明,即可对调用依赖关系实现有效的容灾处理。
请参阅图2,其显示了应用于分布式架构中的容灾处理方法的原理示意图。如图2所示,为被调用***构建一个时间轴,将所述时间轴分割为连续且独立的多个时间窗口,在实际应用中,所述时间轴中的各个时间窗口的粒度相同,随着时间的流动逐步向后移动直至遍历所有时间窗口。各个时间窗口之间相互独立,针对任一时间窗口而言,当移动到当前窗口时,针对调用请求,对当前时间窗口内的调用状态进行统计分析并根据统计分析的结果以执行相应的操作(调用或容灾降级),即:当被调用***的调用状态为可调用状态时,对所述被调用***执行调用;当被调用***的调用状态为禁调用状态时,对所述被调用***执行容灾降级。
请参阅图3,其显示了本发明应用于分布式架构中的容灾处理方法的流程示意图。
如图3所示,本发明应用于分布式架构中的容灾处理方法包括:
步骤S1,为被调用***构建沿时间轴方向分布的多个时间窗口,所述时间窗口随着时间的流动逐步向后进行移动。
步骤S3,沿着所述时间轴依序遍历所有时间窗口,在任一个时间窗口内,对该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级。
请继续参阅图4,其为图3中步骤S3的进一步详细流程图。如图4所示,在本实施例中,上述步骤S3进一步包括:步骤S31,切换到一个新的时间窗口,被调用***的调用状态被重置,并恢复对所述被调用***的调用;步骤S33,判断是否有新的调用请求,若有新的调用请求,则进至步骤S34,反之,若没有新的调用请求,则进至步骤S351;步骤S35,对当前时间窗口内被调用***的调用状态进行统计分析而作出决策:确定是否对所述被调用***执行调用或者容灾降级;步骤S351,当被调用***的调用状态为可调用状态时,根据步骤S35的决策,对所述被调用***执行正常调用;步骤S353,当被调用***的调用状态为禁调用状态时,根据步骤S35的决策,对所述被调用***执行容灾降级。需特别说明的是,一旦,在当前时间窗口中,当对所述被调用***执行容灾降级后,对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口。而对于步骤S351,接下来还包括步骤S37,判断是否切换到下一个时间窗口,若是需要切换到下一个时间窗口,则返至步骤S31,反之,若不是切换到下一个时间窗口,则返至步骤S33,等待下一个新的调用请求。
由上可知:一方面,在当前时间窗口内,对当前时间窗口的调用状态进行统计分析以确定是否对所述被调用***执行调用或者容灾降级并作相应地自动执行调用或者容灾降级,具有切换快速灵活及灵敏度高等优点。另一方面,每一个时间窗口都是独立的,相互之间不产生影响(例如:前一个时间窗口内的调用状态并不会影响到下一个时间窗口内的调用状态),当切换到一个新的时间窗口,回到初始状态,所述被调用***的调用状态被重置,并恢复对所述被调用***的调用,同时,对当前时间窗口内的调用状态进行统计,直至当根据统计统计分析结果表明所述被调用***的调用状态为禁调用状态时再自动对所述被调用***执行容灾降级,当对所述被调用***执行容灾降级后,所述当前时间窗口内的剩余调用都会被容灾降级,直至下一个时间窗口进行下一次尝试。如此,可实现调用关系的自动恢复,具备非常高的灵敏度,进一步地,时间窗口的粒度越细,其灵敏度越高。
由上述步骤S35可知,在当前时间窗口内,需对当前时间窗口的调用状态进行统计分析,在本实施例中,所述调用状态包括:调用成功次数、调用超时次数、调用异常次数、以及容灾降级次数,其中,对于调用成功次数,对被调用***每调用成功一次,该统计值加1;对于调用超时次数,对被调用***每调用超时一次,该统计值加1;对于调用异常次数:对被调用***每调用异常一次,该统计值加1;对于容灾降级次数:对被调用***每容灾降级一次,该统计值加1。另外,调用超时次数+调用异常次数=调用失败总数,调用超时次数+调用异常次数+调用成功次数=调用总数,调用失败总数/调用总数*100%=调用失败比例。
因此,请继续参阅图5,其为图4中步骤S35的进一步详细流程图,具体包括:
在针对任一个调用请求时,即,响应到一个新的调用请求时,首先,执行步骤S351,将当前时间窗口内的调用总数与预设的调用总数阈值进行比较以判断当前时间窗口内的调用总数是否超过预设的调用总数阈值。若当前时间窗口内的调用总数未超过预设的调用总数阈值,表明所述被调用***的调用状态为可调用状态,则进至步骤S354,自动对所述被调用***执行调用;若当前时间窗口内的调用总数超过预设的调用总数阈值,则进至步骤S352;
步骤S352,将当前时间窗口内的调用失败总数与预设的调用失败总数阈值进行比较以判断当前时间窗口内的调用失败总数是否超过预设的调用失败总数阈值。若当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,表明所述被调用***的调用状态为禁调用状态,则进至步骤S355,自动对所述被调用***执行容灾降级,当前时间窗口内的容灾降级次数自动加1;若当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则进至步骤S353;
步骤S353,将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值。若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,表明所述被调用***的调用状态为禁调用状态,则进至步骤S355,自动对所述被调用***执行容灾降级,当前时间窗口内的容灾降级次数自动加1,且,当对所述被调用***执行容灾降级后,对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口;若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,表明所述被调用***的调用状态为可调用状态,则进至步骤S354,自动对所述被调用***执行调用。
进一步地,在对所述被调用***执行调用过程中,还包括步骤S356:实时监测被调用***的服务状态。根据所述服务状态实时更新当前时间窗口内的调用状态:当服务状态正常,则当前时间窗口内的调用成功次数自动加1;当服务状态异常,则当前时间窗口内的调用异常次数自动加1;当服务状态超时,则当前时间窗口内的调用超时次数自动加1。
后续,在当前被调用***执行调用过程中,当响应到下一个新的调用请求时,则再返至步骤S351,进行针对该新的调用请求的容灾处理。
本发明在另一方面还提供一种应用于分布式架构中的容灾处理装置,图6显示了该装置的结构示意图。
如图6所示,应用于分布式架构中的容灾处理装置包括:时间窗口设置单元51、调用状态统计分析单元53、以及调用控制单元55。
时间窗口设置单元51,用于为被调用***构建沿时间轴方向分布的多个时间窗口,所述时间窗口随着时间的流动逐步向后进行移动。在本实施例中,所述时间轴中的各个时间窗口的粒度相同,随着时间的流动逐步向后移动直至遍历所有时间窗口。
调用状态统计分析单元53,用于在所述时间窗口内,针对任一个调用请求,对所述被调用***的调用状态进行统计分析。在本实施例中,所述调用状态包括:调用成功次数、调用超时次数、调用异常次数、以及容灾降级次数,其中,对于调用成功次数,对被调用***每调用成功一次,该统计值加1;对于调用超时次数,对被调用***每调用超时一次,该统计值加1;对于调用异常次数:对被调用***每调用异常一次,该统计值加1;对于容灾降级次数:对被调用***每容灾降级一次,该统计值加1。另外,调用超时次数+调用异常次数=调用失败总数,调用超时次数+调用异常次数+调用成功次数=调用总数,调用失败总数/调用总数*100%=调用失败比例。
更进一步地,在对所述被调用***执行调用过程中,调用状态统计分析单元53根据对所述被调用***实时监测所得的服务状态而实时更新当前时间窗口的调用状态:当服务状态正常,则当前时间窗口内的调用成功次数自动加1;当服务状态异常,则当前时间窗口内的调用异常次数自动加1;当服务状态超时,则当前时间窗口内的调用超时次数自动加1。
调用控制单元55,用于根据调用状态统计分析单元53的统计分析结果对被调用***执行调用或者容灾降级。在本实施例中,调用状态统计分析单元53通过对所述被调用***的调用状态进行统计分析以判定被调用***的调用状态为可调用状态或禁调用状态。进一步地,调用控制单元55根据调用状态统计分析单元53的统计分析结果对被调用***执行调用或者容灾降级,包括以下至少任一项:若当前时间窗口内的调用总数未超过预设的调用总数阈值,则对所述被调用***执行调用;若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,则对所述被调用***执行容灾降级,并更新当前时间窗口内的容灾降级次数;以及若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值,若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,则对所述被调用***执行容灾降级,若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,则对所述被调用***执行调用。即,若调用状态统计分析单元53的统计分析结果满足如下任一条件时:(a-1)当前时间窗口内的调用总数未超过预设的调用总数阈值以及(a-2)当前时间窗口内的调用总数超过调用总数阈值、调用失败总数未超过调用失败总数阈值且调用失败比例未超过调用失败比例阈值,表明所述被调用***的调用状态为可调用状态,则由调用控制单元55自动对所述被调用***执行调用;以及若调用状态统计分析单元53的统计分析结果满足如下任一条件时:(b-1)当前时间窗口内的调用总数未超过预设的调用总数阈值以及(b-2)当前时间窗口内调用总数超过调用总数阈值、调用失败总数未超过调用失败总数阈值但调用失败比例超过调用失败比例阈值,表明所述被调用***的调用状态为禁调用状态,则由调用控制单元55自动对所述被调用***执行容灾降级。
在本发明中,所述容灾处理装置还包括:重置单元57,用于当切换到某一个时间窗口时,重置所述被调用***的调用状态,恢复对所述被调用***的调用,直至当所述被调用***的调用状态为禁调用状态时再自动对所述被调用***执行容灾降级。如此,通过重置单元57可实现调用关系的自动恢复,具备非常高的灵敏度,进一步地,时间窗口的粒度越细,在时间窗口进行切换时重置会越频繁,其灵敏度越高。
以下针对本发明应用于分布式架构中的容灾处理方法及装置在一例如为“订单创建”的具体实例中的应用进行详细说明。
如图7所示,正常的订单创建过程需要由订单***71先调用点券卡***73以获取相应的点券卡信息,再调用下单***75并依据所述点券卡***73中的点券卡信息来完成下单。
一般而言,点券卡***73并非订单创建的核心链路,容灾降级后不会导致用户无法创建订单,而如果不进行容灾降级,点券卡***73出现不可用的时候,将会导致订单创建的不可用。
由此,在上述实际应用中,现以点券卡***73为例,我们假定点券卡***73即作为被调用***,如此,针对点券卡***的容灾处理的具体操作流程如下:首先,为被调用的点券卡***73构建沿时间轴方向分布的多个时间窗口;随后,沿着所述时间轴依序遍历所有时间窗口,在任一个时间窗口内,对该时间窗口内点券卡***73的调用状态进行统计分析以对点券卡***73执行调用或者容灾降级,即:当点券卡***73的调用状态为可调用状态时,则对点券卡***73执行正常调用以获取相应的点券卡信息,且在之后再去调用下单***75并依据所述点券卡***73中的点券卡信息来完成下单;当点券卡***73的调用状态为禁调用状态时,则对点券卡***73执行容灾降级,并在之后迳行调用下单***75而直接完成下单(参见图8)再之后当进入下一个时间窗口后再尝试恢复对点券卡***73的正常调用。
综上所述,本发明提供的应用于分布式架构中的容灾处理方法及装置,通过为每一个被调用***构建沿时间轴分布、连续且独立的多个时间窗口,当移动到新的时间窗口时,在当前时间窗口内,针对调用请求,对当前时间窗口的服务状态进行统计分析(被调用***的调用状态为可调用状态或禁调用状态)以确定是否对所述被调用***执行调用或者容灾降级并作相应地自动执行,相较于现有技术,具有切换快速灵活及灵敏度高等优点。
另外,在本发明中,由于各个时间窗口相互独立,因此,当切换到下一个新的时间窗口时,被调用***的服务状态将被重置,从而自动恢复对所述被调用***的调用,相比于现有技术,可自动实现调用恢复。更进一步地,时间窗口的粒度越细,在时间窗口进行切换时重置会越频繁,其灵敏度就越高。
以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。
Claims (18)
1.一种应用于分布式架构中的容灾处理方法,在所述分布式架构中的至少两个***之间存在调用依赖关系,其特征在于,所述方法包括:
为被调用***构建沿时间轴方向分布的多个时间窗口;以及
在所述时间窗口内,针对调用请求,对该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级。
2.如权利要求1所述的容灾处理方法,其特征在于,对所述被调用***执行调用或者容灾降级,包括以下至少任一项:
当被调用***的调用状态为可调用状态时,对所述被调用***执行调用;以及
当被调用***的调用状态为禁调用状态时,对所述被调用***执行容灾降级。
3.如权利要求2所述的容灾处理方法,其特征在于,所述被调用***的调用状态包括以下至少任一项:
调用成功次数;
调用超时次数;
调用异常次数;
容灾降级次数;
调用失败总数;
调用总数;以及
调用失败比例。
4.如权利要求3所述的容灾处理方法,其特征在于,对该时间窗口内被调用***的调用状态进行统计分析以对所述被调用***执行调用或者容灾降级,包括以下至少任一项:
若当前时间窗口内的调用总数未超过预设的调用总数阈值,则对所述被调用***执行调用;
若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,则对所述被调用***执行容灾降级,并更新当前时间窗口内的容灾降级次数;以及
若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值;若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,则对所述被调用***执行容灾降级;若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,则对所述被调用***执行调用。
5.如权利要求4所述的容灾处理方法,其特征在于,在对所述被调用***执行调用过程中,还包括实时监测所述被调用***的服务状态,并根据所述服务状态实时更新当前时间窗口内被调用***的调用状态。
6.如权利要求5所述的容灾处理方法,其特征在于,根据所述服务状态实时更新当前时间窗口内被调用***的调用状态,包括以下至少任一项:
当服务状态正常,则当前时间窗口内的调用成功次数加1;
当服务状态异常,则当前时间窗口内的调用异常次数加1;以及
当服务状态超时,则当前时间窗口内的调用超时次数加1。
7.如权利要求4所述的容灾处理方法,其特征在于,在当前时间窗口中,当对所述被调用***执行容灾降级后,对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口。
8.如权利要求4或7所述的容灾处理方法,其特征在于,当切换到下一个时间窗口时,所述被调用***的调用状态被重置,并恢复对所述被调用***的调用,直至当所述被调用***的调用状态为禁调用状态时再对所述被调用***执行容灾降级。
9.如权利要求1所述的容灾处理方法,其特征在于,所述多个时间窗口的时间粒度相同。
10.一种应用于分布式架构中的容灾处理装置,在所述分布式架构中的至少两个***之间存在调用依赖关系,其特征在于,所述装置包括:
时间窗口设置单元,用于为被调用***构建沿时间轴方向分布的多个时间窗口;
调用状态统计分析单元,用于在所述时间窗口内,针对调用请求,对所述被调用***的调用状态进行统计分析;以及
调用控制单元,用于根据所述调用状态统计分析单元在该时间窗口内的统计统计分析结果对被调用***执行调用或者容灾降级。
11.如权利要求10所述的容灾处理装置,其特征在于,所述调用控制单元对所述被调用***执行调用或者容灾降级,包括以下至少任一项:
所述调用控制单元在被调用***的调用状态为可调用状态的情形下对所述被调用***执行调用;以及
所述调用控制单元在被调用***的调用状态为禁调用状态的情形下对所述被调用***执行容灾降级。
12.如权利要求11所述的容灾处理装置,其特征在于,所述被调用***的调用状态包括以下至少任一项:
调用成功次数;
调用超时次数;
调用异常次数;
容灾降级次数;
调用总数;以及
调用失败比例。
13.如权利要求12所述的容灾处理装置,其特征在于,所述调用控制单元根据所述调用状态统计分析单元在该时间窗口内的统计统计分析结果对被调用***执行调用或者容灾降级,包括以下至少任一项:
若当前时间窗口内的调用总数未超过预设的调用总数阈值,则对所述被调用***执行调用;
若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数超过预设的调用失败总数阈值,则对所述被调用***执行容灾降级,并更新当前时间窗口内的容灾降级次数;以及
若当前时间窗口内的调用总数超过预设的调用总数阈值且当前时间窗口内的调用失败总数未超过预设的调用失败总数阈值,则将当前时间窗口内的调用失败比例与预设的调用失败比例阈值进行比较以判断当前时间窗口内的调用失败比例是否超过预设的调用失败比例阈值;若当前时间窗口内的调用失败比例超过预设的调用失败比例阈值,则对所述被调用***执行容灾降级;若当前时间窗口内的调用失败比例未超过预设的调用失败比例阈值,则对所述被调用***执行调用。
14.如权利要求13所述的容灾处理装置,其特征在于,所述调用状态统计分析单元还包括根据对所述被调用***实时监测所得的服务状态而实时更新当前时间窗口的调用状态。
15.如权利要求14所述的容灾处理装置,其特征在于,所述调用状态统计分析单元根据对所述被调用***实时监测所得的服务状态而实时更新当前时间窗口的调用状态,包括以下至少任一项:
当服务状态正常,则当前时间窗口内的调用成功次数加1;
当服务状态异常,则当前时间窗口内的调用异常次数加1;以及
当服务状态超时,则当前时间窗口内的调用超时次数加1。
16.如权利要求13所述的容灾处理装置,其特征在于,在当前时间窗口中,当对所述被调用***执行容灾降级后,所述调用控制单元对所述当前时间窗口内的剩余调用请求均执行容灾降级,直至下一个时间窗口。
17.如权利要求13或16所述的容灾处理装置,其特征在于,还包括重置单元,用于当切换到下一个时间窗口时,重置所述被调用***的调用状态,并恢复对所述被调用***的调用。
18.如权利要求10所述的容灾处理装置,其特征在于,所述多个时间窗口的时间粒度相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410342460.2A CN105306507B (zh) | 2014-07-18 | 2014-07-18 | 分布式架构中的容灾处理方法及容灾处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410342460.2A CN105306507B (zh) | 2014-07-18 | 2014-07-18 | 分布式架构中的容灾处理方法及容灾处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306507A true CN105306507A (zh) | 2016-02-03 |
CN105306507B CN105306507B (zh) | 2019-09-20 |
Family
ID=55203256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410342460.2A Active CN105306507B (zh) | 2014-07-18 | 2014-07-18 | 分布式架构中的容灾处理方法及容灾处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306507B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294073A (zh) * | 2016-08-15 | 2017-01-04 | 合智能科技(深圳)有限公司 | 服务调用方法及装置 |
CN106713028A (zh) * | 2016-12-20 | 2017-05-24 | 北京小米移动软件有限公司 | 业务降级方法、装置和分布式任务调度*** |
CN107277091A (zh) * | 2016-04-07 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 一种控制方法和*** |
CN108108266A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 容灾方法、装置及服务器 |
CN109218369A (zh) * | 2017-07-05 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 远程过程调用请求控制方法及装置 |
CN109726062A (zh) * | 2018-05-14 | 2019-05-07 | 网联清算有限公司 | 代理服务器的下线方法和控制服务器 |
CN109976935A (zh) * | 2019-03-14 | 2019-07-05 | 北京三快在线科技有限公司 | 微服务架构、微服务节点及其熔断恢复方法、装置 |
CN112433891A (zh) * | 2020-12-02 | 2021-03-02 | 中国建设银行股份有限公司 | 数据处理方法、装置和服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739799A (zh) * | 2012-07-04 | 2012-10-17 | 合一网络技术(北京)有限公司 | 一种分布式应用中的分布式通讯方法 |
CN103425545A (zh) * | 2013-08-20 | 2013-12-04 | 浪潮电子信息产业股份有限公司 | 一种多处理器服务器的***容错方法 |
CN103617038A (zh) * | 2013-11-28 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种分布式应用***的服务监控方法及装置 |
-
2014
- 2014-07-18 CN CN201410342460.2A patent/CN105306507B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739799A (zh) * | 2012-07-04 | 2012-10-17 | 合一网络技术(北京)有限公司 | 一种分布式应用中的分布式通讯方法 |
CN103425545A (zh) * | 2013-08-20 | 2013-12-04 | 浪潮电子信息产业股份有限公司 | 一种多处理器服务器的***容错方法 |
CN103617038A (zh) * | 2013-11-28 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种分布式应用***的服务监控方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277091B (zh) * | 2016-04-07 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种控制方法和*** |
CN107277091A (zh) * | 2016-04-07 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 一种控制方法和*** |
CN106294073B (zh) * | 2016-08-15 | 2019-03-12 | 合一智能科技(深圳)有限公司 | 服务调用方法及装置 |
CN106294073A (zh) * | 2016-08-15 | 2017-01-04 | 合智能科技(深圳)有限公司 | 服务调用方法及装置 |
CN108108266A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 容灾方法、装置及服务器 |
CN106713028A (zh) * | 2016-12-20 | 2017-05-24 | 北京小米移动软件有限公司 | 业务降级方法、装置和分布式任务调度*** |
CN106713028B (zh) * | 2016-12-20 | 2020-06-02 | 北京小米移动软件有限公司 | 业务降级方法、装置和分布式任务调度*** |
CN109218369A (zh) * | 2017-07-05 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 远程过程调用请求控制方法及装置 |
CN109218369B (zh) * | 2017-07-05 | 2021-08-03 | 阿里巴巴集团控股有限公司 | 远程过程调用请求控制方法及装置 |
CN109726062A (zh) * | 2018-05-14 | 2019-05-07 | 网联清算有限公司 | 代理服务器的下线方法和控制服务器 |
CN109726062B (zh) * | 2018-05-14 | 2021-10-15 | 网联清算有限公司 | 代理服务器的下线方法和控制服务器 |
CN109976935B (zh) * | 2019-03-14 | 2020-09-04 | 北京三快在线科技有限公司 | 微服务架构、微服务节点及其熔断恢复方法、装置 |
CN109976935A (zh) * | 2019-03-14 | 2019-07-05 | 北京三快在线科技有限公司 | 微服务架构、微服务节点及其熔断恢复方法、装置 |
CN112433891A (zh) * | 2020-12-02 | 2021-03-02 | 中国建设银行股份有限公司 | 数据处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN105306507B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306507A (zh) | 分布式架构中的容灾处理方法及容灾处理装置 | |
CN106899666B (zh) | 一种针对业务标识的数据处理方法及装置 | |
US20170024285A1 (en) | Automatic serial starting of resource groups on failover | |
CN110187992B (zh) | 故障分析方法及装置 | |
CN111324471A (zh) | 服务调整方法、装置、设备及存储介质 | |
CN113132176B (zh) | 一种控制边缘节点的方法、节点及边缘计算*** | |
CN109873714B (zh) | 云计算节点配置更新方法及终端设备 | |
CN109391512A (zh) | 一种服务发布方法、装置及电子设备 | |
CN108390914B (zh) | 一种服务更新方法及装置、*** | |
CN112256433A (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN107547451B (zh) | 一种多路服务器、cpu连接方法及装置 | |
EP4006725A1 (en) | Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium | |
US8959383B2 (en) | Failover estimation using contradiction | |
CN112559565A (zh) | 一种异常检测方法、***及装置 | |
US11861133B1 (en) | Apparatus and methods of analyzing status of computing servers | |
CN109587218B (zh) | 一种集群选举的方法和装置 | |
CN113656215B (zh) | 一种基于集中配置的自动化容灾方法、***、介质和设备 | |
CN110764690B (zh) | 分布式存储***及其领导节点选举方法和装置 | |
CN113391882A (zh) | 虚拟机内存管理方法、装置、存储介质及电子设备 | |
CN113760446A (zh) | 资源调度方法、装置、设备及介质 | |
US11029865B2 (en) | Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes | |
CN111797070A (zh) | 票务数据处理方法及装置 | |
CN112306371A (zh) | 存储管理的方法、设备和计算机程序产品 | |
KR102567541B1 (ko) | 엣지 서비스 인스턴스 배포 장치 및 그 제어방법 | |
CN112565419B (zh) | 目标服务节点访问方法、***、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211108 Address after: Room 603, room 602, No. 38, Gaopu Road, Tianhe District, Guangzhou, Guangdong Patentee after: Guangzhou Jianyue Information Technology Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |