CN108108266A - 容灾方法、装置及服务器 - Google Patents
容灾方法、装置及服务器 Download PDFInfo
- Publication number
- CN108108266A CN108108266A CN201611050868.8A CN201611050868A CN108108266A CN 108108266 A CN108108266 A CN 108108266A CN 201611050868 A CN201611050868 A CN 201611050868A CN 108108266 A CN108108266 A CN 108108266A
- Authority
- CN
- China
- Prior art keywords
- logic
- logical process
- result
- disaster recovery
- threshold value
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种容灾方法、装置及服务器,当需要执行第一逻辑时,发送第一逻辑调用请求,在获取与第一逻辑调用请求对应的第一逻辑处理结果后,不是直接根据第一逻辑处理结果判断是否执行第一逻辑之后的第二逻辑,而是对设定历史时长内获取的第一逻辑处理结果进行统计分析,根据统计分析结果判断是否启用容灾策略,当判断结果为启用容灾策略时,不管第一逻辑处理结果是否指示执行第二逻辑,均执行第二逻辑,从而避免因逻辑错误而返回异常的第一逻辑处理结果给用户带来的不便,实现了逻辑容灾,从而降低提供服务的系统未停止工作却不能正常提供服务给用户带来不便的概率。
Description
技术领域
本发明涉及容灾技术领域,更具体地说,涉及一种容灾方法、装置及服务器。
背景技术
对于提供服务的系统而言,为了防止系统因意外停止工作,通常会建立两套或多套功能相同的系统,这些功能相同的系统之间可以进行健康状态监视和功能切换。正常情况下,由其中一套系统提供服务,当该套系统因为异常停止工作时,可以切换到另一套系统来提供服务,实现容灾。
然而,发明人研究发现,即便提供服务的系统未停止工作,仍然会出现不能正常提供服务的情况,给用户带来不便。因此,有必要提出一种容灾方法,以避免提供服务的系统未停止工作却不能正常提供服务给用户带来的不便。
发明内容
本发明的目的是提供一种容灾方法、装置及服务器,以降低提供服务的系统未停止工作却不能正常提供服务给用户带来不便的概率。
为实现上述目的,本发明提供了如下技术方案:
一种容灾方法,包括:
发送第一逻辑调用请求,所述第一逻辑调用请求用于请求执行第一逻辑;
获取所述第一逻辑的执行结果,得到第一逻辑处理结果;所述第一逻辑处理结果用于指示是否执行第二逻辑,所述第二逻辑为所述第一逻辑的下一逻辑;
获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;所述分析结果用于指示是否启用容灾策略;
若所述分析结果指示启用容灾策略,执行所述第二逻辑。
本发明实施例还提供一种容灾装置,包括:
发送模块,用于发送第一逻辑调用请求,所述第一逻辑调用请求用于请求执行第一逻辑;
第一获取模块,用于获取所述第一逻辑的执行结果,得到第一逻辑处理结果;所述第一逻辑处理结果用于指示是否执行第二逻辑,所述第二逻辑为所述第一逻辑的下一逻辑;
第二获取模块,用于获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
统计分析模块,用于对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;所述分析结果用于指示是否启用容灾策略;
逻辑处理模块,用于若所述分析结果指示启用容灾策略,执行所述第二逻辑。
本发明实施例还提供一种服务器,其包括如上述所述的容灾装置。
本发明实施例提供的容灾方法、装置及服务器,当需要执行第一逻辑时,发送第一逻辑调用请求,在获取与第一逻辑调用请求对应的第一逻辑处理结果后,不是直接根据第一逻辑处理结果判断是否执行第一逻辑之后的第二逻辑,而是对设定历史时长内获取的第一逻辑处理结果进行统计分析,根据统计分析结果判断是否启用容灾策略,当判断结果为启用容灾策略时,不管第一逻辑处理结果是否指示执行第二逻辑,均执行第二逻辑,从而避免因逻辑错误而返回异常的第一逻辑处理结果给用户带来的不便,实现了逻辑容灾,从而降低提供服务的系统未停止工作却不能正常提供服务给用户带来不便的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用于提供服务的系统的一种架构示意图;
图2为本发明实施例提供的容灾方法的一种实现流程图;
图3为本发明实施例提供的对设定历史时长内得到的多个第一逻辑处理结果进行统计分析,得到分析结果的一种实现流程图;
图4为本发明实施例提供的当占比大于第一预设阈值时,确定需要启用容灾策略的一种实现流程图;
图5为本发明实施例提供的容灾装置的一种结构示意图;
图6为本发明实施例提供的统计分析模块的一种结构示意图;
图7为本发明实施例提供的第二分析单元的一种结构示意图;
图8为本发明实施例提供的容灾装置的另一种结构示意图;
图9为本发明实施例提供的逻辑处理模块的一种结构示意图;
图10为本发明实施例提供的服务器的硬件结构框图;
图11为本发明实施例提供的服务系统的一种结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的用于提供服务的系统的一种架构示意图。
一个提供服务(如,登录服务、支付服务等等)的系统通常会包括多个子系统,该服务的整体逻辑由多个子逻辑构成,每个子系统执行其中一个子逻辑,也即所有子系统的逻辑组合构成了系统所提供服务的整体逻辑。基于此,每个子系统称为系统所提供服务的依赖系统,即系统所提供服务的逻辑的实现依赖于子系统所执行的子逻辑。
例如,一种提供支付服务的系统,该支付服务可以至少包括以下四个逻辑:判断风险等级,支付方余额是否足够,收款方是否可信,以及支付四个逻辑。每个逻辑由一个依赖系统实现。
如图1所示,提供服务的系统的架构有三层,分别为:业务层、依赖层和异常源。其中,
业务层用于提供服务,而该服务的逻辑的实现依赖于依赖系统执行自有逻辑的逻辑处理结果。业务层通过调用依赖层的依赖系统而使得依赖系统执行自有逻辑并向业务层返回逻辑处理结果。
依赖层通过调用异常源以执行自有逻辑的处理过程。
需要说明的是,图1中的异常源是指依赖系统可以调用的系统(为便于叙述,后文将依赖系统可以调用的系统称为源系统),这些源系统可能会产生异常,而不是说这些源系统一直是异常的。也就是说,依赖系统在调用这些源系统的时候,这些源系统有可能是正常的,也有可能是异常的。其中,
数据异常可以包括:数据库管理员(Database Administrator,DBA)对数据的异常操作导致数据异常。
配置异常可以包括:上线配置变更带来的异常。
调用接口(Application Programming Interface,API)异常可以包括:调用API有异常的返回。
当依赖系统调用异常的源系统后,就会向业务层返回异常的逻辑处理结果,业务层在接收到异常的逻辑处理结果后,就不会按照提供正常服务所需的逻辑进行处理,从而导致不能正常提供服务。本发明实施例中,将依赖系统调用异常的源系统而导致不能正常提供服务的现象称为逻辑异常。逻辑异常与系统异常的区别在于,当依赖系统异常时,依赖系统不能执行其自有逻辑,此时依赖系统会向业务层返回错误码或者不返回任何信息,而逻辑异常是指,依赖系统仍然能够执行其自有逻辑,只是逻辑处理结果不是正常提供服务所需的逻辑处理结果了。
请参阅图2,图2为本发明实施例提供的容灾方法的一种实现流程图,可以包括:
步骤S21:服务器向依赖系统发送第一逻辑调用请求,以便依赖系统执行第一逻辑。
第一逻辑为实现客户端所请求的第一服务所需的多个逻辑中的其中一个逻辑。
当需要执行第一逻辑时,服务器根据客户端所请求的第一服务的逻辑向依赖系统发送逻辑调用请求。
要实现客户端所请求的第一服务,需要按照上述多个逻辑的执行顺序依次执行该多个逻辑。那么,需要执行第一逻辑时是指:服务器接收到客户端发送的服务请求时,或者,第一逻辑之前的逻辑已执行完成。当服务器接收到客户端发送的服务请求时,需要执行的第一逻辑是上述多个逻辑中的第一个逻辑。
步骤S22:依赖系统接收到第一逻辑调用请求后,根据自有逻辑处理过程向源系统发送数据、配置信息或API等调用请求。具体调用哪个源系统由依赖系统根据其实际配置情况进行选择。
步骤S23:源系统向依赖系统返回数据、配置信息或接口等的调用结果。
步骤S24:依赖系统根据源系统返回的调用结果执行自有逻辑,得到第一逻辑处理结果。该第一逻辑处理结果用于指示服务器是否执行第一逻辑的下一逻辑,即按照执行顺序,执行完第一逻辑之后应该执行的逻辑。为便于叙述,将第一逻辑的下一逻辑称为第二逻辑。
若源系统向依赖系统返回的处理结果是异常的,则第一逻辑处理结果也是异常的;若源系统向依赖系统返回的处理结果是正常的,则第一逻辑处理结果也是正常的。
步骤S25:依赖系统向服务器返回第一逻辑处理结果。
步骤S26:服务器接收到第一逻辑处理结果后,获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果。
距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果,可以是指接收到第一逻辑处理结果之前的设定时长内,服务器接收到的针对其它的第一逻辑调用请求所接收到的逻辑处理结果。其中,其它的第一逻辑调用请求可以包括:同一个用户在不同的时间向服务器发送的针对第一服务的服务请求后所触发的第一逻辑调用请求,和/或,不同用户向服务器发送的针对第一服务的服务请求后所触发的第一逻辑调用请求。
上述多个第一逻辑处理结果可以包括当前时刻获取的第一逻辑处理结果,也可以不包括当前时刻获取的第一逻辑处理结果。
步骤S27:服务器对得到的多个第一逻辑处理结果进行统计分析,得到分析结果;该分析结果用于指示是否启用容灾策略。
步骤S28:若分析结果指示启用容灾策略,执行第二逻辑。
当分析结果指示启用容灾策略时,说明发生了逻辑层面的故障,需要进行故障隔离,即需要进行逻辑层面的容灾。
本发明实施例中,即使第一逻辑处理结果指示不执行第二逻辑,当分析结果指示启用容灾策略时,仍然执行第一逻辑之后的第二逻辑。
当分析结果指示不启用容灾策略时,若第一逻辑处理结果指示执行第二逻辑,则执行第二逻辑;若第一逻辑处理结果指示不执行第二逻辑,则禁止执行第二逻辑。也就是,若分析结果指示不启用容灾测量时,则按照第一逻辑处理结果的指示进行处理。
例如,还以支付服务为例,假设要完成支付服务需要先判断风险等级,若风险等级为低风险等级或中风险等级,则执行判断支付方余额是否足够的逻辑,否则不执行判断支付方余额是否足够的逻辑;若支付方余额足够,则执行判断收款方是否可信的逻辑,否则不执行判断收款方是否可信的逻辑。若收款方可信,则执行支付逻辑,否则不执行支付逻辑。那么,
当需要执行判断风险等级的逻辑时,服务器向执行风险等级判断逻辑的依赖系统(简称风控系统)发送逻辑调用请求,若风控系统向服务器返回的逻辑处理结果为高风险,说明逻辑是异常的,则根据传统的方法,服务器是不会执行判断支付方余额是否足够的逻辑的。而本发明实施例中,服务器在接收到风控系统返回的逻辑处理结果后,不是直接根据逻辑处理结果判断是否执行判断支付方余额是否足够的逻辑,而是先对设定历史时长内获取的针对支付服务的判断风险等级的逻辑处理结果进行统计分析,基于统计分析结果判断是否启用容灾策略,在判断结果为启用容灾策略时,即使逻辑处理结果为高风险,仍然执行判断支付方余额是否足够的逻辑。实现了对支付业务的逻辑容灾。
本发明实施例提供的容灾方法,当需要执行第一逻辑时,发送第一逻辑调用请求,在获取与第一逻辑调用请求对应的第一逻辑处理结果后,不是直接根据第一逻辑处理结果判断是否执行第一逻辑之后的第二逻辑,而是对设定历史时长内获取的第一逻辑处理结果进行统计分析,根据统计分析结果判断是否启用容灾策略,当判断结果为启用容灾策略时,不管第一逻辑处理结果是否指示执行第二逻辑,均执行第二逻辑,从而避免因逻辑错误而返回异常的第一逻辑处理结果给用户带来的不便,实现了逻辑容灾,从而降低提供服务的系统未停止工作却不能正常提供服务给用户带来不便的概率。还提高了提供服务的系统的健壮性。
请参阅图3,图3为本发明实施例提供的对设定历史时长内得到的多个第一逻辑处理结果进行统计分析,得到分析结果的一种实现流程图,可以包括:
步骤S31:统计设定历史时长内获取的多个第一逻辑处理结果的总量,以及上述多个第一逻辑处理结果中,指示不执行第二逻辑的第一逻辑处理结果的数量;
步骤S32:确定设定历史时长内获取的指示不执行第二逻辑的第一逻辑处理结果的数量,在上述多个第一逻辑处理结果的总量中的占比;
步骤S33:若占比大于第一预设阈值,确定启用容灾策略。若占比小于或等于第一预设阈值,则不启用容灾策略。
当占比大于第一预设阈值,说明发生了逻辑故障,需要进行逻辑层面的容灾。
在一个可选的实施例中,当确定启用容灾策略时,可以选择对部分请求第一服务的用户进行容灾,也可以选择对全部请求第一服务的用户进行容灾。基于此,请参阅图4,图4为本发明实施例提供的当占比大于第一预设阈值时,确定启用容灾策略的一种实现流程图,可以包括:
步骤S41:若占比大于第一预设阈值,将占比与第二预设阈值进行比较;其中,第二预设阈值大于第一预设阈值;
步骤S42:若占比小于或等于第二预设阈值,确定对满足预设条件的用户启用容灾策略;
当占比小于或等于第二预设阈值时,只对部分请求第一服务的用户进行容灾。
还以支付服务为例,在执行判断风险等级的逻辑时,若依赖系统返回的风险等级为高,则可以只对在常用电子设备(例如,手机)上进行支付的用户启动容灾策略,而不在常用电子设备进行支付的用户则不启动容灾策略。
也就是说,当占比大于第一预设阈值,且小于第二预设阈值时,若请求支付服务的用户A是在常用电子设备上进行支付,则可以对该用户A启用容灾策略,即,当用户A请求支付服务时,即使判断风险等级为高,也可以执行下一个逻辑。而若用户A不是在常用电子设备上进行支付,则不对该用户A启用容灾策略,即在判断风险等级为高时,不执行下一个逻辑。
步骤S43:当占比大于第二预设阈值时,确定对所有请求第一服务的用户启用容灾策略。
当占比大于第二预设阈值时,对所有请求第一服务的用户启用容灾策略。
以上述支付服务为例,当占比大于第二预设阈值时,不管用户A是否在常用电子设备上进行支付,均对用户A启用容灾策略。
在一个可选的实施例中,在确定启用容灾策略之后,还可以包括:
若第一逻辑处理结果指示不执行第二逻辑,则将发送第一逻辑调用请求的接口由第一接口切换为第二接口。该第二接口是执行第一逻辑的依赖系统的备用系统的接口。
当需要再次执行第一逻辑时,通过第二接口发送第一逻辑调用请求,以及接收与第一逻辑调用请求对应的逻辑处理结果。
本实施例中,当提供第一服务的系统为容灾系统时,则执行第一逻辑的依赖系统包括主系统和备用系统。若第一逻辑处理结果指示不执行第二逻辑,且需要启用容灾策略时,说明执行第一逻辑的依赖系统出现逻辑异常,此时切换到备用系统,后续需要再次执行第一逻辑时,由备用系统执行第一逻辑。
与传统的基于系统故障进行主/备系统切换不同,本实施例中,基于逻辑异常进行主/备系统切换,即逻辑容灾与系统容灾相结合,提高了容灾的有效性。
在一个可选的实施例中,为了保证请求服务的用户的网络安全。当确定需要启用容灾策略时,若第一逻辑处理结果指示不执行第二逻辑,则调用第三逻辑,以对请求服务的用户进行认证;当认证通过时,才执行第二逻辑,进一步提高容灾的有效性。
与方法实施例相对应,本发明实施例还提供一种容灾装置。本发明实施例提供的容灾装置的一种结构示意图如图5所示,可以包括:
发送模块51,第一获取模块52,第二获取模块53,统计分析模块54和逻辑处理模块55;其中,
发送模块51用于发送第一逻辑调用请求,该第一逻辑调用请求用于请求执行第一逻辑;
第一获取模块52用于获取第一逻辑的执行结果,得到第一逻辑处理结果;第一逻辑处理结果用于指示是否执行第二逻辑,第二逻辑为第一逻辑的下一逻辑;
第二获取模块53用于获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
统计分析模块54用于对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;该分析结果用于指示是否启用容灾策略;
逻辑处理模块55用于若分析结果指示启用容灾策略,执行第二逻辑。
本发明实施例提供的容灾装置,当需要执行第一逻辑时,发送第一逻辑调用请求,在获取与第一逻辑调用请求对应的第一逻辑处理结果后,不是直接根据第一逻辑处理结果判断是否执行第一逻辑之后的第二逻辑,而是对设定历史时长内获取的第一逻辑处理结果进行统计分析,根据统计分析结果判断是否启用容灾策略,当判断结果为启用容灾策略时,不管第一逻辑处理结果是否指示执行第二逻辑,均执行第二逻辑,从而避免因逻辑错误而返回异常的第一逻辑处理结果给用户带来的不便,实现了逻辑容灾,从而降低提供服务的系统未停止工作却不能正常提供服务给用户带来不便的概率。
在一可选的实施例中,上述统计分析模块54的一种结构示意图如图6所示,可以包括:统计单元61,第一分析单元62和第二分析单元63;其中,
统计单元61用于统计设定历史时长内获取的多个第一逻辑处理结果的总量,以及多个第一处理结果中,指示不执行第二逻辑的第一逻辑处理结果的数量;
第一分析单元62用于确定设定历史时长内获取的指示不执行第二逻辑的第一逻辑处理结果的数量,在上述多个第一逻辑处理结果的总量中的占比;
第二分析单元63用于若占比大于第一预设阈值,确定启用容灾策略;若占比小于或等于第一预设阈值,确定不启用容灾策略。
当占比大于第一预设阈值,说明发生了逻辑故障,需要进行逻辑层面的容灾。
在以可选的实施例中,第二分析单元63的一种结构示意图如图7所示,可以包括:比较子单元71和确定子单元72;其中,
比较子单元71用于若占比大于第一预设阈值,将占比与第二预设阈值进行比较;其中,第二预设阈值大于第一预设阈值;
确定子单元72用于当占比小于或等于第二预设阈值时,确定对满足预设条件的用户启用容灾策略;若占比大于第二预设阈值,确定对所有用户启用容灾策略。
当确定启用容灾策略时,可以选择对部分用户进行容灾,也可以选择对全部用户进行容灾。
在一可选的实施例中,在图5所示实施例的基础上,本发明实施例提供的容灾装置的另一种结构示意图如图8所示,还可以包括:
确定模块81,用于当分析结果指示启用容灾策略时,若第一逻辑处理结果指示不执行第二逻辑,将发送第一逻辑调用请求的接口由第一接口切换为第二接口。
发送模块51还用于,当需要再次执行第一逻辑时,通过第二接口发送所述第一逻辑调用请求,以及接收与第一逻辑调用请求对应的逻辑处理结果。
与传统的基于系统故障进行主/备系统切换不同,本实施例中,基于逻辑异常进行主/备系统切换,即逻辑容灾与系统容灾相结合,提高了容灾的有效性。
在一个可选的实施例中,逻辑处理模块55的一种结构示意图如图9所示,可以包括:调用单元91和逻辑处理单元92;其中,
调用单元91用于调用第三逻辑,以基于第三逻辑对用户进行认证;
逻辑处理单元92用于当认证通过时,执行第二逻辑。
以上所描述的装置实施例仅仅是示意性的,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。例如,可以将发送模块51,第一获取模块52,第二获取模块53和逻辑处理模块55集成在一个功能模块中,即发送模块51,第一获取模块52,第二获取模块53和逻辑处理模块55的功能由一个功能模块实现。
功能模块的功能可以通过进程来实现,一个功能模块的功能可以由一个个进程来实现,也可以由多个进程来实现。
本发明实施例还提供一种服务器,该服务器具有如上任意一装置实施例公开的容灾装置。
如图10所示,示出了上述服务器的硬件结构框图。该服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中,处理器1,通信接口2和存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
发送第一逻辑调用请求,第一逻辑调用请求用于请求执行第一逻辑;
获取第一逻辑的执行结果,得到第一逻辑处理结果;第一逻辑处理结果用于指示是否执行第二逻辑,第二逻辑为第一逻辑的下一逻辑;
获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;分析结果用于指示是否启用容灾策略;
若分析结果指示启用容灾策略,执行第二逻辑。
本发明实施例还提供一种服务系统,如图11所示,为本发明实施例提供的服务系统的一种结构示意图,包括服务器111,依赖系统112和数据库113;其中,
服务器111接收终端设备(如,台式机、平板电脑、笔记本、手机等)中的客户端发送的服务请求后,根据所请求的第一服务所包含的多个子逻辑的执行顺序,向依赖系统112发送调用请求;每发送一个调用请求,依赖系统112返回一个逻辑处理结果,服务器111接收到处理结果后,将该处理结果保存至数据库113中,并对设定历史时长内的针对第一服务的同一子逻辑的逻辑处理结果进行统计分析;若分析结果指示启用容灾策略,则不管依赖系统112返回的逻辑处理结果是否指示执行下一逻辑,均执行下一逻辑,若分析结果指示不启用容灾策略,则根据依赖系统112返回的逻辑处理结果进行处理,即若依赖系统112返回的逻辑处理结果指示执行下一逻辑,则执行下一逻辑,若依赖系统112返回的逻辑处理结果指示禁止执行下一逻辑,则不执行下一逻辑。
数据库除了存储逻辑处理结果外,还对服务器提供服务过程中的所需的其它数据进行存储。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种容灾方法,其特征在于,包括:
发送第一逻辑调用请求,所述第一逻辑调用请求用于请求执行第一逻辑;
获取所述第一逻辑的执行结果,得到第一逻辑处理结果;所述第一逻辑处理结果用于指示是否执行第二逻辑,所述第二逻辑为所述第一逻辑的下一逻辑;
获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;所述分析结果用于指示是否启用容灾策略;
若所述分析结果指示启用容灾策略,执行所述第二逻辑。
2.根据权利要求1所述的方法,其特征在于,所述对所得到多个第一逻辑处理结果进行统计分析,得到分析结果,包括:
统计所述设定历史时长内获取的多个第一逻辑处理结果的总量,以及所述多个第一处理结果中,指示不执行第二逻辑的第一逻辑处理结果的数量;
确定所述设定历史时长内获取的指示不执行第二逻辑的第一逻辑处理结果的数量,在所述多个第一逻辑处理结果的总量中的占比;
若所述占比大于第一预设阈值,确定启用容灾策略;若所述占比小于或等于所述第一预设阈值,确定不启用容灾策略。
3.根据权利要求2所述的方法,其特征在于,所述若所述占比大于第一预设阈值,确定启用容灾策略,包括:
若所述占比大于第一预设阈值,将所述占比与第二预设阈值进行比较;所述第二预设阈值大于所述第一预设阈值;
若所述占比小于或等于所述第二预设阈值,确定对满足预设条件的用户启用容灾策略;
若所述占比大于所述第二预设阈值,确定对所有用户启用容灾策略。
4.根据权利要求1所述的方法,其特征在于,还包括:
当所述分析结果指示启用容灾策略时,若第一逻辑处理结果指示不执行第二逻辑,将发送所述第一逻辑调用请求的接口由第一接口切换为第二接口;
通过所述第二接口发送第一逻辑调用请求。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述执行第二逻辑包括:
调用第三逻辑,以基于所述第三逻辑对用户进行认证;
当认证通过时,执行所述第二逻辑。
6.一种容灾装置,其特征在于,包括:
发送模块,用于发送第一逻辑调用请求,所述第一逻辑调用请求用于请求执行第一逻辑;
第一获取模块,用于获取所述第一逻辑的执行结果,得到第一逻辑处理结果;所述第一逻辑处理结果用于指示是否执行第二逻辑,所述第二逻辑为所述第一逻辑的下一逻辑;
第二获取模块,用于获取距离当前时刻的设定历史时长内得到的多个第一逻辑处理结果;
统计分析模块,用于对所得到多个第一逻辑处理结果进行统计分析,得到分析结果;所述分析结果用于指示是否启用容灾策略;
逻辑处理模块,用于若所述分析结果指示启用容灾策略,执行所述第二逻辑。
7.根据权利要求6所述的装置,其特征在于,所述统计分析模块包括:
统计单元,用于统计所述设定历史时长内获取的多个第一逻辑处理结果的总量,以及所述多个第一处理结果中,指示不执行第二逻辑的第一逻辑处理结果的数量;
第一分析单元,用于确定所述设定历史时长内获取的指示不执行第二逻辑的第一逻辑处理结果的数量,在所述多个第一逻辑处理结果的总量中的占比;
第二分析单元,用于若所述占比大于第一预设阈值,确定启用容灾策略;若所述占比小于或等于所述第一预设阈值,确定不启用容灾策略。
8.根据权利要求7所述的装置,其特征在于,所述第二分析单元包括:
比较子单元,用于若所述占比大于第一预设阈值,将所述占比与第二预设阈值进行比较;所述第二预设阈值大于所述第一预设阈值;
确定子单元,用于若所述占比小于所述第二预设阈值,确定对满足预设条件的用户启用容灾策略;若所述占比大于所述第二预设阈值,确定对所有用户启用容灾策略。
9.根据权利要求6所述的装置,其特征在于,还包括:
确定模块,用于当所述分析结果指示启用容灾策略时,若第一逻辑处理结果指示不执行第二逻辑,将发送所述第一逻辑调用请求的接口由第一接口切换为第二接口;
所述发送模块用于通过所述第二接口发送第一逻辑调用请求。
10.根据权利要求6-9任意一项所述的装置,其特征在于,所述逻辑处理模块包括:
调用单元,用于调用第三逻辑,以基于所述第三逻辑对用户进行认证;
逻辑处理单元,用于当认证通过时,执行所述第二逻辑。
11.一种服务器,其特征在于,包括如权利要求6-10任意一项所述的容灾装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611050868.8A CN108108266A (zh) | 2016-11-24 | 2016-11-24 | 容灾方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611050868.8A CN108108266A (zh) | 2016-11-24 | 2016-11-24 | 容灾方法、装置及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108108266A true CN108108266A (zh) | 2018-06-01 |
Family
ID=62204970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611050868.8A Pending CN108108266A (zh) | 2016-11-24 | 2016-11-24 | 容灾方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108266A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366243A (zh) * | 2013-06-19 | 2013-10-23 | 华夏银行股份有限公司 | 一种银行业务的核心系统 |
CN103731312A (zh) * | 2014-01-26 | 2014-04-16 | 飞狐信息技术(天津)有限公司 | 对远程方法调用的服务进行故障检查的方法和装置 |
CN104935578A (zh) * | 2015-05-04 | 2015-09-23 | 广州唯品会信息科技有限公司 | 网站恶意攻击防范方法和系统 |
CN105306507A (zh) * | 2014-07-18 | 2016-02-03 | 阿里巴巴集团控股有限公司 | 分布式架构中的容灾处理方法及容灾处理装置 |
-
2016
- 2016-11-24 CN CN201611050868.8A patent/CN108108266A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366243A (zh) * | 2013-06-19 | 2013-10-23 | 华夏银行股份有限公司 | 一种银行业务的核心系统 |
CN103731312A (zh) * | 2014-01-26 | 2014-04-16 | 飞狐信息技术(天津)有限公司 | 对远程方法调用的服务进行故障检查的方法和装置 |
CN105306507A (zh) * | 2014-07-18 | 2016-02-03 | 阿里巴巴集团控股有限公司 | 分布式架构中的容灾处理方法及容灾处理装置 |
CN104935578A (zh) * | 2015-05-04 | 2015-09-23 | 广州唯品会信息科技有限公司 | 网站恶意攻击防范方法和系统 |
Non-Patent Citations (2)
Title |
---|
雷擎 等: "《Java与面向对象程序设计》", 28 February 2011, 对外经济贸易大学出版社 * |
魏斌: "《环境空间信息服务模式研究与平台设计》", 28 February 2013, 中国环境出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276182B (zh) | Api分布式限流的实现方法 | |
CN110535902A (zh) | 基于微服务实现监控智能化的处理方法及电子装置 | |
CN104168333B (zh) | Proxzone服务平台的工作方法 | |
CN108616404B (zh) | 一种客服方法、管理平台、存储介质及系统 | |
CN110730472B (zh) | 一种通信凭证的状态检测方法及服务器 | |
CN113067875B (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN114257551A (zh) | 一种分布式限流的方法及系统、存储介质 | |
CN114615203A (zh) | 访问控制方法、装置、存储介质及处理器 | |
CN109615384B (zh) | 时效性核对规则的生成方法、装置和服务器 | |
CN106375102A (zh) | 一种服务注册方法、使用方法及相关装置 | |
CN114169767A (zh) | 一种风险评估方法和装置 | |
CN107180040A (zh) | 一种业务数据的管理方法及装置 | |
CN106155826A (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN112530074A (zh) | 排队叫号提醒方法、装置、设备及存储介质 | |
CN108108266A (zh) | 容灾方法、装置及服务器 | |
CN115729786A (zh) | 一种应用于多系统的监控方法、装置、设备及存储介质 | |
CN110708165B (zh) | 一种基于请求响应的多ca自动调度方法 | |
CN114640576A (zh) | 用于宽带网络的无源接入设备的故障定位的方法和装置 | |
CN107957942B (zh) | 一种sql脚本的故障修复方法及其终端 | |
US20200287796A1 (en) | Intraday resource management system | |
CN111553796A (zh) | 一种汇率管理方法、装置及计算机可读存储介质 | |
CN108009910A (zh) | 银行汇路监控方法、系统以及计算机可读存储介质 | |
CN113114505B (zh) | 基于httpClient的访问请求处理方法及系统 | |
CN115037693B (zh) | 一种基于令牌桶的分布式限流方法和分布式限流装置 | |
CN115344366B (zh) | 连接池对象的切换方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180601 |
|
RJ01 | Rejection of invention patent application after publication |