一种服务调用方法及服务器与流程

文档序号:18000881发布日期:2019-06-25 22:50阅读:178来源:国知局
一种服务调用方法及服务器与流程

本发明涉及通信领域,尤其涉及一种服务调用方法及服务器。



背景技术:

分布式服务服务器就是将服务服务器的功能进行拆分,利用多台计算机分别实现服务服务器的各个功能,通过多台计算机的相互协作来实现整个服务服务器的功能。采用分布式服务服务器,能够提高处理速度和便于管理、维护和更新,因此分布式服务服务器被广泛应用于互联网中,然而,随着网站应用的规模不断扩大,业务量和业务类型越来越复杂,同一个服务可能由多个服务提供端来提供,如何从多个服务提供端中调用有效的服务提供端变得越来越重要。

现有的服务发现机制中,当服务消费端从服务注册中心返回最新的服务提供端地址列表中选择了一台服务提供端建立连接之后,服务消费端启动定时器,在定时器时间到达时,服务消费端指示服务注册中心返回该服务提供端的使用信息,并根据返回的使用信息调整调用的服务提供端。

然而,在定时器时间到达之前,服务消费端调用的服务提供端在服务注册中心的状态已经变为不可用时,此时,服务消费端无法及时获取服务提供端的状态,服务消费端调用的还是原来的服务提供端,使得服务消费端的服务调用失败,因此,会导致服务变更通知不及时。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种服务调用方法及服务器,能够及时通知服务变更。

本发明实施例提供一种服务调用方法,应用于应用服务器,包括:

当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,所述变更通知请求用于当所述管理服务器检测到所述第一服务地址变化时,请求所述管理服务器发送处于可用状态的更新的待连接服务地址列表;

当接收到响应所述变更通知请求的第一响应指令时,获取所述更新的待连接服务地址列表;

从所述更新的待连接服务地址列表中确定出第二服务地址,与所述第二服务地址建立通信连接。

在上述方法中,所述向管理服务器发送变更通知请求之前,所述方法还包括:

从所述管理服务器中获取待连接服务地址列表;

按照预设确定策略,从所述待连接服务地址列表中确定出第一服务地址;

建立与所述第一服务地址之间的通信连接。

在上述方法中,所述获取所述更新的待连接服务地址列表之后,所述方法还包括:

利用所述更新的待连接服务地址列表,更新服务存储区域中存储的所述待连接服务地址列表。

本发明实施例提供一种服务调用方法,应用于管理服务器,包括:

接收应用服务器发送的变更通知请求;

检测所述变更通知请求对应的第一服务地址的服务使用状态;

当所述服务使用状态为不可用状态时,获取处于可用状态的第二服务地址;

将所述第二服务地址组成更新的待连接服务地址列表;

向所述应用服务器发送第一响应指令,所述第一响应指令携带所述更新的待连接服务地址列表。

在上述方法中,所述检测所述变更通知请求对应的第一服务地址的服务使用状态,包括:

确定所述第一服务地址对应的业务服务器;

在预设检测时间到达时,检测是否从所述业务服务器接收到正常响应;

当从所述业务服务器接收到正常响应时,将所述服务使用状态设置为可用状态;

当未从所述业务服务器接收到正常响应时,将所述服务使用状态设置为所述不可用状态。

在上述方法中,所述接收所述应用服务器发送的服务调用请求之前,所述方法还包括:

将业务服务器提供的所述第一服务地址进行注册。

本发明实施例提供一种应用服务器,所述应用服务器包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,当所述程序被处理器执行时,执行如上述任一项所述服务调用的方法。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于应用服务器,该计算机程序被处理器执行时实现如上述任一项所述服务调用的方法。

本发明实施例提供一种管理服务器,所述管理服务器包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,当所述程序被处理器执行时,执行如上述任一项所述服务调用的方法。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于管理服务器,该计算机程序被处理器执行时实现如上述任一项所述服务调用的方法。

本发明实施例提供了一种服务调用方法及服务器,应用于应用服务器,该方法可以包括:当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,变更通知请求用于当管理服务器检测到第一服务地址变化时,请求管理服务器发送处于可用状态的更新的待连接服务地址列表;当接收到响应变更通知请求的第一响应指令时,获取更新的待连接服务地址列表;从更新的待连接服务地址列表中确定出第二服务地址,与第二服务地址建立通信连接。采用上述方法,应用服务器在建立了与第一服务地址的通信连接时,向管理服务器发送变更通知请求,当管理服务器判断出第一服务地址不可用时,向应用服务器发送更新的待连接服务地址列表,此时,应用服务器从更新的待连接服务地址列表中确定出第二服务地址,并建立与第二服务地址的通信连接,应用服务器可以在第一服务地址不可用时,调用可用的第二服务地址,能够及时通知服务变更。

