1.本公开涉及云计算/虚拟化技术领域,特别涉及一种服务调用外呼方法、装置、介质、产品和设备。
背景技术:
2.本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前银行系统一般采取高可用(ha,highly available)模式来实现系统的高可用。ha模式是保证业务连续性的有效解决方案,服务方一般包括两个或两个以上的服务节点,且分为活动节点(正在执行业务的服务节点)及备用节点(备用的服务节点)。当活动节点出现问题,导致正在运行的业务不能正常执行,不能为调用方提供服务时,备用节点就会侦测到,并接续活动节点来执行业务,从而实现业务的不中断或短暂中断。
4.小型机是指采用精简指令集处理器,性能和价格介于个人电脑(pc)服务器和大型主机之间的一种高性能64位计算机。目前银行系统一般采用两台小型机作为服务节点,通过ha模式实现系统的高可用。采用小型机实现ha模式,实际处于工作状态的只有一台小型机,作为备用的小型机处于非工作状态。当作为活动节点的小型机硬件资源耗尽时,无法做性能扩容,导致系统扩展性较差。
5.x86虚拟机指的是基于x86处理器架构虚拟化技术虚拟出来的服务器,可以在同一台服务器硬件上运行多个虚拟出来的x86虚拟机。为了提高系统的可扩展性,可以采用x86虚拟机集群替代ha模式小型机来实现系统高可用,此时,服务方中的每个服务节点可以理解为一个x86虚拟机。
6.ha模式下,调用方调用小型机的示意图可以如图1所示,其中调用方可以为调用节点集群,调用节点集群在图1中分别用调用节点1、调用节点2
……
和调用节点n表示。在图1中每个调用节点(可以理解为调用节点上部署的服务调用客户端(即,需要调用服务方提供的服务的客户端))当前通过漂移互联网协议(ip)地址调用的小型机1可以理解为服务方中的活动节点,当前未被调用的小型机2可以理解为服务方中的备用节点。
7.但是如果服务方采用x86虚拟机集群,调用方从外呼一个固定ip地址变化为外呼x86虚拟机集群,需要调用方修改外呼层代码来实现对x86虚拟机调用,修改代码难度较高,使得高可用系统的实现较为复杂。
技术实现要素:
8.本公开实施例提供一种服务调用外呼方法、装置、介质、产品和设备,用于解决目前服务方采用x86虚拟机集群的服务调用外呼实现复杂的问题。
9.第一方面,本公开提供了一种服务调用外呼方法,所述方法包括:
10.接收调用节点上部署的服务调用客户端根据预先配置的转发配置文件,发送的服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为
所述调用节点的互联网协议地址,所述端口为所述反向代理客户端对应的服务端口;
11.根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,以便接收到所述服务调用请求的服务节点,根据所述服务调用请求向所述服务调用客户端提供服务。
12.可选的,根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,包括:
13.根据预先配置的外呼配置文件,通过轮流选择的方式,从服务方包括的服务节点中选择一个服务节点,向选择出的服务节点转发所述服务调用请求。
14.可选的,所述外呼配置文件中还配置有所述服务方每个服务节点分别对应的心跳监测统一资源定位符地址;所述方法还包括:
15.按照设定的心跳监测频率,根据所述统一资源定位符地址,对每个服务节点进行心跳监测;并在心跳监测失败时,确定对应的服务节点无法提供服务,将对应的服务节点对应的互联网协议地址和端口设置为无效。
16.可选的,所述方法还包括:
17.在心跳监测失败的服务节点心跳监测成功时,取消该服务节点对应的互联网协议地址和端口无效的设置。
18.可选的,所述方法还包括:
19.接受所述调用节点上部署的反向代理监控客户端的监控,以便所述反向代理监控客户端在监控到反向代理客户端不可用时,通知所述服务调用客户端停止服务调用。
20.可选的,所述反向代理监控客户端在监控到反向代理客户端不可用之后,所述方法还包括:
21.接受所述反向代理监控客户端的监控,以便所述反向代理监控客户端监控到所述反向代理客户端恢复可用时,通知所述服务调用客户端启动服务调用。
22.第二方面,本公开还提供了一种服务调用外呼方法,所述方法应用于服务节点,包括:
23.接收服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;
24.根据所述服务调用请求向所述服务调用客户端提供服务。
25.第三方面,本公开还提供了一种服务调用外呼装置,所述装置应用于调用节点,包括反向代理客户端和服务调用客户端:
26.所述服务调用客户端,用于根据预先配置的转发配置文件,向所述反向代理客户端发送服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述调用节点的互联网协议地址,所述端口为所述反向代理客户端对应的服务端口;
27.所述反向代理客户端,用于根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,以便接收到所述服务调用请求的服务节点,根据所述服务调用请求向所述服务调用客户端提供服务。
28.可选的,所述反向代理客户端,根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,包括:
29.根据预先配置的外呼配置文件,通过轮流选择的方式,从服务方包括的服务节点中选择一个服务节点,向选择出的服务节点转发所述服务调用请求。
30.可选的,所述外呼配置文件中还配置有所述服务方每个服务节点分别对应的心跳监测统一资源定位符地址;所述反向代理客户端,还用于按照设定的心跳监测频率,根据所述统一资源定位符地址,对每个服务节点进行心跳监测;并在心跳监测失败时,确定对应的服务节点无法提供服务,将对应的服务节点对应的互联网协议地址和端口设置为无效。
31.可选的,所述反向代理客户端,还用于在心跳监测失败的服务节点心跳监测成功时,取消该服务节点对应的互联网协议地址和端口无效的设置。
32.可选的,所述装置还包括反向代理监控客户端;所述反向代理监控客户端,用于监控所述反向代理客户端是否可用,并在监控到所述反向代理客户端不可用时,通知所述服务调用客户端停止服务调用。
33.可选的,所述反向代理监控客户端,还用于监控到所述反向代理客户端恢复可用时,通知所述服务调用客户端启动服务调用。
34.第四方面,本公开还提供了一种服务调用外呼装置,所述装置应用于服务节点,包括:
35.接收模块,用于接收服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;
36.服务提供模块,用于根据所述服务调用请求向所述服务调用客户端提供服务。
37.第五方面,本公开还提供了一种服务调用外呼方法,所述方法包括:
38.获取服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件和外呼配置文件提供的,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;
39.根据所述服务调用请求,向所述服务调用客户端提供服务。
40.第六方面,本公开还提供了一种计算机程序产品,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行实现如上所述的方法。
41.第七方面,本公开还提供了一种非易失性计算机存储介质,所述计算机存储介质
存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
42.第八方面,本公开还提供了一种服务调用外呼设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
43.所述存储器,用于存放计算机程序;
44.所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
45.根据本公开实施例提供的方案,可以在调用节点上部署反向代理客户端,服务调用客户端可以根据预先配置的转发配置文件,向反向代理客户端发送服务调用请求,再由反向代理客户端根据预先配置的外呼配置文件,向服务节点转发服务调用请求。从而使得服务方采用x86虚拟机集群时,无需在调用方进行复杂的外呼代码修改,只需要在调用节点上部署反向代理客户端,即可以根据按照指定方式预先配置的配置文件,实现服务调用请求的外呼,降低服务方采用x86虚拟机集群的服务调用外呼的实现复杂度。
46.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
47.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为现有技术提供的ha模式下调用方调用小型机的示意图;
49.图2为本公开实施例提供的高可用系统的结构示意图;
50.图3为本公开实施例提供的服务调用外呼方法的流程示意图;
51.图4为本公开实施例提供的服务调用外呼方法的流程示意图;
52.图5为本公开实施例提供的服务调用外呼装置的结构示意图;
53.图6为本公开实施例提供的服务调用外呼装置的结构示意图;
54.图7为本公开实施例提供的服务调用外呼设备的结构示意图。
具体实施方式
55.为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
56.需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
57.本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别
类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
58.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
59.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
60.为了解决服务方采用x86虚拟机集群时,需要在调用方进行复杂的外呼代码修改,使得高可用系统的实现复杂度较高的问题,本发明在调用方每个调用节点中引入了反向代理软件来作为该调用节点的网络转发层,使得调用节点中需要调用服务的应用程序可以像ha模式下的高可用系统一样,通过一个ip地址来外呼所在调用节点的网络转发层,再由网络转发层将服务调用请求转发给x86虚拟机集群。
61.基于上述发明构思,本公开实施例提供一种高可用系统,该系统的结构可以如图2所示,所述系统包括调用方11和服务方12。所述服务方可以为虚拟机集群(例如,可以为x86虚拟机集群),在图2中可以假设服务方包括m个服务节点,每个服务节点121可以理解为一个虚拟机。所述调用方11包括至少一个调用节点111,在图2中可以假设调用方包括n个调用节点,每个调用节点上部署有服务调用客户端1111,每个调用节点上还进一步部署有反向代理客户端1112,其中:
62.所述服务调用客户端1111用于根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口。可以理解为,服务调用客户端可以根据预先配置的转发配置文件,向对应的反向代理客户端发送服务调用请求;
63.所述反向代理客户端1112用于根据预先配置的外呼配置文件,向所述服务节点转发所述服务调用请求,所述外呼配置文件中配置有所述服务方每个服务节点分别对应的互联网协议地址和端口。可以理解为,反向代理客户端可以根据预先配置的外呼配置文件,选择虚拟机集群中的一个服务节点发送服务调用请求;
64.所述服务节点121用于接收所述服务调用请求,根据所述服务调用请求向所述服务调用客户端提供服务。可以理解为,服务节点根据反向代理客户端转发的服务调用请求,向服务调用客户端提供服务。
65.在图2中,仅以调用节点1中的服务调用客户端通过反向代理客户端向服务方发送服务调用请求为例进行了示意。
66.进一步的,从调用节点侧,本公开实施例进一步提供一种服务调用外呼方法,该方法的步骤流程可以如图3所示,包括:
67.步骤301、服务调用客户端根据预先配置的转发配置文件,向反向代理客户端发送服务调用请求。
68.转发配置文件中可以配置有互联网协议地址和端口。其中,互联网协议地址为调用节点的互联网协议地址,端口为反向代理客户端对应的服务端口。这样,服务调用客户端即可以根据预先配置的转发配置文件,向反向代理客户端发送服务调用请求。
69.步骤302、反向代理客户端根据预先配置的外呼配置文件,向服务节点转发服务调用请求。
70.外呼配置文件中可以配置有服务方每个服务节点分别对应的互联网协议地址和端口。这样,反向代理客户端即可以根据预先配置的外呼配置文件,向服务节点转发服务调用请求。进一步的,接收到服务调用请求的服务节点,即可以根据服务调用请求向服务调用客户端提供服务。
71.反向代理客户端根据预先配置的外呼配置文件,向服务节点转发服务调用请求,可以理解为,反向代理客户端可以按照任意方式从服务方包括的服务节点中选择一个服务节点,向选择出的服务节点转发服务调用请求。
72.需要说明的是,由于外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,那么根据预先配置的外呼配置文件即可以确定服务方包括的服务节点。
73.在一种可能的实现方式中,为了保证服务节点(虚拟机集群)的负载均衡,反向代理客户端可以通过轮流选择的方式,从服务方包括的服务节点中选择一个服务节点,根据预先配置的外呼配置文件中配置的互联网协议地址和端口,向选择出的服务节点转发服务调用请求。
74.也就是说,反向代理客户端可以根据预先配置的外呼配置文件,通过轮流选择的方式,选择出一个服务节点,并向选择出的服务节点转发服务调用请求。
75.在一种可能的实现方式中,为了保证可以实现服务方各服务节点(虚拟机)的负载均衡,反向代理客户端可以但不限于采用haproxy、apache httpd、nginx等反向代理开源软件来实现。
76.进一步的,反向代理客户端还可以针对每个服务节点进行心跳监测,从而可以实现对故障服务节点的隔离。
77.此时,在一种可能的实现方式中,外呼配置文件中还可以配置有服务方每个服务节点分别对应的心跳监测统一资源定位符(url)地址;反向代理客户端可以按照设定的心跳监测频率,根据url地址,对每个服务节点进行心跳监测;并在心跳监测失败时,确定对应的服务节点无法提供服务,将对应的服务节点对应的互联网协议地址和端口设置为无效。
78.反向代理客户端在进行服务调用请求的转发时,不会向互联网协议地址和端口设置为无效的服务节点进行转发,从而实现对故障服务节点的隔离。
79.进一步的,在本实施例中,还可以在故障服务节点恢复正常时,取消对故障服务节点的隔离,使得该服务节点可以继续提供服务,进一步保证系统的高可用性。
80.也就是说,在一种可能的实现方式中,反向代理客户端可以在心跳监测失败的服务节点心跳监测成功时,取消该服务节点对应的互联网协议地址和端口无效的设置。
81.此时,反向代理客户端可以将取消互联网协议地址和端口无效设置的服务节点作为正常的服务节点,进行服务调用请求的转发。
82.更进一步的,考虑到反向代理客户端存在单节点风险,如果某个调用节点上的反
向代理客户端发生故障,将导致该调用节点上的服务调用客户端无法调用服务,却无法及时定位无法调用服务的原因。
83.因此,在一种可能的实现方式中,调用节点上还可以部署有反向代理监控客户端,反向代理监控客户端监控所在调用节点上的反向代理客户端是否可用,并在监控到反向代理客户端不可用时,通知所在调用节点上的服务调用客户端停止服务调用。
84.当然,进一步的,反向代理监控客户端还可以在监控到反向代理客户端恢复可用时,通知服务调用客户端启动服务调用。
85.服务调用客户端在反向代理客户端不可用时停止服务调用,可以避免由于反向代理客户端出现故障,导致系统调用方对外提供服务时出现故障。在一种可能的实现方式中,服务调用客户端可以在接收到停止服务调用的通知时,将自身标识从系统对外提供服务的目录中删除,避免无法提供对外服务的问题。当然,服务调用客户端还可以在接收到重新启动服务调用的通知时,在系统对外提供服务的目录中加入自身标识,以便继续对外提供服务。
86.从服务节点侧,本公开实施例进一步提供一种服务调用外呼方法,该方法的步骤流程可以如图4所示,包括:
87.步骤401、服务节点接收服务调用请求。
88.在本步骤中,高可用系统中作为服务方的服务节点可以接收服务调用请求。服务接收到的调用请求可以为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的。
89.步骤402、服务节点根据服务调用请求向服务调用客户端提供服务。
90.在本步骤中,服务节点在接收到服务调用请求后,即可以根据接收到的服务调用请求,向服务调用客户端提供服务。
91.本发明可以通过软件方式实现系统高可用,避免硬件方式实现系统高可用的硬件资源浪费问题,并可以避免软件方式实现系统高可用的实现复杂问题,通过反向代理客户端的引入,无需复杂的编码修改,可以轻松地实现系统高可用,解决服务调用外呼实现复杂的问题。
92.与提供的方法对应的,进一步提供以下的装置。
93.本公开实施例提供一种服务调用外呼装置,该装置可以集成在调用节点中,该装置的结构可以如图5所示,包括反向代理客户端21和服务调用客户端22:
94.所述服务调用客户端22用于根据预先配置的转发配置文件,向所述反向代理客户端发送服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述调用节点的互联网协议地址,所述端口为所述反向代理客户端对应的服务端口;
95.所述反向代理客户端21用于根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,以便接收到所述服务调用请求的服务节点,根据所述服务调用请求向所述服务调用客户端提供服务。
96.可选的,所述反向代理客户端21根据预先配置的外呼配置文件,向服务节点转发
所述服务调用请求,包括:
97.根据预先配置的外呼配置文件,通过轮流选择的方式,从服务方包括的服务节点中选择一个服务节点,向选择出的服务节点转发所述服务调用请求。
98.可选的,所述外呼配置文件中还配置有所述服务方每个服务节点分别对应的心跳监测统一资源定位符地址;所述反向代理客户端21还用于按照设定的心跳监测频率,根据所述统一资源定位符地址,对每个服务节点进行心跳监测;并在心跳监测失败时,确定对应的服务节点无法提供服务,将对应的服务节点对应的互联网协议地址和端口设置为无效。
99.可选的,所述反向代理客户端21还用于在心跳监测失败的服务节点心跳监测成功时,取消该服务节点对应的互联网协议地址和端口无效的设置。
100.可选的,所述装置还包括反向代理监控客户端23;所述反向代理监控客户端23用于监控所述反向代理客户端是否可用,并在监控到所述反向代理客户端不可用时,通知所述服务调用客户端停止服务调用。
101.可选的,所述反向代理监控客户端23还用于监控到所述反向代理客户端恢复可用时,通知所述服务调用客户端启动服务调用。
102.本公开实施例提供一种服务调用外呼装置,该装置可以集成在服务节点中,该装置的结构可以如图6所示,包括:
103.接收模块31用于接收服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;
104.服务提供模块32用于根据所述服务调用请求向所述服务调用客户端提供服务。
105.本公开上述实施例提供的各装置的各功能单元的功能,可以通过上述对应的各方法的步骤来实现,因此,本公开实施例提供的各装置中的各个功能单元的可能的工作过程和有益效果,在此不复赘述。
106.基于同一发明构思,本公开实施例提供以下的设备、介质和产品。
107.本公开实施例提供一种服务调用外呼设备,该设备的结构可以如图7所示,包括处理器41、通信接口42、存储器43和通信总线44,其中,所述处理器41,所述通信接口42,所述存储器43通过所述通信总线44完成相互间的通信;
108.所述存储器43,用于存放计算机程序;
109.所述处理器41,用于执行所述存储器上所存储的程序时,实现本公开上述方法实施例所述的步骤。
110.可选的,所述处理器41可以包括中央处理器(cpu)、特定应用集成电路(asic,application specific integrated circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fpga,field programmable gate array)开发的硬件电路,可以是基带处理器。
111.可选的,所述处理器41可以包括至少一个处理核心。
112.可选的,所述存储器43可以包括只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)和磁盘存储器。存储器43用于存储至少一个处理器41运行时所需的数据。存储器43的数量可以为一个或多个。
113.本公开实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本公开上述方法实施例提供的方法。
114.在可能的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(usb,universal serial bus flash drive)、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
115.本公开实施例还提供一种计算机程序产品,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行实现本公开上述方法实施例提供的方法。
116.在本公开实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
117.在本公开实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
118.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash drive)、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
119.本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
120.本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
121.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
122.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
123.尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
124.显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
技术特征:
1.一种服务调用外呼方法,其特征在于,所述方法包括:接收调用节点上部署的服务调用客户端根据预先配置的转发配置文件,发送的服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述调用节点的互联网协议地址,所述端口为所述反向代理客户端对应的服务端口;根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,以便接收到所述服务调用请求的服务节点,根据所述服务调用请求向所述服务调用客户端提供服务。2.如权利要求1所述的方法,其特征在于,根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,包括:根据预先配置的外呼配置文件,通过轮流选择的方式,从服务方包括的服务节点中选择一个服务节点,向选择出的服务节点转发所述服务调用请求。3.如权利要求1所述的方法,其特征在于,所述外呼配置文件中还配置有所述服务方每个服务节点分别对应的心跳监测统一资源定位符地址;所述方法还包括:按照设定的心跳监测频率,根据所述统一资源定位符地址,对每个服务节点进行心跳监测;并在心跳监测失败时,确定对应的服务节点无法提供服务,将对应的服务节点对应的互联网协议地址和端口设置为无效。4.如权利要求3所述的方法,其特征在于,所述方法还包括:在心跳监测失败的服务节点心跳监测成功时,取消该服务节点对应的互联网协议地址和端口无效的设置。5.如权利要求1~4任一所述的方法,其特征在于,所述方法还包括:接受所述调用节点上部署的反向代理监控客户端的监控,以便所述反向代理监控客户端在监控到反向代理客户端不可用时,通知所述服务调用客户端停止服务调用。6.如权利要求5所述的方法,其特征在于,所述反向代理监控客户端在监控到反向代理客户端不可用之后,所述方法还包括:接受所述反向代理监控客户端的监控,以便所述反向代理监控客户端监控到所述反向代理客户端恢复可用时,通知所述服务调用客户端启动服务调用。7.一种服务调用外呼方法,其特征在于,所述方法应用于服务节点,包括:接收服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;根据所述服务调用请求向所述服务调用客户端提供服务。8.一种服务调用外呼装置,其特征在于,所述装置应用于调用节点,包括反向代理客户端和服务调用客户端:所述服务调用客户端,用于根据预先配置的转发配置文件,向所述反向代理客户端发送服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地
址为所述调用节点的互联网协议地址,所述端口为所述反向代理客户端对应的服务端口;所述反向代理客户端,用于根据预先配置的外呼配置文件,向服务节点转发所述服务调用请求,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口,以便接收到所述服务调用请求的服务节点,根据所述服务调用请求向所述服务调用客户端提供服务。9.一种服务调用外呼装置,其特征在于,所述装置应用于服务节点,包括:接收模块,用于接收服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件,向其所在调用节点上部署的反向代理客户端发送所述服务调用请求,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述反向代理客户端接收所述服务调用请求并根据预先配置的外呼配置文件转发的,所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;服务提供模块,用于根据所述服务调用请求向所述服务调用客户端提供服务。10.一种服务调用外呼方法,其特征在于,所述方法包括:获取服务调用请求,所述服务调用请求为服务调用客户端根据预先配置的转发配置文件和外呼配置文件提供的,所述转发配置文件中配置有互联网协议地址和端口,所述互联网协议地址为所述服务调用客户端所在调用节点的互联网协议地址,所述端口为所述服务调用客户端所在调用节点上部署的反向代理客户端对应的服务端口;所述外呼配置文件中配置有服务方每个服务节点分别对应的互联网协议地址和端口;根据所述服务调用请求,向所述服务调用客户端提供服务。11.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~6或7或10任一所述的方法。12.一种计算机程序产品,其特征在于,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行实现权利要求1~6或7或10任一所述的方法。13.一种服务调用外呼设备,其特征在于,所述设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存储的程序时,实现权利要求1~6或7或10任一所述的方法步骤。
技术总结
本公开涉及云计算/虚拟化技术领域,特别涉及一种服务调用外呼方法、装置、介质、产品和设备。根据本公开实施例提供的方案,可以在调用节点上部署反向代理客户端,服务调用客户端可以根据预先配置的转发配置文件,向反向代理客户端发送服务调用请求,再由反向代理客户端根据预先配置的外呼配置文件,向服务节点转发服务调用请求。从而使得服务方采用X86虚拟机集群时,无需在调用方进行复杂的外呼代码修改,只需要在调用节点上部署反向代理客户端,即可以根据按照指定方式预先配置的配置文件,实现服务调用请求的外呼,降低服务方采用X86虚拟机集群的高可用系统的实现复杂度。虚拟机集群的高可用系统的实现复杂度。虚拟机集群的高可用系统的实现复杂度。
技术研发人员:熊涛 马金钱 杨艳 陈素林
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2021.12.09
技术公布日:2022/3/8