CN111526038A - 业务请求分发方法、装置、计算机设备及可读存储介质 - Google Patents

业务请求分发方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN111526038A
CN111526038A CN202010224597.3A CN202010224597A CN111526038A CN 111526038 A CN111526038 A CN 111526038A CN 202010224597 A CN202010224597 A CN 202010224597A CN 111526038 A CN111526038 A CN 111526038A
Authority
CN
China
Prior art keywords
machine room
domain name
backup
service request
room
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
Application number
CN202010224597.3A
Other languages
English (en)
Other versions
CN111526038B (zh
Inventor
周耀华
王小冬
吴伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koubei Shanghai Information Technology Co Ltd
Original Assignee
Koubei Shanghai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koubei Shanghai Information Technology Co Ltd filed Critical Koubei Shanghai Information Technology Co Ltd
Priority to CN202010224597.3A priority Critical patent/CN111526038B/zh
Publication of CN111526038A publication Critical patent/CN111526038A/zh
Application granted granted Critical
Publication of CN111526038B publication Critical patent/CN111526038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Abstract

本发明公开了一种业务请求分发方法、装置、计算机设备及可读存储介质,涉及计算机技术领域,查询目标机房域名和多个备份机房域名,在目标机房域名的域名状态为异常状态时,自动确定第一备份机房域名,将业务请求下发至该第一备份机房域名指示的第一备份机房中,保证将业务请求下发到正常状态的机房中,不仅实现了及时对机房进行排查,还避免业务处理受到影响,提高了业务处理的速度。所述方法包括:接收业务请求,查询目标机房域名以及多个备份机房域名;若目标机房域名的域名状态为异常状态,则在确定第一备份机房域名;对第一备份机房域名指示的第一备份机房进行访问;如果访问成功,则将业务请求分发至第一备份机房,对业务请求进行处理。

Description

业务请求分发方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种业务请求分发方法、装置、计算机设备及可读存储介质。
背景技术
随着计算机技术的不断发展,各类计算机设备的功能不断加强,计算机设备提供的业务也越来越多,使得计算机设备成为人们生活、工作、学习中不可或缺的一部分。目前,为了满足不同的业务需求,企业中设置有多个技术栈,每个技术栈都涉及到不同的业务数据,通常用户的业务请求需要技术栈之间的数据互通才能完成,因此,在接收到用户的业务请求后,会将业务请求分发给请求涉及的技术栈中,实现业务请求的执行。
相关技术中,技术栈与技术栈之间是依靠网关打通的,技术栈一侧均布置有应用,应用都是多机房部署,网关会按照接收到的业务请求的指示,将业务请求发放至技术栈的指定机房中,以便通过指定机房对这些业务请求进行处理,实现向用户提供相应的服务。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
业务请求发放至的指定机房有时会发生故障,比如机房服务崩溃、机房网络故障等,会导致指定机房不可用,这样,分发到该指定机房的全部业务请求均会处理失败,需要人工对指定机房进行排查,而人工排查的速度较慢,且工作量很大,不仅排查不够及时,还会使正常的业务处理受到影响,业务处理速度降低。
发明内容
有鉴于此,本发明提供了一种业务请求分发方法、装置、计算机设备及可读存储介质,主要目的在于解决目前排查不够及时,正常的业务处理受到影响,业务处理速度降低的问题。
依据本发明第一方面,提供了一种业务请求分发方法,该方法包括:
接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名;
若所述目标机房域名的域名状态为异常状态,则在所述多个备份机房域名中确定第一备份机房域名,所述第一备份机房域名为所述多个备份机房域名中域名状态为正常状态的备份机房域名;
对所述第一备份机房域名指示的第一备份机房进行访问;
如果对所述第一备份机房访问成功,则将所述业务请求分发至所述第一备份机房,基于所述第一备份机房对所述业务请求进行处理。
在另一个实施例中,所述接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名之后,所述方法还包括:
若所述目标机房域名的域名状态为正常状态,则对所述目标机房域名指示的目标机房进行访问;
如果对所述目标机房访问成功,则将所述业务请求分发至所述目标机房,基于所述目标机房对所述业务请求进行处理;
如果对所述目标机房访问失败,则将所述目标机房域名的域名状态设置为异常状态,确定所述第一备份机房,并执行对所述第一备份机房的访问操作。
在另一个实施例中,所述如果对所述目标机房访问失败,则将所述目标机房域名的域名状态设置为异常状态,确定所述第一备份机房,并执行对所述第一备份机房的访问操作之后,所述方法还包括:
持续向所述目标机房发送心跳信号,所述心跳信号用于检测机房是否可用;
当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态,所述心跳响应由所述目标机房在接收到所述心跳信号后返回的;
将所述业务请求迁移至所述目标机房,并基于所述目标机房对所述业务请求进行处理。
在另一个实施例中,所述在所述多个备份机房域名中确定第一备份机房域名,包括:
依次查询所述多个备份机房域名对应的域名状态,在所述多个备份机房域名中提取至少一个候选备份机房域名,所述至少一个候选备份机房域名的域名状态为正常状态;
获取所述至少一个候选备份机房域名对应的预设权重,所述预设权重是根据备份机房域名指示的备份机房的可处理流量设置;
按照所述预设权重从大到小的顺序对所述至少一个候选备份机房域名进行排序,将排在首位的候选备份机房域名作为所述第一备份机房域名。
在另一个实施例中,所述获取所述至少一个候选备份机房域名对应的预设权重,包括:
对于所述至少一个候选备份机房域名中的每个候选备份机房域名,统计所述候选备份机房域名的可处理流量;
统计所述多个备份机房域名可处理的总流量;
计算所述可处理流量与所述总流量的比值,将所述比值作为所述候选备份机房域名的预设权重。
在另一个实施例中,所述对所述第一备份机房域名指示的第一备份机房进行访问之后,所述方法还包括:
如果对所述第一备份机房访问失败,则将所述第一备份机房域名的域名状态设置为异常状态;
在其他备份机房域名中确定第二备份机房域名,所述其他备份机房域名是所述多个备份机房域名中除所述第一备份机房域名外的备份机房域名,所述第二备份机房域名为所述其他备份机房域名中域名状态为正常状态的备份机房域名;
执行对所述第二备份机房域名指示的第二备份机房的访问操作。
在另一个实施例中,所述执行对所述第二备份机房域名指示的第二备份机房的访问操作之后,所述方法还包括:
同时持续向所述目标机房域名指示的目标机房和所述第一备份机房发送心跳信号;
当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态,并将所述业务请求迁移至所述目标机房,基于所述目标机房对所述业务请求进行处理;
当接收到所述第一备份机房持续返回的心跳响应时,将所述第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
依据本发明第二方面,提供了一种业务请求分发装置,该装置包括:
查询模块,用于接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名;
确定模块,用于若所述目标机房域名的域名状态为异常状态,则在所述多个备份机房域名中确定第一备份机房域名,所述第一备份机房域名为所述多个备份机房域名中域名状态为正常状态的备份机房域名;
访问模块,用于对所述第一备份机房域名指示的第一备份机房进行访问;
分发模块,用于如果对所述第一备份机房访问成功,则将所述业务请求分发至所述第一备份机房,基于所述第一备份机房对所述业务请求进行处理。
在另一个实施例中,所述访问模块,还用于若所述目标机房域名的域名状态为正常状态,则对所述目标机房域名指示的目标机房进行访问;
所述分发模块,还用于如果对所述目标机房访问成功,则将所述业务请求分发至所述目标机房,基于所述目标机房对所述业务请求进行处理;
所述访问模块,还用于如果对所述目标机房访问失败,则将所述目标机房域名的域名状态设置为异常状态,确定所述第一备份机房,并执行对所述第一备份机房的访问操作。
在另一个实施例中,所述装置还包括:
第一发送模块,用于持续向所述目标机房发送心跳信号,所述心跳信号用于检测机房是否可用;
第一设置模块,用于当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态,所述心跳响应由所述目标机房在接收到所述心跳信号后返回的;
第一迁移模块,用于将所述业务请求迁移至所述目标机房,并基于所述目标机房对所述业务请求进行处理。
在另一个实施例中,所述确定模块,包括:
提取单元,用于依次查询所述多个备份机房域名对应的域名状态,在所述多个备份机房域名中提取至少一个候选备份机房域名,所述至少一个候选备份机房域名的域名状态为正常状态;
获取单元,用于获取所述至少一个候选备份机房域名对应的预设权重,所述预设权重是根据备份机房域名指示的备份机房的可处理流量设置;
确定单元,用于按照所述预设权重从大到小的顺序对所述至少一个候选备份机房域名进行排序,将排在首位的候选备份机房域名作为所述第一备份机房域名。
在另一个实施例中,所述获取单元,用于对于所述至少一个候选备份机房域名中的每个候选备份机房域名,统计所述候选备份机房域名的可处理流量;统计所述多个备份机房域名可处理的总流量;计算所述可处理流量与所述总流量的比值,将所述比值作为所述候选备份机房域名的预设权重。
在另一个实施例中,所述装置还包括:
第二设置模块,用于如果对所述第一备份机房访问失败,则将所述第一备份机房域名的域名状态设置为异常状态;
所述确定模块,还用于在其他备份机房域名中确定第二备份机房域名,所述其他备份机房域名是所述多个备份机房域名中除所述第一备份机房域名外的备份机房域名,所述第二备份机房域名为所述其他备份机房域名中域名状态为正常状态的备份机房域名;
所述访问模块,还用于执行对所述第二备份机房域名指示的第二备份机房的访问操作。
在另一个实施例中,所述装置还包括:
第二发送模块,用于同时持续向所述目标机房域名指示的目标机房和所述第一备份机房发送心跳信号;
所述第二设置模块,还用于当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态;
第二迁移模块,用于将所述业务请求迁移至所述目标机房,基于所述目标机房对所述业务请求进行处理;
所述第二设置模块,还用于当接收到所述第一备份机房持续返回的心跳响应时,将所述第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
依据本发明第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
依据本发明第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本发明提供的一种业务请求分发方法、装置、计算机设备及可读存储介质,本发明在接收到业务请求时,会查询接收到的业务请求携带的机房名称对应的目标机房域名和多个备份机房域名,并在目标机房域名的域名状态为异常状态时,自动在多个备份机房域名中确定可以正常使用的第一备份机房域名进行访问,进而在访问成功后,将业务请求下发至该第一备份机房域名指示的第一备份机房中进行处理,可以自动对机房的状态进行排查,保证将业务请求下发到正常状态的机房中进行处理,不仅实现了及时对机房的状态进行排查,还避免正常的业务处理受到影响,一定程度上提高了业务处理的速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种业务请求分发方法流程示意图;
图2A示出了本发明实施例提供的一种业务请求分发方法流程示意图;
图2B示出了本发明实施例提供的一种业务请求分发方法流程示意图;
图3A示出了本发明实施例提供的一种业务请求分发装置的结构示意图;
图3B示出了本发明实施例提供的一种业务请求分发装置的结构示意图;
图3C示出了本发明实施例提供的一种业务请求分发装置的结构示意图;
图3D示出了本发明实施例提供的一种业务请求分发装置的结构示意图;
图3E示出了本发明实施例提供的一种业务请求分发装置的结构示意图;
图4示出了本发明实施例提供的一种设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种业务请求分发方法,如图1所示,该方法包括:
101、接收业务请求,查询业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名。
102、若目标机房域名的域名状态为异常状态,则在多个备份机房域名中确定第一备份机房域名,第一备份机房域名为多个备份机房域名中域名状态为正常状态的备份机房域名。
103、对第一备份机房域名指示的第一备份机房进行访问。
104、如果对第一备份机房访问成功,则将业务请求分发至第一备份机房,基于第一备份机房对业务请求进行处理。
本发明实施例提供的方法,在接收到业务请求时,会查询接收到的业务请求携带的机房名称对应的目标机房域名和多个备份机房域名,并在目标机房域名的域名状态为异常状态时,自动在多个备份机房域名中确定可以正常使用的第一备份机房域名进行访问,进而在访问成功后,将业务请求下发至该第一备份机房域名指示的第一备份机房中进行处理,可以自动对机房的状态进行排查,保证将业务请求下发到正常状态的机房中进行处理,不仅实现了及时对机房的状态进行排查,还避免正常的业务处理受到影响,一定程度上提高了业务处理的速度。
本发明实施例提供了一种业务请求分发方法,如图2A所示,该方法包括:
201、接收业务请求,查询业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名。
发明人认识到,目前技术栈与技术栈之间的连通大多是依靠网关,在接收到用户的业务处理请求时,网关会按照请求流量、业务要求等参数将业务处理请求下发至技术栈的机房中,由机房实现业务处理请求的执行。但是在实际操作的过程中,机房是存在发生故障的可能的,如果业务请求被分发到机房A,但是机房A的域名地址由于服务挂了或者网络故障等原因不可用,那么下发到机房A中的全部业务请求都会执行失败,影响到业务的处理进度。而且机房故障的排查是需要人工执行的,需要工作人员时刻关注每一个机房,并由工作人员亲自将发生故障的机房中的业务请求迁移到其他机房进行处理,从发现机房故障到恢复该机房的正常运行,涉及到大量的人力工作。另外,机房的服务也是会恢复的,后续还需要工作人员持续关注发生故障的机房,确定机房何时恢复工作,并将业务请求迁回之前的机房中。上述的全部过程很多工作都是由人工操作完成的,而人工操作存在发现问题慢、易出错等缺点,因此,本发明提出一种业务请求分发方法,可以自动确定首次为业务请求分发的机房,根据该机房的机房域名查询机房是否可用,并在机房不可用时自动为业务请求分发其他的备用机房,从而保证业务请求正常处理,避免受到外界因素的影响。
一般来说,业务请求中会携带机房名称,机房名称用于指示需要将该业务请求下发给哪个机房,该机房名称可为机房ID(Identity document,身份标识号)。在本发明中,为了在业务请求指定的机房发生故障不可用时,可以有其他的机房暂时用于该业务请求的处理,需要事先为每一个机房设置一系列的备份机房,将机房名称与备份机房的备份机房域名关联起来,以便根据机房名称可以直接查找到相应的备份机房域名。其中,每一个机房名称可以对应一个或者一个以上的备份机房域名,备份机房域名可用Backup(备份)表示,可以建立一个备份机房域名列表,将机房名称对应的全部备份机房域名均存储在该备份机房域名列表中,将备份机房域名列表与机房名称对应存储。
这样,当接收到业务请求时,通过对业务请求进行解析,提取业务请求携带的机房名称。随后,查询该机房名称对应的目标机房的互联网地址作为目标机房域名,目标机房域名可用Master(主要的)表示,获取与该机房名称存在关联关系的多个备份机房域名,以便在后续确定目标机房域名是否存在异常,并在存在异常时,可以及时为业务请求确定其他的备用机房。
202、获取目标机房域名的域名状态,若目标机房域名的域名状态为异常状态,则执行下述步骤203至步骤209;若目标机房域名的域名状态为正常状态,则执行下述步骤210至步骤213。
在本发明实施例中,每个机房域名都会对应一个域名状态,域名状态用于指示该机房域名对应的机房是否可用,一般域名状态分为异常状态和正常状态两种。在根据业务请求确定目标机房域名后,获取该目标机房域名所对应的域名状态,若目标机房域名的域名状态为异常状态,则表示该目标机房域名指示的目标机房当前不可用,无法处理该业务请求,需要确定备用机房才能实现业务请求的处理,也即执行下述步骤203至步骤209。若目标机房域名的域名状态为正常状态,则表示该目标机房域名指示的目标机房当前是可用的,是能够处理该业务请求的,可以访问该目标机房进行业务请求的发放,也即执行下述步骤210至步骤213。
203、若目标机房域名的域名状态为异常状态,则在多个备份机房域名中确定第一备份机房域名。
在本发明实施例中,若目标机房域名的域名状态为异常状态,则表示该目标机房域名指示的目标机房当前不可用,无法处理该业务请求,需要确定备用机房才能实现业务请求的处理,因此,需要在多个备份机房域名中确定一个可用的第一备份机房域名,也即确定多个备份机房域名中域名状态为正常状态的备份机房域名,以便后续基于该第一备份机房域名指示的第一备份机房来处理该业务请求。
在确定第一备份机房域名时,最重要的一点就是该第一备份机房域名的域名状态一定是正常状态,因此,首选就是需要依次查询多个备份机房域名对应的域名状态,在多个备份机房域名中提取至少一个域名状态为正常状态的候选备份机房域名。需要说明的是,如果提取到的候选备份机房域名只有一个,则直接将该候选备份机房域名作为第一备份机房域名即可。但是如果提取到的候选备份机房域名的数量在一个以上,也就是说有一个以上的备份机房域名的域名状态都是正常状态,这就需要在这一个以上的候选备份机房域名中确定具体将哪一个候选备份机房域名作为第一备份机房域名,以便后续进行访问,因此,在本发明中设置了一个预设权重,用预设权重来决定第一备份机房域名。
其中,在设置预设权重时,不同备份机房处理请求的能力是不同的,通常会选择能力强的备份机房来处理业务请求,而能力具体可以用备份机房的可处理流量体现,因此,可以根据备份机房域名指示的备份机房的可处理流量为每个备份机房都设置一个预设权重,具体过程如下:对于至少一个候选备份机房域名中的每个候选备份机房域名,统计候选备份机房域名的可处理流量,并统计多个备份机房域名可处理的总流量,计算可处理流量与总流量的比值,将比值作为候选备份机房域名的预设权重,这样就可以对每一个候选备份机房域名在全部备份机房域名中的能力进行一个评估。
这样,如果提取到的候选备份机房域名的数量在一个以上,便可以获取至少一个候选备份机房域名对应的预设权重,按照预设权重从大到小的顺序对至少一个候选备份机房域名进行排序,将排在首位的候选备份机房域名作为第一备份机房域名。
204、对第一备份机房域名指示的第一备份机房进行访问,如果对第一备份机房访问成功,则执行下述步骤205;如果对第一备份机房访问失败,则执行下述步骤206至步骤209。
在本发明实施例中,在确定了第一备份机房域名后,便可以开始对第一备份机房域名进行的访问,访问操作具体可以对第一备份机房域名进行的Http(Hyper TextTransport Protocol,超文本传输协议)访问。需要说明的是,在实际应用的过程中,很可能第一备份机房的第一备份机房域名对应的域名状态是正常状态,但是实际上已经发生故障不能访问,只是域名状态暂未更改,或者在即将访问第一备份机房时,第一备份机房发生故障,这样就会导致第一备份机房无法访问,不能处理该业务请求,因此,如果对第一备份机房访问成功,则表示第一备份机房是可用的,可以处理该业务请求,将该业务请求分发到第一备份机房进行处理是可行的,也即执行下述步骤205。如果对第一备份机房访问失败,则表示实际上第一备份机房已经发生故障,在当前这一时刻是不能进行业务请求处理的,需要重新确定新的备份机房,也即执行下述步骤206至步骤209。
205、如果对第一备份机房访问成功,则将业务请求分发至第一备份机房,基于第一备份机房对业务请求进行处理。
在本发明实施例中,如果对第一备份机房访问成功,则表示第一备份机房是可用的,可以处理该业务请求,将该业务请求分发到第一备份机房进行处理是可行的,因此,将业务请求分发至第一备份机房,基于第一备份机房对业务请求进行处理。
206、如果对第一备份机房访问失败,则将第一备份机房域名的域名状态设置为异常状态,在其他备份机房域名中确定第二备份机房域名,执行对第二备份机房域名指示的第二备份机房的访问操作。
在本发明实施例中,如果对第一备份机房访问失败,则表示实际上第一备份机房已经发生故障,在当前这一时刻是不能进行业务请求处理的,需要重新确定新的备份机房,因此,将第一备份机房域名的域名状态设置为异常状态,并在其他备份机房域名中确定第二备份机房域名,执行对第二备份机房域名指示的第二备份机房的访问操作。其中,其他备份机房域名是多个备份机房域名中除第一备份机房域名外的备份机房域名,第二备份机房域名为其他备份机房域名中域名状态为正常状态的备份机房域名。在确定第二备份机房域名时,与上述步骤203中确定第一备份机房域名的过程一致,此处不再进行赘述。另外,在执行对第二备份机房域名指示的第二备份机房的访问操作时,如果对第二备份机房访问成功,则直接将该业务请求下发至第二备份机房进行处理即可。如果对第二备份机房访问失败,则还需要执行步骤203中的过程,确定第三备份机房域名,并对第三备份机房域名指示的第三备份机房进行访问,直至确定的备份机房能够成功访问。
207、同时持续向目标机房域名指示的目标机房和第一备份机房发送心跳信号。
在本发明实施例中,为了对确定发生故障不可用的机房进行监控,确定这些机房何时能够使用,可以向目标机房域名指示的目标机房和第一备份机房发送用于检测机房是否可用的心跳信号,通过是否能够接收到机房在接收到心跳信号后返回的心跳响应来确定机房是否已经恢复。
具体地,在向目标机房和第一备份机房发送心跳信号时,可以创建两个并行的进程,两个进程分别向目标机房和第一备份机房发送心跳信号,实现同时持续向目标机房域名指示的目标机房和第一备份机房发送心跳信号,避免两个机房相互影响。
需要说明的是,在实际应用的过程中,如果确定多个机房都处于异常状态,则可以创建多个并行进程同时向多个机房发送心跳信号,实现对多个机房的状态进行监控,并不限于只对两个机房进行监控。
另外,可以设置一个发送周期,每隔发送周期便向机房发送一个心跳信号,保证对机房的持续监控。例如,设置的发送周期可为1秒,这样,便每隔1秒向这些机房发送一个心跳信号。
208、当接收到目标机房持续返回的心跳响应时,将目标机房域名的域名状态设置为正常状态,并将业务请求迁移至目标机房,基于目标机房对业务请求进行处理。
在本发明实施例中,当接收到目标机房持续返回的心跳响应时,也就是说当前每次向目标机房发送心跳响应都会收到心跳响应,则表示当前该目标机房已经恢复了正常的工作,可以将该目标机房域名的域名状态设置为正常状态。进一步地,由于该目标机房域名指示的目标机房才是业务请求指定的机房,因此,为了全面的满足业务请求在业务处理过程中的要求,需要将业务请求迁移至目标机房,基于目标机房对业务请求进行处理。
209、当接收到第一备份机房持续返回的心跳响应时,将第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
在本发明实施例中,当接收到第一备份机房持续返回的心跳响应时,也就是说当前每次向第一备份机房发送心跳响应都会收到心跳响应,则表示当前该第一备份机房已经恢复了正常的工作,可以将该第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
210、若目标机房域名的域名状态为正常状态,则对目标机房域名指示的目标机房进行访问,如果对目标机房访问成功,则执行下述步骤211;如果对目标机房访问失败,则执行下述步骤212至步骤213。
在本发明实施例中,若目标机房域名的域名状态为正常状态,则表示该目标机房域名指示的目标机房当前是可用的,是能够处理该业务请求的,可以访问该目标机房进行业务请求的发放。而在对业务请求进行发放时,首先需要完成对目标机房的访问,因此,对目标机房域名指示的目标机房进行访问。
进一步地,基于上述步骤204中的原因,在实际应用的过程中,很可能目标机房的目标机房域名对应的域名状态是正常状态,但是实际上已经发生故障不能访问,只是域名状态暂未更改,或者在即将访问目标机房时,目标机房突然发生故障,这样就会导致目标机房无法访问,不能处理该业务请求,因此,如果对目标机房访问成功,则表示目标机房是可用的,可以处理该业务请求,将该业务请求分发到目标机房进行处理是可行的,也即执行下述步骤211。如果对目标机房访问失败,则表示实际上目标机房已经发生故障,在当前这一时刻是不能进行业务请求处理的,需要确定一个第一备份机房,也即执行下述步骤212。
211、如果对目标机房访问成功,则将业务请求分发至目标机房,基于目标机房对业务请求进行处理。
在本发明实施例中,如果对目标机房访问成功,则表示目标机房是可用的,可以处理该业务请求,将该业务请求分发到目标机房进行处理是可行的,因此,将业务请求分发至目标机房,基于目标机房对业务请求进行处理。
212、如果对目标机房访问失败,则将目标机房域名的域名状态设置为异常状态,并执行上述步骤203。
在本发明实施例中,如果对目标机房访问失败,则表示实际上目标机房已经发生故障,在当前这一时刻是不能进行业务请求处理的,需要确定一个第一备份机房,由该第一备份机房执行业务请求的处理,也即执行上述步骤203中确定第一备份机房域名中的过程。对于步骤203中的过程,此处不再进行赘述。
213、持续向目标机房发送心跳信号,当接收到目标机房持续返回的心跳响应时,将目标机房域名的域名状态设置为正常状态,将业务请求迁移至目标机房,并基于目标机房对业务请求进行处理。
在本发明实施例中,为了对确定发生故障不可用的目标机房进行监控,确定目标机房何时能够使用,可以向目标机房域名指示的目标机房发送用于检测机房是否可用的心跳信号,通过是否能够接收到目标机房在接收到心跳信号后返回的心跳响应来确定目标机房是否已经恢复,具体发送心跳信号的过程与上述步骤207中所示的过程一致,此处不再进行赘述。
另外,当接收到目标机房持续返回的心跳响应时,也就是说当前每次向目标机房发送心跳响应都会收到心跳响应,则表示当前该目标机房已经恢复了正常的工作,可以将该目标机房域名的域名状态设置为正常状态。进一步地,由于该目标机房域名指示的目标机房才是业务请求指定的机房,因此,为了全面的满足业务请求在业务处理过程中的要求,需要将业务请求迁移至目标机房,基于目标机房对业务请求进行处理。
在实际应用的过程中,本发明的实现过程总结如下:
参见图2B,在接收到业务请求时,对业务请求进行解析,确定机房名称。获取机房名称对应的目标机房域名以及备份机房域名列表,根据目标机房域名的域名状态判断目标机房域名是否可用。如果确定目标机房域名可用,则对目标机房域名指示的目标机房进行Http访问,在访问成功时,将业务请求下发至目标机房进行处理,在访问失败时,启动心跳检测机制对目标机房的状态进行检测,直至检测到目标机房恢复运行,将业务请求迁回目标机房进行处理。如果确定目标机房域名不可用,则在备份机房域名列表中确定可用的候选备份机房域名,按照预设权重在候选备份机房域名中确定第一备份机房域名,对第一备份机房域名指示的第一备份机房进行Http访问,在访问成功时,将业务请求下发至第一备份机房进行处理,在访问失败时,一边重新确定第二备份机房域名并进行访问,另一边启动心跳检测机制对目标机房和第一备份机房的状态进行检测,直至检测到目标机房和第一备份机房恢复运行,将业务请求迁回至目标机房进行处理。
本发明实施例提供的方法,在接收到业务请求时,会查询接收到的业务请求携带的机房名称对应的目标机房域名和多个备份机房域名,并在目标机房域名的域名状态为异常状态时,自动在多个备份机房域名中确定可以正常使用的第一备份机房域名进行访问,进而在访问成功后,将业务请求下发至该第一备份机房域名指示的第一备份机房中进行处理,可以自动对机房的状态进行排查,保证将业务请求下发到正常状态的机房中进行处理,不仅实现了及时对机房的状态进行排查,还避免正常的业务处理受到影响,一定程度上提高了业务处理的速度。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种虚拟凭证的合成提示生成装置,如图3A所示,所述装置包括:查询模块301,确定模块302,访问模块303和分发模块304。
该查询模块301,用于接收业务请求,查询业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名;
该确定模块302,用于若目标机房域名的域名状态为异常状态,则在多个备份机房域名中确定第一备份机房域名,第一备份机房域名为多个备份机房域名中域名状态为正常状态的备份机房域名;
该访问模块303,用于对第一备份机房域名指示的第一备份机房进行访问;
该分发模块304,用于如果对第一备份机房访问成功,则将业务请求分发至第一备份机房,基于第一备份机房对业务请求进行处理。
在具体的应用场景中,该访问模块303,还用于若目标机房域名的域名状态为正常状态,则对目标机房域名指示的目标机房进行访问;
该分发模块304,还用于如果对目标机房访问成功,则将业务请求分发至目标机房,基于目标机房对业务请求进行处理;
该访问模块303,还用于如果对目标机房访问失败,则将目标机房域名的域名状态设置为异常状态,确定第一备份机房,并执行对第一备份机房的访问操作。
在具体的应用场景中,如图3B所示,该装置还包括:第一发送模块305,第一设置模块306和第一迁移模块307。
该第一发送模块305,用于持续向目标机房发送心跳信号,心跳信号用于检测机房是否可用;
该第一设置模块306,用于当接收到目标机房持续返回的心跳响应时,将目标机房域名的域名状态设置为正常状态,心跳响应由目标机房在接收到心跳信号后返回的;
该第一迁移模块307,用于将业务请求迁移至目标机房,并基于目标机房对业务请求进行处理。
在具体的应用场景中,如图3C所示,该确定模块302,包括:提取单元3021,获取单元3022和确定单元3023。
该提取单元3021,用于依次查询多个备份机房域名对应的域名状态,在多个备份机房域名中提取至少一个候选备份机房域名,至少一个候选备份机房域名的域名状态为正常状态;
该获取单元3022,用于获取至少一个候选备份机房域名对应的预设权重,预设权重是根据备份机房域名指示的备份机房的可处理流量设置;
该确定单元3023,用于按照预设权重从大到小的顺序对至少一个候选备份机房域名进行排序,将排在首位的候选备份机房域名作为第一备份机房域名。
在具体的应用场景中,该获取单元3022,用于对于至少一个候选备份机房域名中的每个候选备份机房域名,统计候选备份机房域名的可处理流量;统计多个备份机房域名可处理的总流量;计算可处理流量与总流量的比值,将比值作为候选备份机房域名的预设权重。
在具体的应用场景中,如图3D所示,该装置还包括:第二设置模块308。
该第二设置模块308,用于如果对第一备份机房访问失败,则将第一备份机房域名的域名状态设置为异常状态;
该确定模块302,还用于在其他备份机房域名中确定第二备份机房域名,其他备份机房域名是多个备份机房域名中除第一备份机房域名外的备份机房域名,第二备份机房域名为其他备份机房域名中域名状态为正常状态的备份机房域名;
该访问模块303,还用于执行对第二备份机房域名指示的第二备份机房的访问操作。
在具体的应用场景中,如图3E所示,该装置还包括:第二发送模块309和第二迁移模块310。
该第二发送模块309,用于同时持续向目标机房域名指示的目标机房和第一备份机房发送心跳信号;
该第二设置模块308,还用于当接收到目标机房持续返回的心跳响应时,将目标机房域名的域名状态设置为正常状态;
该第二迁移模块310,用于将业务请求迁移至目标机房,基于目标机房对业务请求进行处理;
该第二设置模块308,还用于当接收到第一备份机房持续返回的心跳响应时,将第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
本发明实施例提供的装置,在接收到业务请求时,会查询接收到的业务请求携带的机房名称对应的目标机房域名和多个备份机房域名,并在目标机房域名的域名状态为异常状态时,自动在多个备份机房域名中确定可以正常使用的第一备份机房域名进行访问,进而在访问成功后,将业务请求下发至该第一备份机房域名指示的第一备份机房中进行处理,可以自动对机房的状态进行排查,保证将业务请求下发到正常状态的机房中进行处理,不仅实现了及时对机房的状态进行排查,还避免正常的业务处理受到影响,一定程度上提高了业务处理的速度。
需要说明的是,本发明实施例提供的一种业务请求分发装置所涉及各功能单元的其他相应描述,可以参考图1和图2A至图2B中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的业务请求分发方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的业务请求分发方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种业务请求分发方法,其特征在于,包括:
接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名;
若所述目标机房域名的域名状态为异常状态,则在所述多个备份机房域名中确定第一备份机房域名,所述第一备份机房域名为所述多个备份机房域名中域名状态为正常状态的备份机房域名;
对所述第一备份机房域名指示的第一备份机房进行访问;
如果对所述第一备份机房访问成功,则将所述业务请求分发至所述第一备份机房,基于所述第一备份机房对所述业务请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名之后,所述方法还包括:
若所述目标机房域名的域名状态为正常状态,则对所述目标机房域名指示的目标机房进行访问;
如果对所述目标机房访问成功,则将所述业务请求分发至所述目标机房,基于所述目标机房对所述业务请求进行处理;
如果对所述目标机房访问失败,则将所述目标机房域名的域名状态设置为异常状态,确定所述第一备份机房,并执行对所述第一备份机房的访问操作。
3.根据权利要求2所述的方法,其特征在于,所述如果对所述目标机房访问失败,则将所述目标机房域名的域名状态设置为异常状态,确定所述第一备份机房,并执行对所述第一备份机房的访问操作之后,所述方法还包括:
持续向所述目标机房发送心跳信号,所述心跳信号用于检测机房是否可用;
当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态,所述心跳响应由所述目标机房在接收到所述心跳信号后返回的;
将所述业务请求迁移至所述目标机房,并基于所述目标机房对所述业务请求进行处理。
4.根据权利要求1所述的方法,其特征在于,所述在所述多个备份机房域名中确定第一备份机房域名,包括:
依次查询所述多个备份机房域名对应的域名状态,在所述多个备份机房域名中提取至少一个候选备份机房域名,所述至少一个候选备份机房域名的域名状态为正常状态;
获取所述至少一个候选备份机房域名对应的预设权重,所述预设权重是根据备份机房域名指示的备份机房的可处理流量设置;
按照所述预设权重从大到小的顺序对所述至少一个候选备份机房域名进行排序,将排在首位的候选备份机房域名作为所述第一备份机房域名。
5.根据权利要求4所述的方法,其特征在于,所述获取所述至少一个候选备份机房域名对应的预设权重,包括:
对于所述至少一个候选备份机房域名中的每个候选备份机房域名,统计所述候选备份机房域名的可处理流量;
统计所述多个备份机房域名可处理的总流量;
计算所述可处理流量与所述总流量的比值,将所述比值作为所述候选备份机房域名的预设权重。
6.根据权利要求1所述的方法,其特征在于,所述对所述第一备份机房域名指示的第一备份机房进行访问之后,所述方法还包括:
如果对所述第一备份机房访问失败,则将所述第一备份机房域名的域名状态设置为异常状态;
在其他备份机房域名中确定第二备份机房域名,所述其他备份机房域名是所述多个备份机房域名中除所述第一备份机房域名外的备份机房域名,所述第二备份机房域名为所述其他备份机房域名中域名状态为正常状态的备份机房域名;
执行对所述第二备份机房域名指示的第二备份机房的访问操作。
7.根据权利要求6所述的方法,其特征在于,所述执行对所述第二备份机房域名指示的第二备份机房的访问操作之后,所述方法还包括:
同时持续向所述目标机房域名指示的目标机房和所述第一备份机房发送心跳信号;
当接收到所述目标机房持续返回的心跳响应时,将所述目标机房域名的域名状态设置为正常状态,并将所述业务请求迁移至所述目标机房,基于所述目标机房对所述业务请求进行处理;
当接收到所述第一备份机房持续返回的心跳响应时,将所述第一备份机房域名的域名状态设置为正常状态,并结束当前流程。
8.一种业务请求分发装置,其特征在于,包括:
查询模块,用于接收业务请求,查询所述业务请求携带的机房名称对应的目标机房域名以及多个备份机房域名;
确定模块,用于若所述目标机房域名的域名状态为异常状态,则在所述多个备份机房域名中确定第一备份机房域名,所述第一备份机房域名为所述多个备份机房域名中域名状态为正常状态的备份机房域名;
访问模块,用于对所述第一备份机房域名指示的第一备份机房进行访问;
分发模块,用于如果对所述第一备份机房访问成功,则将所述业务请求分发至所述第一备份机房,基于所述第一备份机房对所述业务请求进行处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010224597.3A 2020-03-26 2020-03-26 业务请求分发方法、装置、计算机设备及可读存储介质 Active CN111526038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010224597.3A CN111526038B (zh) 2020-03-26 2020-03-26 业务请求分发方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010224597.3A CN111526038B (zh) 2020-03-26 2020-03-26 业务请求分发方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111526038A true CN111526038A (zh) 2020-08-11
CN111526038B CN111526038B (zh) 2023-01-20

Family

ID=71901967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010224597.3A Active CN111526038B (zh) 2020-03-26 2020-03-26 业务请求分发方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111526038B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039710A (zh) * 2020-09-02 2020-12-04 曙光信息产业(北京)有限公司 服务故障处理方法、终端设备及可读存储介质
CN112583948A (zh) * 2020-11-23 2021-03-30 北京三快在线科技有限公司 域名加载方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202906933U (zh) * 2012-05-28 2013-04-24 深圳市谷米科技有限公司 一种基于javascript的自动容灾系统
CN105872121A (zh) * 2015-12-15 2016-08-17 乐视移动智能信息技术(北京)有限公司 终端连接服务器的方法、终端及域名服务器
CN106789362A (zh) * 2017-02-20 2017-05-31 京信通信技术(广州)有限公司 一种设备管理方法及网管系统
CN108462760A (zh) * 2018-03-21 2018-08-28 平安科技(深圳)有限公司 电子装置、集群访问域名自动生成方法及存储介质
CN108932295A (zh) * 2018-05-31 2018-12-04 康键信息技术(深圳)有限公司 主数据库切换控制方法、装置、计算机设备和存储介质
CN109302498A (zh) * 2018-11-29 2019-02-01 杭州迪普科技股份有限公司 一种网络资源访问方法及装置
CN110177007A (zh) * 2019-04-16 2019-08-27 平安科技(深圳)有限公司 实现网关异地多活的方法、装置、计算机设备及存储介质
CN110750219A (zh) * 2019-10-18 2020-02-04 苏州浪潮智能科技有限公司 存储集群的业务处理方法、装置、设备及可读存储介质
CN110855808A (zh) * 2019-10-11 2020-02-28 新浪网技术(中国)有限公司 一种基于分布式监控策略的域名自动切换方法、装置及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202906933U (zh) * 2012-05-28 2013-04-24 深圳市谷米科技有限公司 一种基于javascript的自动容灾系统
CN105872121A (zh) * 2015-12-15 2016-08-17 乐视移动智能信息技术(北京)有限公司 终端连接服务器的方法、终端及域名服务器
CN106789362A (zh) * 2017-02-20 2017-05-31 京信通信技术(广州)有限公司 一种设备管理方法及网管系统
CN108462760A (zh) * 2018-03-21 2018-08-28 平安科技(深圳)有限公司 电子装置、集群访问域名自动生成方法及存储介质
CN108932295A (zh) * 2018-05-31 2018-12-04 康键信息技术(深圳)有限公司 主数据库切换控制方法、装置、计算机设备和存储介质
CN109302498A (zh) * 2018-11-29 2019-02-01 杭州迪普科技股份有限公司 一种网络资源访问方法及装置
CN110177007A (zh) * 2019-04-16 2019-08-27 平安科技(深圳)有限公司 实现网关异地多活的方法、装置、计算机设备及存储介质
CN110855808A (zh) * 2019-10-11 2020-02-28 新浪网技术(中国)有限公司 一种基于分布式监控策略的域名自动切换方法、装置及系统
CN110750219A (zh) * 2019-10-18 2020-02-04 苏州浪潮智能科技有限公司 存储集群的业务处理方法、装置、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039710A (zh) * 2020-09-02 2020-12-04 曙光信息产业(北京)有限公司 服务故障处理方法、终端设备及可读存储介质
CN112583948A (zh) * 2020-11-23 2021-03-30 北京三快在线科技有限公司 域名加载方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111526038B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
CN110311831B (zh) 基于容器云的系统资源监控方法及相关设备
CN105357038B (zh) 监控虚拟机集群的方法和系统
US10462027B2 (en) Cloud network stability
CN109669762B (zh) 云计算资源管理方法、装置、设备及计算机可读存储介质
US20150172148A1 (en) Management server and control method of management server
CN104899095A (zh) 虚拟机器的资源调整方法及系统
US11157373B2 (en) Prioritized transfer of failure event log data
CN111526038B (zh) 业务请求分发方法、装置、计算机设备及可读存储介质
US9886337B2 (en) Quorum based distributed anomaly detection and repair using distributed computing by stateless processes
CN111124830B (zh) 一种微服务的监控方法及装置
CN111046011A (zh) 日志收集方法、系统、节点、电子设备及可读存储介质
WO2016197737A1 (zh) 自检处理方法、装置及系统
WO2020073821A1 (zh) 集群管理方法、装置及系统
CN111625419A (zh) 一种日志采集方法、系统、设备及计算机可读存储介质
JP5754440B2 (ja) 構成情報管理サーバ、構成情報管理方法、及び構成情報管理用プログラム
CN113505027B (zh) 业务系统备份方法、装置、设备及存储介质
CN107145304A (zh) 服务器、存储系统及相关方法
KR20190002280A (ko) 5g 분산 클라우드 시스템의 빅 데이터를 이용하여 장애를 관리하는 장치 및 방법
CN110868330B (zh) 云平台可划分cpu资源的评估方法、装置及评估系统
CN111104266A (zh) 访问资源的分配方法、装置、存储介质和电子设备
CN111240936A (zh) 一种数据完整性校验的方法及设备
EP3306471B1 (en) Automatic server cluster discovery
JP2020038506A (ja) 情報処理システム、情報処理方法、及び、プログラム
CN114385498A (zh) 性能测试方法、系统、计算机设备及可读存储介质
CN110928679B (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
GR01 Patent grant
GR01 Patent grant