附图说明

图1为本发明实施例提供的一种服务调用方法所使用的服务器组成示意图;

图2为本发明实施例提供的一种服务调用方法的流程图一;

图3为本发明实施例提供的一种示例性的应用服务器监听服务变更的流程图;

图4为本发明实施例提供的一种服务调用方法的流程图二;

图5为本发明实施例提供的一种服务调用方法的流程图三;

图6为本发明实施例提供的一种示例性的业务服务器检查服务变更的流程图;

图7为本发明实施例提供的一种服务调用方法的交互图;

图8为本发明实施例提供的一种示例性的业服务器向管理服务器注册第一服务地址的流程图;

图9为本发明实施例提供的一种应用服务器1的结构示意图一;

图10为本发明实施例提供的一种应用服务器1的结构示意图二;

图11为本发明实施例提供的一种应用服务器1的结构示意图三;

图12为本发明实施例提供的一种应用服务器1的结构示意图四;

图13为本发明实施例提供的一种管理服务器2的结构示意图一;

图14为本发明实施例提供的一种管理服务器2的结构示意图二;

图15为本发明实施例提供的一种管理服务器2的结构示意图三;

图16为本发明实施例提供的一种管理服务器2的结构示意图四;

图17为本发明实施例提供的一种管理服务器2的结构示意图五;

图18为本发明实施例提供的一种业务服务器3的结构示意图一;

图19为本发明实施例提供的一种业务服务器3的结构示意图二;

图20为本发明实施例提供的一种业务服务器3的结构示意图三。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例实现服务调用方法需要三类服务器共同完成,如图1所示,分别为业务服务器、管理服务器和应用服务器,其中,业务服务器将需要发布的服务注册到管理服务器上,应用服务器从管理服务器处请求服务,管理服务器将注册的服务返回给应用服务器。

实施例一

本发明实施例提供一种服务调用方法,应用于应用服务器,如图2所示,该方法可以包括:

s101、当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,变更通知请求用于当管理服务器检测到第一服务地址变化时,请求管理服务器发送处于可用状态的更新的待连接服务地址列表。

本发明实施例提供的一种服务调用方法适用于服务使用端调用服务提供端提供的服务的场景下。

本发明实施例中,服务使用端需要调用第一服务时,服务使用端在应用服务器对应的显示界面上选择第一服务并点击确定,此时,应用服务器获取到第一服务的服务调用请求,应用服务器根据第一服务的属性信息,从服务注册中心(管理服务器)处获取第一服务对应的待连接服务地址列表,然后,应用服务器运用软负载均衡算法,从待连接服务地址列表中确定出第一服务地址,并建立服务使用端与第一服务地址的通信连接。

本发明实施例中,应用服务器将待连接服务地址列表存储至本地缓存中,以供下一次的服务调用的过程使用。

本发明实施例中,当应用服务器连接了服务使用端与第一服务地址的通信连接时,应用服务器启动服务的独立监听进程向服务注册中心发送阻塞查询请求(变更通知请求)。

s102、当接收到响应变更通知请求的第一响应指令时,获取更新的待连接服务地址列表。

当应用服务器向管理服务器发送变更通知请求之后,应用服务器就要等待接收管理服务器发送的第一响应指令了,当应用服务器接收到管理服务器发送的第一响应指令时,表征第一服务地址不可用,此时,应用服务器从管理服务器获取更新的待连接服务地址列表。

本发明实施例中,当第一服务地址不可用时,应用服务器接收到阻塞查询请求对应的第一响应指令,第一响应指令中包括了从管理服务器获取的更新的待连接服务地址列表。

进一步地,当第一服务地址可用时,管理服务器不会向应用服务器发送第一响应指令。

本发明实施例中,应用服务器将获取到的更新的待连接服务地址列表更新至本地缓存中。

s103、从更新的待连接服务地址列表中确定出第二服务地址,与第二服务地址建立通信连接。

当应用服务器从管理服务器获取到更新的待连接服务地址列表之后,应用服务器就要从更新的待连接服务地址列表中确定出第二服务地址,并建立服务使用端与第二服务地址的通信连接了。

本发明实施例中,应用服务器运用软负载均衡算法,从更新的待连接服务地址列表中确定出第二服务地址,之后,应用服务器建立服务使用端与第二服务地址的通信连接。

示例性的,如图3所示,应用服务器监听服务变更的步骤包括:

