CN116633765A - 业务处理方法、装置、设备及存储介质 - Google Patents
业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116633765A CN116633765A CN202310632354.7A CN202310632354A CN116633765A CN 116633765 A CN116633765 A CN 116633765A CN 202310632354 A CN202310632354 A CN 202310632354A CN 116633765 A CN116633765 A CN 116633765A
- Authority
- CN
- China
- Prior art keywords
- deployment
- target
- equipment
- service
- application
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 85
- 230000002159 abnormal effect Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种业务处理方法、装置、设备及存储介质,可用于分布式领域。该方法包括:通过向本地部署设备对应的第一注册服务器发送目标业务的调用请求,然后接收第一注册服务器发送的调用请求的反馈消息,当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息,然后从多个部署设备中,确定目标部署设备,并根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。本申请的方法,在第一注册服务器出现异常或者网络出现异常等情况下,应用调用方可以正常调用应用提供方,提高业务处理的可靠性。
Description
技术领域
本申请涉及分布式领域,尤其涉及一种业务处理方法、装置、设备及存储介质。
背景技术
随着分布式系统架构的普及,越来越多的企业将应用系统从单体应用转向了分布式应用,多个系统间协调工作,复杂度增加。
目前,为了将分布式架构下的应用实现动态管理以保证应用之间的相互调用,分布式架构采用的是与应用解耦的服务注册中心,可以动态实现应用注册、应用发现、应用剔除等功能,保证应用之间的相互调用。
但是,当服务注册中心出现异常时、应用调用方与服务注册中心之间出现网络异常或者网络抖动,都会出现应用调用方无法调用应用提供方的情况,业务处理可靠性较低。
发明内容
本申请提供一种业务处理方法、装置、设备及存储介质,用以解决相关技术中当服务注册中心出现异常时,出现应用调用方无法调用应用提供方的情况,业务处理可靠性较低的问题。
第一方面,本申请提供一种业务处理方法,应用于客户端,包括:
向第一注册服务器发送目标业务的调用请求,所述调用请求用于请求所述目标业务对应的本地部署设备的设备信息,所述本地部署设备中设置有用于处理所述目标业务的目标业务应用;
接收所述第一注册服务器发送的所述调用请求的反馈消息,所述反馈消息用于指示所述第一注册服务器是否出现异常;
当所述反馈消息指示所述第一注册服务器出现异常,从缓存中获取所述目标业务对应的多个部署设备的设备信息,所述多个部署设备包括本地部署设备和至少一个外地部署设备,所述部署设备中设置有用于处理所述目标业务的目标业务应用;
从所述多个部署设备中,确定目标部署设备;
根据所述目标部署设备的设备信息,调用所述目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
第二方面,本申请提供一种业务处理装置,包括:
发送模块,用于向第一注册服务器发送目标业务的调用请求,所述调用请求用于请求所述目标业务对应的本地部署设备的设备信息,所述本地部署设备中设置有用于处理所述目标业务的目标业务应用;
接收模块,用于接收所述第一注册服务器发送的所述调用请求的反馈消息,所述反馈消息用于指示所述第一注册服务器是否出现异常;
获取模块,用于当所述反馈消息指示所述第一注册服务器出现异常,从缓存中获取所述目标业务对应的多个部署设备的设备信息,所述多个部署设备包括本地部署设备和至少一个外地部署设备,所述部署设备中设置有用于处理所述目标业务的目标业务应用;
确定模块,用于从所述多个部署设备中,确定目标部署设备;
处理模块,用于根据所述目标部署设备的设备信息,调用所述目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的业务处理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被计算机执行时用于实现如第一方面所述的业务处理方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被计算机执行时用于实现第一方面所述的业务处理方法。
本申请提供的一种业务处理方法、装置、设备及存储介质,通过向本地部署设备对应的第一注册服务器发送目标业务的调用请求,然后接收第一注册服务器发送的调用请求的反馈消息,当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息,然后从多个部署设备中,确定目标部署设备,并根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。本申请在第一注册服务器出现异常或者网络出现异常等情况下,应用调用方可以正常调用应用提供方,提高业务处理的可靠性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请适用的一种应用场景的示意图;
图2为本申请适用的一种分布式架构的结构示意图;
图3为本申请实施例一提供的一种业务处理方法的流程示意图;
图4为本申请实施例二提供的另一种业务处理方法的流程示意图;
图5为本申请实施例三提供的一种业务处理方法的信令流程图;
图6为本申请实施例四提供的一种业务处理装置的结构示意图;
图7为本申请实施例五提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请提供的业务处理方法、装置、设备及存储介质可用于分布式领域,也可用于除分布式领域之外的任意领域,本申请提供的业务处理方法、装置、设备及存储介质的应用领域不做限定。
随着大数据、分布式、云原生新技术的发展,越来越多的企业将应用系统从单体应用转向了分布式应用。在单机系统中,大量数据会导致查找数据的响应时间变长,高并发会使系统因繁忙而变慢,从而影响响应速度,单机故障也会是系统崩溃。为了解决单机系统带来的问题,互联网系统就从单机系统演变为多台机器的系统,即分布式系统。分布式系统能满足互联网对大数据存储、高并发和快响应的要求,采用了分而治之的思想。优点如下:
高性能:大量请求可以分摊到各个应用上,从而解决系统的大数据、高并发和快响应问题。
高可用:业务处理请求会避开存在故障的应用,使用其他机器上的应用,系统仍然可以继续工作。
可伸缩性:对出现故障的应用,进行处理之后可以重新上线,当业务繁忙,系统压力增加时可以增加处理请求流量。
高灵活性:对于系统的更新迭代,可以在非高峰期,停止部分应用更新,然后交替去更新剩下的应用,从而更新灵活,不需要停止系统工作。
目前,为了将分布式架构下的应用实现动态管理以保证应用之间的相互调用,分布式架构采用的是与应用解耦的服务注册中心,服务注册中心中存储有服务方的信息,可以动态实现应用注册、应用发现、应用剔除等功能,保证应用之间的相互调用。
但是,当服务注册中心出现异常时、应用调用方与服务注册中心之间出现网络异常或者网络抖动、或者服务注册中心与应用提供方之间出现网络异常或者网络抖动时,都会出现应用调用方无法调用应用提供方的情况,即应用调用方无法从服务注册中心获取到应用提供方的网际互联协议(Internet Protocol,IP)列表,应用调用方无法调用应用提供方,使得业务处理可靠性较低。
所以,本申请提供一种业务处理方法,在服务注册中心异常时,可以获取缓存中存储的目标业务对应的多个部署设备的设备信息,以根据该设备信息实现应用调用,从而实现业务处理,即使在服务注册中心出现异常或者网络出现异常等情况下,应用调用方可以正常调用应用提供方,提高业务处理的可靠性。
上述服务注册中心,在本申请中可以是第一注册服务器,第一注册服务器是目标业务对应的本地部署设备对应的注册服务器,即本地部署设备可以向该注册服务器发送设备信息,使得第一注册服务器存储该设备信息,便于客户端获取以实现调用。
一个应用程序通常可以通过多个组件构成,每个组件代表不同的功能模块(在本申请中可以称为业务),每个组件中包括多个微服务应用,例如一个应用程序中包括“存款业务”、“信用卡业务”等功能模块,“存款业务”中还包括多个微服务应用为用户提供服务。
对于本申请的业务应用,可以是微服务应用,例如“存款业务”组件中还包括多个微服务应用为用户提供服务。
为了便于理解,下面结合图1的示例,对本申请实施例所适用的应用场景进行说明。
图1为本申请适用的一种应用场景的示意图,请参见图1,包括:第一注册服务器101、第二注册服务器102、客户端103、业务服务器A104、业务服务器B105以及业务服务器C106。第一注册服务器101、第二注册服务器102、客户端103、业务服务器A104、业务服务器B105以及业务服务器C106之间可以通过互联网进行通信。
业务服务器A104、业务服务器B105、以及业务服务器C106中均部署有目标业务应用。
第一注册服务器101和业务服务器A104、业务服务器B105可以属于第一机房,业务服务器A104、业务服务器B105通过向第一注册服务器101和第二注册服务器102发送设备信息,以实现注册,注册的过程也可以称为发布,图1中称为发布,注册成功即表示业务服务器A104、业务服务器B105中的目标业务应用可调用。
第二注册服务器102与业务服务器C106可以属于第二机房,可以理解,第二机房中还可以部署有注册服务器,图中未示出,可以参照第一机房。业务服务器C106通过向第二注册服务器102发送设备信息,以实现注册。
其中,第一注册服务器101可以理解为本地注册中心,第一注册服务器101中的设备信息,可以用于业务服务器A104和业务服务器B105所在地的预设范围内客户端(例如客户端103)存在业务处理需求时获取,便于实现业务应用的调用。第二注册服务器102可以理解为全局注册中心,第二注册服务器102中的设备信息,可以用于多地范围内客户端存在业务处理需求时获取,便于实现业务应用的调用。
可以理解,业务服务器的数量均可以为多个,图中未示出。
在一种可能的实现方式中,客户端103可以向第一注册服务器101发送调用请求,请求获取目标业务对应的本地部署设备的设备信息,以实现优先调用本地的业务应用。当第一注册服务器101发生异常,客户端103可以从缓存中获取目标业务对应的多个部署设备的设备信息,并根据缓存中获取的设备信息,实现业务应用的调用。
其中,客户端103的缓存中存储的设备信息,可以是客户端103定时向第一注册服务器101和第二注册服务器102请求获取的。
示例性的,为了便于理解,通过图2对本申请适用的分布式整体架构进行说明。一个本地注册中心对应多个组件,图中示出的数量仅为示例,每个组件中包括多个业务应用,每个组件的多个业务应用中可以包括网关应用,网关应用为组件和组件之间用于通信的应用,即组件和组件之间的调用,需要通过网关应用进行调用。其中,网关应用涉及双注册,以组件1中的网关应用为例,该网关应用对应的部署设备的设备信息可以注册到本地注册中心1,还需要注册到全局注册中心,提供给外部调用。
可以理解,随着业务数量以及访问量的增加,本地注册中心的数量可以有多个,全局注册中心的数量也可以有多个,图中未示出,当全局注册中心的数量有多个时,多个全局注册中心之间可以互相同步信息。
客户端103可以是手机(Mobile Phone)、平板电脑(Pad)、带无线收发功能的电脑(如笔记本电脑、掌上电脑等)、用户终端或者台式电脑等,本申请对此不作限制。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请实施例一提供的一种业务处理方法的流程示意图,该方法可以由客户端执行,也可以由设置在客户端中的业务处理装置执行,该装置可以是芯片、也可以是芯片模组、还可以是集成开发环境(Integrated Development Environment,IDE)等,参考图3,该方法包括如下步骤:
S301、向第一注册服务器发送目标业务的调用请求,调用请求用于请求目标业务对应的本地部署设备的设备信息。
客户端可以向第一注册服务器发送目标业务的调用请求,该调用请求用于请求目标业务对应的本地部署设备的设备信息,本地部署设备中设置有用于处理目标业务的目标业务应用。
也就是说,基于路由靠近原则,客户端可以优先调用本地部署设备的目标业务应用,以实现快速的业务处理。
示例性的,设备信息中可以包括本地部署设备的服务地址,客户端可以基于该地址实现目光业务应用的访问。
S302、接收第一注册服务器发送的调用请求的反馈消息,反馈消息用于指示第一注册服务器是否出现异常。
客户端发送调用请求后,可以接收第一注册服务器发送的调用请求的反馈消息,该反馈消息用于指示第一注册服务器是否出现异常。
在一种可能的实现方式中,若反馈消息中包括目标业务对应的本地部署设备的设备信息,则可以表示第一注册服务器没有出现异常,客户端可以正常获取到目标业务对应的本地部署设备的设备信息。若反馈消息中不存在目标业务对应的本地部署设备的设备信息,或者反馈消息中包括预设字符等,则可以表示第一注册服务器出现异常。
可以理解,若客户端可以正常获取到目标业务对应的本地部署设备的设备信息,客户端可以直接根据从第一注册服务器获取到的设备信息进行业务应用的调用。
上述第一注册服务器出现异常,可以是第一注册服务器发生故障导致的,也可以是客户端与第一注册服务器之间出现网络异常或者网络抖动等情况导致的。
S303、当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息。
当反馈消息指示第一注册服务器出现异常时,客户端可以从缓存中获取目标业务对应的多个部署设备的设备信息。其中,多个部署设备包括本地部署设备和至少一个外地部署设备,部署设备中设置有用于处理目标业务的目标业务应用。
示例性的,上述缓存可以是客户端中预设的存储器,用于存储多个业务的标识、以及每个业务对应的多个部署设备的设备信息,这些信息可以是客户端从第一注册服务器和/或第二注册服务器中获取的,其中,第二注册服务器为外地部署设备所对应的注册服务器。
示例性的,客户端可以根据目标业务的标识,从多个业务的标识、以及每个业务对应的多个部署设备的设备信息中,获取目标业务对应的多个部署设备的设备信息。
S304、从多个部署设备中,确定目标部署设备。
客户端可以从多个部署设备中,确定目标部署设备。
在一种可能的实现方式中,客户端可以从多个部署设备中,确定本地部署设备,将本地部署设备确定为目标部署设备。以实现就近调用,提高业务处理的效率。
在另一种可能的实现方式中,客户端也可以从多个部署设备的至少一个外地部署设备中,确定任意一个外地部署设备为目标部署设备。
S305、根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
确定目标部署设备后,客户端可以根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
在本实施例中,客户端通过向本地部署设备对应的第一注册服务器发送目标业务的调用请求,然后接收第一注册服务器发送的调用请求的反馈消息,当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息,然后从多个部署设备中,确定目标部署设备,并根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。本申请在第一注册服务器出现异常或者网络出现异常等情况下,应用调用方可以正常调用应用提供方,提高业务处理的可靠性。
下面,通过实施例二对本申请提供的另一种业务处理方法进行说明。
图4为本申请实施例二提供的另一种业务处理方法的流程示意图,该方法可以由客户端执行,也可以由设置在客户端中的业务处理装置执行,该装置可以是芯片、也可以是芯片模组、还可以是IDE等,参考图4,该方法包括如下步骤:
S401、向第一注册服务器发送目标业务的调用请求,调用请求用于请求目标业务对应的本地部署设备的设备信息。
S402、接收第一注册服务器发送的调用请求的反馈消息,反馈消息用于指示第一注册服务器是否出现异常。
对于S401和S402的相关描述,可以参考上述实施例,这里不再赘述。
S403、当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息。
当反馈消息指示第一注册服务器出现异常,说明客户端无法从第一注册服务器获取目标业务对应的本地部署设备的设备信息,客户端可以从缓存中获取目标业务对应的多个部署设备的设备信息。
在一种可能的实现方式中,客户端中可以设置有应用调用保护功能,应用调用保护功能可以用于客户端无法从第一注册服务器获取目标业务对应的本地部署设备的设备信息时,使得客户端可以从本地缓存获取到相应的设备信息。示例性的,应用调用保护功能可以通过设置在客户端中的业务应用的应用信息中,可以设置为相应的参数,例如应用调用保护功能为开启状态时的参数为Y,应用调用保护功能为关闭状态时的参数为N,也可以使用其他方式表示,本申请对此不作显示。客户端中的业务应用可以调用目标业务应用。
具体的,客户端可以确定应用调用保护功能是否为开启状态,若应用调用保护功能为开启状态,则客户端可以从缓存中获取目标业务对应的多个部署设备的设备信息。
示例性的,假设目标业务应用由于异常被下线,当应用调用保护功能为开启状态,客户端继续调用目标业务应用会返回连接被拒绝消息(connected refused),当应用调用保护功能为关闭状态,客户端调用目标业务应用会返回无实例可用消息(No instancesavailable)。但是,如果客户端在访问目标业务应用之前,对目标业务应用的状态进行探测,即探测其是否可用,若不可用,则客户端调用目标业务应用会返回无实例可用消息。
在另一种可能的实现方式中,当反馈消息指示第一注册服务器出现异常,客户端可以根据目标业务的标识,直接从缓存中获取目标业务对应的多个部署设备的设备信息。即客户端不受应用调用保护功能的影响。
由于第一注册服务器和第二注册服务器中的设备信息会随着业务应用的下线或者上线进行更新,例如第一业务应用上线,并向第一注册服务器发送第一业务应用所在的部署设备的设备信息,那么第一注册服务器中存储的设备信息会增加第一业务应用所在的部署设备的设备信息。
为了使得客户端的缓存中存储的设备信息,与第一注册服务器和第二注册服务器中的设备信息尽量保持一致,客户端也需要对缓存中存储的设备信息进行更新,使得客户端在进行应用调用时,可以获取到有效的设备信息,提高业务处理的效率,提高客户的使用体验。
在一种可能的实现方式中,客户端就可以通过以下方式更新缓存中存储的设备信息:
客户端每隔预设时长,可以向第一注册服务器请求获取本地部署设备的第一设备信息,并向第二注册服务器请求获取每个外地部署设备的第二设备信息,然后根据第一设备信息、以及第二设备信息,对缓存中目标业务对应的多个部署设备的设备信息进行更新。
可以理解,第一注册服务器和第二注册服务器中的设备信息均为有效信息,即为可调用的业务应用所在部署设备的设备信息,上述第一设备信息为当前可用的目标业务应用所在的本地部署设备的设备信息,第二设备信息为当前可用的目标业务应用所在的外地部署设备的设备信息。
具体的,客户端每隔预设时长,可以向第一注册服务器发送第一数据请求,并向第二注册服务器发送第二数据请求,第一数据请求用于请求当前可用的目标业务应用所在的本地部署设备的第一设备信息,第二数据请求用于请求当前可用的目标业务应用所在的外地部署设备的第二设备信息。
然后客户端可以接收第一注册服务器发送的第一设备信息,并接收第二注册服务器发送的第二设备信息,然后可以根据第一设备信息、以及第二设备信息,对缓存中目标业务对应的多个部署设备的设备信息进行更新。
例如,客户端可以将第一设备信息和第二设备信息对缓存中存储的设备信息进行替换。
S404、判断本地部署设备中的目标业务应用的第一状态是否为可用状态。
若第一状态为可用状态,则执行S405,若第一状态不是可用状态,即第一状态为不可用状态,则执行S406。
在一种可能的实现方式中,客户端可以通过以下方式确定本地部署设备中的目标业务应用的第一状态:
客户端可以向本地部署设备发送预设的HTTP请求,例如GET请求,然后接收本地部署设备发送的状态码,客户端可以根据状态码确定本地部署设备中的目标业务应用的第一状态。
具体的,若状态码为预设状态码,该预设状态码用于指示第一状态为可用状态,那么客户端可以确定第一状态为可用状态。若状态码不是预设状态码,客户端可以确定第一状态为不可用状态。
对于第一状态的探测,还可以通过其他方式,本申请对此不作限定。
S405、确定本地部署设备为目标部署设备。
若本地部署设备的第一状态为可用状态,说明可以调用本地部署设备中的目标业务应用进行业务处理,客户端可以确定本地部署设备为目标部署设备。
S406、从至少一个外地部署设备中,确定目标部署设备。
若本地部署设备的第一状态为不可用状态,说明客户端不能调用本地部署设备中的目标业务应用进行业务处理,客户端可以从至少一个外地部署设备中,确定目标部署设备。
具体的,客户端可以通过以下方式从至少一个外地部署设备中确定目标部署设备:
客户端可以确定每个外地部署设备中的目标业务应用的第二状态,第二状态为可用状态或者不可用状态。
对于每个外地部署设备,客户端可以确定外地部署设备所在机房与本地部署设备所在机房的路由距离,然后客户端可以将第二状态为可用状态,且路由距离最小的外地部署设备确定为目标部署设备。
S407、根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
确定目标部署设备后,客户端可以获取目标部署设备的设备信息,然后根据目标部署设备的设备信息调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
在一种可能的实现方式中,目标部署设备的设备信息中可以包括目标部署设备的服务地址,该地址可以是目标业务应用在目标部署设备中的服务地址,通过该服务地址,客户端可以实现对目标部署设备中的目标业务应用进行调用,从而实现业务处理。
具体的,客户端可以根据上述服务地址,向目标部署设备发送目标业务对应的业务处理请求,该业务处理请求用于请求目标部署设备通过目标业务应用进行业务处理,目标部署设备接收到业务处理请求后,可以通过目标业务应用进行业务处理,得到业务处理结果,然后客户端可以接收到目标部署设备发送的业务处理结果。
在本实施例中,客户端通过向本地部署设备对应的第一注册服务器发送目标业务的调用请求,然后接收第一注册服务器发送的调用请求的反馈消息,当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息,然后确定本地部署设备中的目标业务应用的第一状态,若本地部署设备的第一状态为可用状态,则确定本地部署设备为目标部署设备,若本地部署设备的第一状态为不可用状态,则从至少一个外地部署设备中,确定目标部署设备。然后根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。本申请在第一注册服务器出现异常或者网络出现异常等情况下,应用调用方可以正常调用应用提供方,提高业务处理的可靠性。
下面,通过实施例三对客户端与第一注册服务和第二注册服务器的交互进行说明。
图5为本申请实施例三提供的一种业务处理方法的信令流程图,该方法包括如下步骤:
S501、客户端向第一注册服务器发送调用请求。
调用请求用于请求目标业务对应的本地部署设备的设备信息。
S502、第一注册服务器向客户端发送调用请求对应的反馈消息。
反馈消息用于指示第一注册服务器是否出现异常。
S503、若反馈消息指示第一注册服务器发生异常,客户端从缓存中获取目标业务对应的多个部署设备的设备信息。
S504、客户端从多个部署设备中确定目标部署设备。
S505、客户端根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
S506、客户端向第二注册服务器发送第二数据请求。
第二数据请求用于请求当前可用的目标业务应用所在的外地部署设备的第二设备信息。
S507、客户端向第一注册服务器发送第一数据请求。
第一数据请求用于请求当前可用的目标业务应用所在的本地部署设备的第一设备信息。
S508、第一注册服务器向客户端发送第一数据请求对应的第一设备信息。
S509、第二注册服务器向客户端发送第二数据请求对应的第二设备信息。
S510、客户端根据第一设备信息和第二设备信息对缓存中目标业务对应的多个部署设备的设备信息进行更新。
可以理解,上述S505和S506的执行不分先后顺序,S508和S509的执行不分先后顺序。而且,S506至S510可以S501之前执行,也可以在S501至S505之间的任意一个步骤之前或者之后执行,本申请对S506至S510的执行不做限定。
对于本实施例中的步骤的相关描述,可以参考上述方法实施例,这里不再赘述。
图6为本申请实施例四提供的一种业务处理装置的结构示意图。参考图6,该装置60包括:发送模块601、接收模块602、获取模块603、确定模块604和处理模块605。
发送模块601,用于向第一注册服务器发送目标业务的调用请求,调用请求用于请求目标业务对应的本地部署设备的设备信息,本地部署设备中设置有用于处理目标业务的目标业务应用。
接收模块602,用于接收第一注册服务器发送的调用请求的反馈消息,反馈消息用于指示第一注册服务器是否出现异常。
获取模块603,用于当反馈消息指示第一注册服务器出现异常,从缓存中获取目标业务对应的多个部署设备的设备信息,多个部署设备包括本地部署设备和至少一个外地部署设备,部署设备中设置有用于处理目标业务的目标业务应用。
确定模块604,用于从多个部署设备中,确定目标部署设备。
处理模块605,用于根据目标部署设备的设备信息,调用目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
在一种可能的实现方式中,确定模块604具体用于:
确定本地部署设备中的目标业务应用的第一状态,第一状态为可用状态或者不可用状态。
若本地部署设备的第一状态为可用状态,则确定本地部署设备为目标部署设备。
若本地部署设备的第一状态为不可用状态,则从至少一个外地部署设备中,确定目标部署设备。
在一种可能的实现方式中,确定模块604具体用于:
确定每个外地部署设备中的目标业务应用的第二状态,第二状态为可用状态或者不可用状态。
对于每个外地部署设备,确定外地部署设备所在机房与本地部署设备所在机房的路由距离。
将第二状态为可用状态、且路由距离最小的外地部署设备确定为目标部署设备。
在一种可能的实现方式中,确定模块604具体用于:
向本地部署设备发送预设的HTTP请求。
接收本地部署设备发送的状态码。
若状态码为预设状态码,则确定第一状态为可用状态。
若状态码不是预设状态码,则确定第一状态为不可用状态。
在一种可能的实现方式中,获取模块603具体用于:
确定应用调用保护功能是否为开启状态。
若应用调用保护功能为开启状态,则从缓存中获取目标业务对应的多个部署设备的设备信息。
在一种可能的实现方式中,目标部署设备的设备信息包括目标部署设备的服务地址。处理模块505具体用于:
根据服务地址,向目标部署设备发送目标业务对应的业务处理请求,业务处理请求用于请求目标部署设备通过目标业务应用进行业务处理。
接收目标部署设备发送的业务处理结果。
在一种可能的实现方式中,装置60还包括更新模块。
更新模块具体用于:
每隔预设时长,向第一注册服务器请求获取本地部署设备的第一设备信息。
向第二注册服务器请求获取每个外地部署设备的第二设备信息,第二注册服务器为外地部署设备和本地部署设备所对应的注册服务器。
根据第一设备信息、以及第二设备信息,对缓存中目标业务对应的多个部署设备的设备信息进行更新。
本实施例的装置,可用于执行上述方法实施例的技术方案,具体实现方式和技术效果类似,这里不再赘述。
图7为本申请实施例五提供的一种电子设备的结构示意图,如图7所示,电子设备70可以包括:至少一个处理器701和存储器702。
存储器702,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。
存储器702可能包含随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory),例如至少一个磁盘存储器。
处理器701用于执行存储器702存储的计算机执行指令,以实现前述方法实施例所描述的方法。其中,处理器701可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,电子设备70还可以包括:通信接口703。在具体实现上,如果通信接口703、存储器702和处理器701独立实现,则通信接口703、存储器702和处理器701可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口703、存储器702和处理器701集成在一块芯片上实现,则通信接口703、存储器702和处理器701可以通过内部接口完成通信。
电子设备70可以为芯片、芯片模组、IDE、服务器等。
本实施例的电子设备,可用于执行上述方法实施例的技术方案,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例六提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、RAM、磁盘或者光盘等各种可以存储计算机执行指令的介质,具体的,该计算机可读存储介质中存储有计算机执行指令,该计算机执行指令被计算机执行时使得上述方法实施例所示的技术方案被执行,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例七提供一种计算机程序产品,包括计算机程序,计算机程序被计算机执行时,使得上述方法实施例所示的技术方案被执行,具体实现方式和技术效果类似,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
本申请中“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c中的每一个本身可以是元素,也可以是包含一个或多个元素的集合。
本申请中“至少一个”是指一个或多个。“多个”是指两个或两个以上。本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。例如,第一阈值和第二阈值,只是为了区分不同的阈值,而并不是表示这两个阈值的大小、优先级或者重要程度等的不同。
在本申请中,“示例的”“在一些实施例中”“在另一些实施例中”等用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请中“的(of)”、“相应的(corresponding,relevant)”、“对应的(corresponding)”、“关联的”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。本申请实施例中通信、传输有时可以混用,应当指出的是,在不强调区别是,其所表达的含义是一致的。例如传输可以包括发送和/或接收,可以为名词,也可以是动词。
Claims (10)
1.一种业务处理方法,其特征在于,应用于客户端,包括:
向第一注册服务器发送目标业务的调用请求,所述调用请求用于请求所述目标业务对应的本地部署设备的设备信息,所述本地部署设备中设置有用于处理所述目标业务的目标业务应用;
接收所述第一注册服务器发送的所述调用请求的反馈消息,所述反馈消息用于指示所述第一注册服务器是否出现异常;
当所述反馈消息指示所述第一注册服务器出现异常,从缓存中获取所述目标业务对应的多个部署设备的设备信息,所述多个部署设备包括本地部署设备和至少一个外地部署设备,所述部署设备中设置有用于处理所述目标业务的目标业务应用;
从所述多个部署设备中,确定目标部署设备;
根据所述目标部署设备的设备信息,调用所述目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
2.根据权利要求1所述的方法,其特征在于,从所述多个部署设备中,确定目标部署设备,包括:
确定所述本地部署设备中的目标业务应用的第一状态,所述第一状态为可用状态或者不可用状态;
若所述本地部署设备的第一状态为可用状态,则确定所述本地部署设备为所述目标部署设备;
若所述本地部署设备的第一状态为不可用状态,则从所述至少一个外地部署设备中,确定所述目标部署设备。
3.根据权利要求2所述的方法,其特征在于,从所述至少一个外地部署设备中,确定所述目标部署设备,包括:
确定每个外地部署设备中的目标业务应用的第二状态,所述第二状态为可用状态或者不可用状态;
对于每个外地部署设备,确定所述外地部署设备所在机房与所述本地部署设备所在机房的路由距离;
将所述第二状态为可用状态、且路由距离最小的外地部署设备确定为目标部署设备。
4.根据权利要求2或3所述的方法,其特征在于,确定所述本地部署设备中的目标业务应用的第一状态,包括:
向所述本地部署设备发送预设的超文本传输协议HTTP请求;
接收所述本地部署设备发送的状态码;
若所述状态码为预设状态码,则确定所述第一状态为可用状态;
若所述状态码不是预设状态码,则确定所述第一状态为不可用状态。
5.根据权利要求1-3任一项所述的方法,其特征在于,从缓存中获取所述目标业务对应的多个部署设备的设备信息,包括:
确定应用调用保护功能是否为开启状态;
若所述应用调用保护功能为开启状态,则从缓存中获取所述目标业务对应的多个部署设备的设备信息。
6.根据权利要求5所述的方法,其特征在于,所述目标部署设备的设备信息包括所述目标部署设备的服务地址;
根据所述目标部署设备的设备信息,调用所述目标部署设备中的目标业务应用进行业务处理,得到业务处理结果,包括:
根据所述服务地址,向所述目标部署设备发送所述目标业务对应的业务处理请求,所述业务处理请求用于请求所述目标部署设备通过目标业务应用进行业务处理;
接收所述目标部署设备发送的所述业务处理结果。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
每隔预设时长,向所述第一注册服务器请求获取所述本地部署设备的第一设备信息;
向第二注册服务器请求获取每个外地部署设备的第二设备信息,所述第二注册服务器为所述外地部署设备和所述本地部署设备所对应的注册服务器;
根据所述第一设备信息、以及第二设备信息,对所述缓存中所述目标业务对应的多个部署设备的设备信息进行更新。
8.一种业务处理装置,其特征在于,包括:
发送模块,用于向第一注册服务器发送目标业务的调用请求,所述调用请求用于请求所述目标业务对应的本地部署设备的设备信息,所述本地部署设备中设置有用于处理所述目标业务的目标业务应用;
接收模块,用于接收所述第一注册服务器发送的所述调用请求的反馈消息,所述反馈消息用于指示所述第一注册服务器是否出现异常;
获取模块,用于当所述反馈消息指示所述第一注册服务器出现异常,从缓存中获取所述目标业务对应的多个部署设备的设备信息,所述多个部署设备包括本地部署设备和至少一个外地部署设备,所述部署设备中设置有用于处理所述目标业务的目标业务应用;
确定模块,用于从所述多个部署设备中,确定目标部署设备;
处理模块,用于根据所述目标部署设备的设备信息,调用所述目标部署设备中的目标业务应用进行业务处理,得到业务处理结果。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7任一项所述的业务处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310632354.7A CN116633765A (zh) | 2023-05-30 | 2023-05-30 | 业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310632354.7A CN116633765A (zh) | 2023-05-30 | 2023-05-30 | 业务处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633765A true CN116633765A (zh) | 2023-08-22 |
Family
ID=87637952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310632354.7A Pending CN116633765A (zh) | 2023-05-30 | 2023-05-30 | 业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633765A (zh) |
-
2023
- 2023-05-30 CN CN202310632354.7A patent/CN116633765A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575222B (zh) | Node.js应用的监测 | |
CN114189525B (zh) | 服务请求方法、装置和电子设备 | |
CN113141405B (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN111245901A (zh) | 一种支持服务参数下发的分布式服务注册发现方法及系统 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN109889468B (zh) | 网络数据的传输方法、系统、装置、设备及存储介质 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN112751935A (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN111416851A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN116633765A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN115629809A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN115421841A (zh) | 通知处理方法、终端设备、服务端及计算机存储介质 | |
KR101251630B1 (ko) | 푸쉬 서비스 제공 시스템 및 방법 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 | |
CN109768897B (zh) | 一种服务器部署方法及装置 | |
CN109120692B (zh) | 用于处理请求的方法和装置 | |
CN113556370A (zh) | 一种服务调用方法和装置 | |
CN111416852A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN111580987A (zh) | 远程过程调用方法、装置、存储介质及终端设备 | |
US8150944B2 (en) | Electronic apparatus with server device for managing setting data | |
CN115695454B (zh) | 一种mec主机的数据存储方法、装置、设备及存储介质 | |
CN107592229B (zh) | 一种服务调用方法、装置及系统 | |
CN111478794B (zh) | 一种信令报文交互方法、装置、终端设备和存储介质 | |
CN115002749B (zh) | Ip地址分配方法、装置、存储介质以及电子设备 | |
CN112688977B (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 |