1、应用服务器启动服务监听线程;

2、应用服务器通过服务监听线程,向服务注册中心发送阻塞查询请求;

3、服务注册中心根据阻塞查询请求,判断服务信息及装置是否有变更;

4、当服务注册中心判断出服务信息及装置有变更时,执行5;

5、服务注册中心获取当前可用的服务信息列表;

6、服务注册中心将当前可用的服务信息列表发送至应用服务器;

7、应用服务器判断当前可用的服务信息列表与本地缓存是否一致;

8、当当前可用的服务信息列表与本地缓存不一致时,应用服务器利用当前可用的服务信息列表更新本地缓存中的服务信息;

9、当当前可用的服务信息列表与本地缓存一致时,执行2;

10、当服务注册中心判断出服务信息及装置没有变更时,判断是否超时;

11、当没有超时时,执行3;

12、当超时时,执行5;

可以理解的是,应用服务器在建立了服务使用端与第一服务地址的通信连接时,向管理服务器发送变更通知请求,当管理服务器判断出第一服务地址不可用时,向应用服务器发送更新的待连接服务地址列表,此时,应用服务器从更新的待连接服务地址列表中确定出第二服务地址,并建立服务使用端与第二服务地址的通信连接,应用服务器可以在第一服务地址不可用时,调用可用的第二服务地址,能够及时通知服务变更。

实施例二

本发明实施例提供一种服务调用方法,应用于管理服务器,如图4所示,该方法可以包括:

s201、接收应用服务器发送的变更通知请求。

本发明实施例提供的一种服务调用方法适用于服务使用端调用服务提供端提供的服务的场景下。

本发明实施例中,管理服务器可以为服务注册中心。

本发明实施例中,应用服务器向服务注册中心发送阻塞查询请求(变更通知请求),此时,服务注册中心接收到应用服务器发送的阻塞查询请求。

s202、检测变更通知请求对应的第一服务地址的服务使用状态。

当管理服务器接收到应用服务器发送的变更通知请求之后,管理服务器就要根据变更通知请求检测对应的第一服务地址的服务使用状态了。

本发明实施例中,阻塞查询请求中携带有第一服务地址,管理服务器接收到变更通知请求之后,管理服务器检测第一服务地址的服务使用状态。

本发明实施例中,服务注册中心先确定第一服务地址对应的业务服务器,然后,在预设检测时间到达时,服务注册中心检测是否从业务服务器接收到正常响应;当在预设检测时间到达时,服务注册中心从业务服务器接收到正常响应时,表征第一服务地址的服务使用状态为可用状态;当在预设检测时间到达时,服务注册中心未从业务服务器接收到正常响应时,表征第一服务地址的服务使用状态为不可用状态。

s203、当服务使用状态为不可用状态时,获取处于可用状态的第二服务地址。

当管理服务器检测第一服务地址的服务使用状态为不可用状态时,管理服务器获取处于可用状态的第二服务地址。

本发明实施例中,当第一服务地址的服务使用状态为不可用状态时,服务注册中心查找与第一服务的属性信息相同的,且处于可用状态的第二服务地址。

s204、将第二服务地址组成更新的待连接服务地址列表。

当管理服务器获取处于可用状态的第二服务地址之后,管理服务器就要将第二服务地址组成更新的待连接服务地址列表了。

本发明实施例中,服务注册中心将第二服务地址组成更新的待连接服务地址列表。

s205、向应用服务器发送第一响应指令,第一响应指令携带更新的待连接服务地址列表。

当管理服务器将第二服务地址组成更新的待连接服务地址列表之后,管理服务器将更新的待连接服务地址列表添加至第一响应指令中,并将第一响应指令发送至应用服务器。

本发明实施例中,服务注册中心将更新的待连接服务地址列表添加至第一响应指令中,并将第一响应指令发送至应用服务器。

可以理解的是,应用服务器在建立了服务使用端与第一服务地址的通信连接时,向管理服务器发送变更通知请求,当管理服务器判断出第一服务地址不可用时,向应用服务器发送更新的待连接服务地址列表,此时,应用服务器从更新的待连接服务地址列表中确定出第二服务地址,并建立服务使用端与第二服务地址的通信连接,应用服务器可以在第一服务地址不可用时,调用可用的第二服务地址,能够及时通知服务变更。

实施例三

本发明实施例提供一种服务调用方法,应用于业务服务器,如图5所示,该方法可以包括:

s301、当第一服务地址在管理服务器注册成功时,在预设检测时间到达时,检测第一服务地址是否可用。

本发明实施例提供的一种服务调用方法适用于服务使用端调用服务提供端提供的服务的场景下。

本发明实施例中,当业务服务器接收到服务提供端提供的第一服务地址及对应的服务属性时,业务服务器启动业务服务器代理模块,业务服务器代理模块调用服务注册模块,服务注册模块根据服务属性向服务注册中心注册第一服务地址,当第一服务地址注册成功之后,业务服务器调用执行服务健康检查模块定时检查服务是否可用。

本发明实施例中,服务健康检查模块默认服务为可用的。

本发明实施例中,第一服务地址包括描述第一服务功能的服务名、ip地址、端口、服务路径、属性等。

s302、当检测出第一服务地址可用时,向管理服务器发送正常响应。

当业务服务器在预设检测时间到达时,检测出第一服务地址可用时,业务服务器向管理服务器发送正常响应。

本发明实施例中,在预设检测时间到达时,当业务服务器检测出第一服务地址可用时,业务服务器向管理服务器发送心跳(正常响应)。

s303、当检测出第一服务地址不可用时,不向管理服务器发送正常响应。

当业务服务器在预设检测时间到达时,检测出第一服务地址不可用时,业务服务器不向管理服务器发送正常响应。

本发明实施例中,在预设检测时间到达时,当业务服务器检测出第一服务地址不可用时,业务服务器不向管理服务器发送心跳(正常响应)。

示例性的,如图6所示,业务服务器检查服务变更的步骤包括:

1、业务服务器在服务注册中心注册第一服务地址;

2、当第一服务地址注册成功时,业务服务器启动服务健康检查模块;

3、服务健康检查模块判断第一服务地址是否可用;

4、当第一服务地址可用时,业务服务器向服务注册中心上报心跳;

5、当第一服务地址不可用时,业务服务器不向服务注册中心上报心跳。

可以理解的是,应用服务器在建立了服务使用端与第一服务地址的通信连接时,向管理服务器发送变更通知请求,当管理服务器判断出第一服务地址不可用时,向应用服务器发送更新的待连接服务地址列表,此时,应用服务器从更新的待连接服务地址列表中确定出第二服务地址,并建立服务使用端与第二服务地址的通信连接,应用服务器可以在第一服务地址不可用时,调用可用的第二服务地址,能够及时通知服务变更。

实施例四

本发明实施例提供一种服务调用方法,如图7所示,该方法可以包括:

s401、应用服务器向管理服务器发送服务调用请求。

本发明实施例提供的一种服务调用方法适用于服务使用端调用服务提供端提供的服务的场景下。

本发明实施例中,服务使用端需要调用第一服务时,服务使用端在应用服务器对应的显示界面上选择第一服务并点击确定,此时,应用服务器获取到第一服务的服务调用请求。

本发明实施例中,应用服务器先在本地缓存中查找第一服务,如果本地缓存中存在第一服务时,应用服务器直接从本地缓存中获取第一服务地址并返回给服务提供端。

本发明实施例中,当应用服务器的本地缓存不存在第一服务时,应用服务器根据第一服务的属性信息,从服务注册中心(管理服务器)处获取第一服务对应的待连接服务地址列表。

s402、管理服务器根据服务调用请求查找待连接服务地址列表。

当应用服务器向管理服务器发送服务调用请求之后,管理服务器就要根据服务调用请求查找待连接服务地址列表。

本发明实施例中,服务注册中心根据服务调用请求中的服务属性,查找待连接服务地址列表。

s403、管理服务器将待连接服务地址列表发送至应用服务器。

当管理服务器查找待连接服务地址列表之后,管理服务器将待连接服务地址列表发送至应用服务器。

本发明实施例中,管理服务器将待连接服务地址列表发送至应用服务器。

本发明实施例中,应用服务器将待连接服务地址列表存储至本地缓存中,以供下一次的服务调用的过程使用。

s404、应用服务器按照预设确定策略,从待连接服务地址列表中确定出第一服务地址。

当管理服务器将待连接服务地址列表发送至应用服务器之后,应用服务器就要按照预设确定策略,从待连接服务地址列表中确定出第一服务地址了。

本发明实施例中,应用服务器运用软负载均衡算法,从待连接服务地址列表中确定出第一服务地址。

s405、应用服务器建立与第一服务地址之间的通信连接。

当应用服务器从待连接服务地址列表中确定出第一服务地址之后,应用服务器建立服务使用端和第一服务地址之间的通信连接了。

本发明实施例中,应用服务器建立服务使用端和第一服务地址之间的通信连接。

s406、应用服务器向管理服务器发送变更通知请求。

当应用服务器建立了服务使用端和第一服务地址之间的通信连接之后,应用服务器就要向管理服务器发送变更通知请求了。

本发明实施例中,应用服务器启动服务的独立监听进程向服务注册中心发送阻塞查询请求(变更通知请求)。

s407、管理服务器确定第一服务地址对应的业务服务器。

当应用服务器向管理服务器发送变更通知请求之后,管理服务器就要根据变更通知请求确定第一服务地址对应的业务服务器了。

本发明实施例中,管理服务器根据第一服务地址,确定第一服务地址对应的业务服务器。

s408、当管理服务器未从业务服务器接收到正常响应时,管理服务器将服务使用状态设置为不可用状态。

当管理服务器确定第一服务地址对应的业务服务器之后,管理服务器就要检测第一服务地址的服务使用状态了,当管理服务器未从业务服务器接收到正常响应时,管理服务器将服务使用状态设置为不可用状态。

本发明实施例中,当第一服务地址在服务注册中心成功注册之后,业务服务器就要向服务注册中心发送第一服务地址的心跳,来证明第一服务地址处于可用状态,当服务注册中心接收不到业务服务器发送的心跳时,表征第一服务地址处于不可用状态。

s409、管理服务器获取处于可用状态的第二服务地址。

当管理服务器判断出第一服务地址处于不可用状态时,管理服务器就要获取处于可用状态的第二服务地址了。

本发明实施例中,当第一服务地址的服务使用状态为不可用状态时,服务注册中心查找与第一服务的属性信息相同的,且处于可用状态的第二服务地址。

s410、管理服务器将第二服务地址组成更新的待连接服务地址列表。

当管理服务器获取处于可用状态的第二服务地址之后,管理服务器就要将第二服务地址组成更新的待连接服务地址列表了。

本发明实施例中,服务注册中心将第二服务地址组成更新的待连接服务地址列表。

s411、管理服务器向应用服务器发送第一响应指令,第一响应指令携带更新的待连接服务地址列表。

当管理服务器将第二服务地址组成更新的待连接服务地址列表之后,管理服务器将更新的待连接服务地址列表添加至第一响应指令中,并将第一响应指令发送至应用服务器。

本发明实施例中,服务注册中心将更新的待连接服务地址列表添加至第一响应指令中,并将第一响应指令发送至应用服务器。

s412、应用服务器利用更新的待连接服务地址列表,更新服务存储区域中的待连接服务地址列表中存储的待连接服务地址列表。

当管理服务器向应用服务器发送更新的待连接服务地址列表之后,应用服务器就要利用更新的待连接服务地址列表,更新服务存储区域中的待连接服务地址列表了。

本发明实施例中,应用服务器利用更新的待连接服务地址列表更新本地缓存,下次服务查询时就可以从本地缓存中获取最新的服务信息。

在步骤s401之前,还包括业服务器向管理服务器注册第一服务地址的过程,如图8所示,该方法包括:

s501、业务服务器将第一服务地址发送至管理服务器。

本发明实施例中,服务提供端向业务服务器发送服务注册请求,服务注册请求中包括第一服务地址及对应的服务属性。

本发明实施例中,第一服务地址包括描述第一服务功能的服务名、ip地址、端口、服务路径、属性等。

s502、管理服务器将第一服务地址进行注册。

当管理服务器接收到第一服务地址之后,管理服务器就要将第一服务地址进行注册了。

s503、管理服务器向业务服务器发送注册成功指令。

当管理服务器将第一服务地址注册成功时,管理服务器就要向业务服务器发送注册成功指令了。

s504、当第一服务地址在管理服务器注册成功时,在预设检测时间到达时,业务服务器检测第一服务地址是否可用。

当业务服务器接收到管理服务器发送的注册成功指令之后,业务服务器就要在预设检测时间到达时,检测第一服务地址是否可用了。

本发明实施例中,当第一服务地址注册成功之后,业务服务器调用执行服务健康检查模块定时检查服务是否可用。

本发明实施例中,服务健康检查模块默认服务为可用的。

s505、当检测出第一服务地址可用时,业务服务器向管理服务器发送正常响应。

当业务服务器检测出第一服务地址可用时,业务服务器向管理服务器发送正常响应。

本发明实施例中,当业务服务器的服务健康检查模块检测出第一服务地址可用时,业务服务器向管理服务器上报心跳。

s506、管理服务器将第一服务地址的服务使用状态设置为可用状态。

当业务服务器向管理服务器发送正常响应之后,管理服务器将第一服务地址的服务使用状态设置为可用状态。

本发明实施例中,当管理服务器接收到业务服务器发送的心跳之后,管理服务器将第一服务地址的服务使用状态设置为可用状态。

s507、当检测出第一服务地址不可用时,业务服务器不向管理服务器发送正常响应。

当业务服务器检测出第一服务地址不可用时,业务服务器不向管理服务器发送正常响应。

本发明实施例中,当业务服务器的服务健康检查模块检测出第一服务地址不可用时,业务服务器不向管理服务器上报心跳。

s508、管理服务器将服务使用状态设置为不可用状态。

当业务服务器不向管理服务器发送正常响应之后,管理服务器将第一服务地址的服务使用状态设置为不可用状态。

本发明实施例中,当管理服务器未接收到业务服务器发送的心跳之后,管理服务器将第一服务地址的服务使用状态设置为不可用状态。

s505-s506和s507-s508为s504之后的两个并列的步骤,具体的根据实际情况进行选择执行,本发明实施例不做具体的限定。

可以理解的是,应用服务器在建立了与第一服务地址的通信连接时,向管理服务器发送变更通知请求,当管理服务器判断出第一服务地址不可用时,向应用服务器发送更新的待连接服务地址列表,此时,应用服务器从更新的待连接服务地址列表中确定出第二服务地址,并建立服务使用端与第二服务地址的通信连接,应用服务器可以在第一服务地址不可用时,调用可用的第二服务地址,能够及时通知服务变更。

实施例五

本发明实施例提供一种应用服务器1,如图9所示,该应用服务器1包括:

第一发送单元10,用于当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,所述变更通知请求用于当所述管理服务器检测到所述第一服务地址变化时,请求所述管理服务器发送处于可用状态的更新的待连接服务地址列表。

第一获取单元11,用于当接收到响应所述变更通知请求的第一响应指令时,获取所述更新的待连接服务地址列表。

第一确定单元12,用于从所述更新的待连接服务地址列表中确定出第二服务地址,与所述第二服务地址建立通信连接。

可选的,基于图9,如图10所示,所述应用服务器1还包括:建立单元13。

所述第一获取单元11,用于从所述管理服务器中获取所述服务调用请求对应的待连接服务地址列表。

所述第一确定单元12,还用于按照预设确定策略,从所述待连接服务地址列表中确定出第一服务地址。

所述建立单元13,用于建立与所述第一服务地址之间的通信连接。

可选的,基于图10,如图11所示,所述应用服务器1还包括:第一更新单元14。

所述第一更新单元14,用于利用所述更新的待连接服务地址列表,更新服务存储区域中存储的所述待连接服务地址列表。

在实际应用中,基于实施例一和实施例四的同一发明构思下,如图12所示,应用服务器1可以包括:第一处理器15、第一存储器16、第一通信接口17、第一总线18和第一发送器19;

上述第一获取单元11、第一确定单元12、建立单元13和第一更新单元14可由位于应用服务器1上的第一处理器15实现,上述第一发送单元10可由位于应用服务器1上的第一发送器19实现,上述第一处理器15可以为特定用途集成电路(asic,applicationspecificintegratedcircuit)、数字信号处理器(dsp,digitalsignalprocessor)、数字信号处理装置(dspd,digitalsignalprocessingdevice)、可编程逻辑装置(pld,programmablelogicdevice)、现场可编程门阵列(fpga,fieldprogrammablegatearray)、中央处理器(cpu,centralprocessingunit)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第一处理器功能的电子器件还可以为其它,本发明实施例不作具体限定,该应用服务器1还包括第一存储器16,其中,第一存储器16用于存储可执行程序代码,该程序代码包括计算机操作指令,第一存储器16可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器。

所述第一总线18用于连接所述第一通信接口17、所述第一处理器15、所述第一存储器16和所述第一发送器19以及这些器件之间的相互通信;

所述第一通信接口17,用于与外部网元进行数据传输;

所述第一存储器16,用于存储指令和数据;

所述第一发送器19,用于当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,所述变更通知请求用于当所述管理服务器检测到所述第一服务地址变化时,请求所述管理服务器发送处于可用状态的更新的待连接服务地址列表;

所述第一处理器15,执行所述指令用于:

当接收到响应所述变更通知请求的第一响应指令时,获取所述更新的待连接服务地址列表;

从所述更新的待连接服务地址列表中确定出第二服务地址,与所述第二服务地址建立通信连接。

在实际应用中,上述第一存储器16可以是易失性第一存储器(volatilememory),例如随机存取第二存储器(ram,random-accessmemory);或者非易失性第二存储器(non-volatilememory),例如只读第二存储器(rom,read-onlymemory),快闪第二存储器(flashmemory),硬盘(hdd,harddiskdrive)或固态硬盘(ssd,solid-statedrive);或者上述种类的第二存储器的组合,并向第一处理器15提供指令和数据。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于应用服务器1中,该计算机程序被第一处理器15执行时实现如实施例一和实施例四所述的方法。

具体来讲,本实施例中的一种服务调用的方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种服务调用方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:

当与第一服务地址建立通信连接时,向管理服务器发送变更通知请求,所述变更通知请求用于当所述管理服务器检测到所述第一服务地址变化时,请求所述管理服务器发送处于可用状态的更新的待连接服务地址列表;

当接收到响应所述变更通知请求的第一响应指令时,获取所述更新的待连接服务地址列表;

从所述更新的待连接服务地址列表中确定出第二服务地址,与所述第二服务地址建立通信连接。

实施例六

本发明实施例提供一种管理服务器2,如图13所示,该管理服务器2包括:

第一接收单元20,用于接收应用服务器发送的变更通知请求。

第一检测单元21,用于检测所述变更通知请求对应的第一服务地址的服务使用状态。

第二获取单元22,用于当所述服务使用状态为不可用状态时,获取处于可用状态的第二服务地址。

第二更新单元23,用于将所述第二服务地址组成更新的待连接服务地址列表。

第二发送单元24,用于向所述应用服务器发送第一响应指令,所述第一响应指令携带所述更新的待连接服务地址列表。

可选的,基于图13,如图14所示,所述管理服务器2还包括:第二查找单元25。

所述第一接收单元20,还用于接收所述应用服务器发送的服务调用请求。

所述第二查找单元25,用于根据所述服务调用请求查找待连接服务地址列表,所述待连接服务地址列表中包括所述第一服务地址。

所述第二发送单元24,还用于将所述待连接服务地址列表发送至所述应用服务器。

可选的,基于图13,如图15所示,所述管理服务器2还包括:第二确定单元26和设置单元27。

所述第二确定单元26,用于确定所述第一服务地址对应的业务服务器。

所述第一检测单元21,还用于在预设检测时间到达时,检测是否从所述业务服务器接收到正常响应。

所述设置单元27,用于当从所述业务服务器接收到正常响应时,将所述服务使用状态设置为可用状态;当未从所述业务服务器接收到正常响应时,将所述服务使用状态设置为所述不可用状态。

可选的,基于图14,如图16所示,所述管理服务器2还包括:注册单元28。

所述注册单元28,用于将业务服务器提供的所述第一服务地址进行注册。

在实际应用中,基于实施例二和实施例四的同一发明构思下,如图17所示,管理服务器2可以包括:第二处理器29、第二存储器210、第二通信接口211、第二总线212、第二发送器213和第一接收器214;

上述第一检测单元21、第二获取单元22、第二更新单元23、第二查找单元25、第二确定单元26、设置单元27和注册单元28可由位于管理服务器1上的第二处理器29实现,上述第一接收单元20可由第一接收器214实现,上述第二发送单元24可由第二发送器215实现,上述第二处理器29可以为特定用途集成电路(asic,applicationspecificintegratedcircuit)、数字信号处理器(dsp,digitalsignalprocessor)、数字信号处理装置(dspd,digitalsignalprocessingdevice)、可编程逻辑装置(pld,programmablelogicdevice)、现场可编程门阵列(fpga,fieldprogrammablegatearray)、中央处理器(cpu,centralprocessingunit)、控制器、微控制器、微处理器中的至少二种。可以理解地,对于不同的设备,用于实现上述第二处理器功能的电子器件还可以为其它,本发明实施例不作具体限定,该管理服务器2还包括第二存储器210,其中,第二存储器210用于存储可执行程序代码,该程序代码包括计算机操作指令,第二存储器210可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少二个磁盘存储器。

所述第二总线212用于连接所述第二通信接口211、所述第二处理器29、所述第二存储器210、所述第二发送器213和第二接收器214以及这些器件之间的相互通信;

所述第二通信接口211,用于与外部网元进行数据传输;

所述第二存储器210,用于存储指令和数据;

所述第一接收器214,用于接收应用服务器发送的变更通知请求。

所述第二处理器29,执行所述指令用于:检测所述变更通知请求对应的第一服务地址的服务使用状态;

当所述服务使用状态为不可用状态时,获取处于可用状态的第二服务地址;

将所述第二服务地址组成更新的待连接服务地址列表。

所述第二发送器213,用于向所述应用服务器发送第一响应指令,所述第一响应指令携带所述更新的待连接服务地址列表。

在实际管理中,上述第二存储器210可以是易失性第二存储器(volatilememory),例如随机存取第二存储器(ram,random-accessmemory);或者非易失性第二存储器(non-volatilememory),例如只读第二存储器(rom,read-onlymemory),快闪第二存储器(flashmemory),硬盘(hdd,harddiskdrive)或固态硬盘(ssd,solid-statedrive);或者上述种类的第二存储器的组合,并向第二处理器29提供指令和数据。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于管理服务器2中,该计算机程序被第二处理器29执行时实现如实施例二和实施例四所述的方法。

具体来讲,本实施例中的一种服务调用的方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种服务调用方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:

接收应用服务器发送的变更通知请求;

检测所述变更通知请求对应的第一服务地址的服务使用状态;

当所述服务使用状态为不可用状态时,获取处于可用状态的第二服务地址;

将所述第二服务地址组成更新的待连接服务地址列表;

向所述应用服务器发送第一响应指令,所述第一响应指令携带所述更新的待连接服务地址列表。

实施例七

本发明实施例提供一种业务服务器3,如图18所示,该业务服务器3包括:

第二检测单元30,用于当第一服务地址在管理服务器注册成功时,在预设检测时间到达时,检测所述第一服务地址是否可用;

第三发送单元31,用于当检测出所述第一服务地址可用时,向所述管理服务器发送正常响应;当检测出所述第一服务地址不可用时,不向所述管理服务器发送所述正常响应。

可选的,基于图18,如图19所示,所述业务服务器3还包括:第二接收单元32和第三获取单元33。

所述第二接收单元32,用于接收服务提供端的服务注册请求。

所述第三获取单元33,用于获取所述服务注册请求对应的第一服务地址。

所述第三发送单元31,还用于将所述第一服务地址发送至管理服务器。

在实际应用中,基于实施例三和实施例四的同一发明构思下,如图20所示,业务服务器3可以包括:第三处理器34、第三存储器35、第三通信接口36、第三总线37、第三发送器38和第二接收器39;

上述第二检测单元30和第三获取单元33可由位于业务服务器3上的第三处理器34实现,上述第二接收单元32可由第二接收器39实现,上述第三发送单元31可由第三发送器38实现,上述第三处理器34可以为特定用途集成电路(asic,applicationspecificintegratedcircuit)、数字信号处理器(dsp,digitalsignalprocessor)、数字信号处理装置(dspd,digitalsignalprocessingdevice)、可编程逻辑装置(pld,programmablelogicdevice)、现场可编程门阵列(fpga,fieldprogrammablegatearray)、中央处理器(cpu,centralprocessingunit)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第三处理器功能的电子器件还可以为其它,本发明实施例不作具体限定,该业务服务器3还包括第三存储器35,其中,第三存储器35用于存储可执行程序代码,该程序代码包括计算机操作指令,第三存储器35可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器。

所述第三总线37用于连接所述第三通信接口36、所述第三处理器34、所述第三存储器35、所述第三发送器38和第二接收器39以及这些器件之间的相互通信;

所述第三通信接口36,用于与外部网元进行数据传输;

所述第三存储器35,用于存储指令和数据;

所述第二接收器39,用于接收服务提供端的服务注册请求。

所述第三处理器34,执行所述指令用于:当第一服务地址在管理服务器注册成功时,在预设检测时间到达时,检测所述第一服务地址是否可用。

所述第三发送器38,用于于当检测出所述第一服务地址可用时,向所述管理服务器发送正常响应;当检测出所述第一服务地址不可用时,不向所述管理服务器发送所述正常响应。

在实际业务中,上述第三存储器35可以是易失性第三存储器(volatilememory),例如随机存取第三存储器(ram,random-accessmemory);或者非易失性第三存储器(non-volatilememory),例如只读第三存储器(rom,read-onlymemory),快闪第三存储器(flashmemory),硬盘(hdd,harddiskdrive)或固态硬盘(ssd,solid-statedrive);或者上述种类的第三存储器的组合,并向第三处理器34提供指令和数据。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于业务服务器3中,该计算机程序被第三处理器34执行时实现如实施例三和实施例四所述的方法。

具体来讲,本实施例中的一种服务调用的方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种服务调用方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:

当第一服务地址在管理服务器注册成功时,在预设检测时间到达时,检测所述第一服务地址是否可用;

当检测出所述第一服务地址可用时,向所述管理服务器发送正常响应;

当检测出所述第一服务地址不可用时,不向所述管理服务器发送所述正常响应。

本领域内的技术人员应明白,本发明的实施例可提供为方法、服务器、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(服务器)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1