CN110119314B - 一种服务器调用方法、装置、服务器及存储介质 - Google Patents
一种服务器调用方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110119314B CN110119314B CN201910400596.7A CN201910400596A CN110119314B CN 110119314 B CN110119314 B CN 110119314B CN 201910400596 A CN201910400596 A CN 201910400596A CN 110119314 B CN110119314 B CN 110119314B
- Authority
- CN
- China
- Prior art keywords
- server
- call
- target
- called
- success rate
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 9
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种服务器调用方法、装置、服务器及存储介质,其中方法包括:主调服务器接收业务请求,并基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;所述主调服务器获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;所述主调服务器根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;所述主调服务器触发建立与所述目标被调服务器之间的连接,以响应所述业务请求,可提高进行服务器调用时的调用效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务器调用方法、装置、服务器及存储介质。
背景技术
随着应用程序的发展,应用程序所支持的业务也越来越多,由于不同业务可能由不同服务器支持运行,所以在进行业务切换时需要进行服务器调用,而在进行服务器的调用时可能由于不同的线路故障或者权限限制等因素导致调用失败,而导致对应用程序的业务切换失败,所以,如何提高对服务器的调用效率是当前对服务器调用的研究热点。
发明内容
本发明实施例提供了一种服务器调用方法、装置、服务器及存储介质,可提高进行服务器调用时的调用效率。
一方面,本发明实施例提供了一种服务器调用方法,所述方法包括:
主调服务器接收业务请求,并基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
所述主调服务器获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;
所述主调服务器根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;
所述主调服务器触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
另一方面,本发明另一实施例提供了一种服务器调用方法,所述方法包括:
路由服务器接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
所述路由服务器根据所述通知消息生成调用质量数据,所述调用质量数据包括:所述主调服务器调用对应被调服务器的局部调用成功率;
所述路由服务器向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
再一方面,本发明实施例提供了一种服务器调用装置,所述装置包括:
接收单元,用于接收业务请求;
确定单元,用于基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的被调服务器;
获取单元,用于获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;
所述确定单元,还用于根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;
触发单元,用于触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
再一方面,本发明实施例另一提供了一种服务器调用装置,所述装置包括:
接收单元,用于接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
生成单元,用于根据所述通知消息生成调用质量数据,所述调用质量数据包括:主调服务器调用对应被调服务器的局部调用成功率;
发送单元,用于向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
再一方面,本发明实施例提供了一种服务器,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,执行如下步骤:
接收业务请求,并基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;
根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;
触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
再一方面,本发明实施例提供了一种服务器,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,执行如下步骤:
接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
根据所述通知消息生成调用质量数据,所述调用质量数据包括:所述主调服务器调用对应被调服务器时的局部调用成功率;
向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有第一计算机程序指令,所述第一计算机程序指令被处理器执行时,用于执行如第一方面所述的服务器调用方法;或者,所述计算机可读存储介质中存储有第二计算机程序指令,所述第二计算机程序指令被处理器执行时,用于执行如第二方面所述的服务器调用方法。
在本发明实施例中,主调服务器在接收到业务请求时,可基于该业务请求确定出包括至少一个被调服务器的目标服务器集合,从而可基于该目标服务器集合中各被调服务器对应的局部调用成功率,从该目标服务器集合中确定出目标被调服务器,由于在确定目标被调服务器时,关注的是主调服务器调用对应被调服务器成功的局部调用成功率,所以,可有效降低主调服务器将无法调用的被调服务器作为目标被调服务器而导致调用失败的问题,从而也就提高了主调服务器进行服务器调用时的调用效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种业务服务系统的示意性框图;
图1b是本发明另一实施例提供的一种业务服务系统的示意性框图;
图2是本发明实施例提供的一种服务器调用方法的示意流程图;
图3是本发明实施例提供的一种业务请求的界面示意图;
图4是本发明另一实施例提供的一种服务器调用方法的示意流程图;
图5a是本发明又一实施例提供的一种业务服务系统的示意性框图;
图5b是本发明实施例提供的一种调用质量数据的存储结构得示意图;
图5c是本发明实施例提供的一种服务器调用的示意图;
图5d是本发明又一实施例提供的一种服务器调用方法的示意流程图;
图6是本发明实施例提供的一种服务器调用装置的示意性框图;
图7是本发明另一实施例提供的一种服务器调用装置的示意性框图;
图8是本发明实施例提供的一种服务器的示意性框图;
图9是本发明另一实施例提供的一种服务器的示意性框图。
具体实施方式
应用程序的不同业务可能由不同服务器支持运行,所以在进行应用程序的不同业务的切换时,会涉及到不同服务器之间的调用,例如应用程序A的业务1可能由A服务器支撑运行,而业务2可能由X服务器支撑运行,那么在应用程序A中将业务1切换到业务2时,需要由A服务器调用X服务器,以实现对业务的切换。在一个实施例中,基于服务器之间的调用关系,可将服务器划分为主调服务器和被调服务器,在一次服务器调用关系中,调用其他服务器的服务器为主调服务器,而被调用的服务器则为被调服务器,如上述例子中A服务器对X服务器的调用,A为主动调用的服务器,则A服务器为主调服务器,X服务器为被调服务器,简单来说,应用程序对应的运营服务器即为主调服务器,而支撑该应用程序中某些业务运行的服务器为被调服务器。
在一个实施例中,所述应用程序A例如可以是掌上系列应用程序(Application,APP),或者助手系列APP,如游戏助手等。不同应用程序之间的切换也会涉及到服务器之间的调用,在本发明实施例中,主要以应用程序之间的业务切换为例,对服务器之间的调用过程进行详细说明,在应用程序进行切换时对服务器的调用过程可参见本发明实施例。
为了实现不同服务器支撑的不同功能业务之间的切换,本发明实施例提出了一种服务器调用方法,以保证在进行服务器调用时避免由于线路故障或者权限因素所导致的调用失败问题,确保被调服务器是在可选被调服务器中性能较好,且未处于故障状态的服务器,从而实现对被调服务器的成功调用,可保证功能业务的成功切换。在一个实施例中,本发明实施例提出的服务器调用方法可应用于如图1a所示业务服务系统实现,所述业务服务系统包括至少一个主调服务器11和至少两个被调服务器12中,所述服务器调用方法主要应用于该业务服务系统的主调服务器11中,其中,该服务器调用方法可应用于该主调服务器11中的任一服务器,在一个实施例中,可假设当前运行的应用程序对应的支撑服务器为服务器A(即主调服务器),所以,本发明实施例主要描述服务器A对其他被调服务器的调用过程,主调服务器11中的其他服务器对被调服务器12的调用过程和服务器A的调用过程类似。
在一个实施例中,如果当前运行的应用程序对应的支撑(支持)服务器是主调服务器A,那么在对当前运行的应用程序中的不同功能业务进行切换时,主调服务器A需要调用其他服务器,以实现功能业务的切换。具体地,在该主调服务器A接收到业务请求时,可根据接收到的业务请求从被调服务器12中确定出至少两个被调服务器,作为目标服务器集合,如图1b所示,确定出的目标服务器集合用标号13标记。在一个实施例中,确定出的目标服务器集合中的至少两个被调服务器都可支持该业务请求所指示的业务,其中,该业务请求例如可以是针对当前运行的应用程序的其他业务发出的请求,或者针对其他应用程序的业务发出的请求。
在主调服务器(即服务器A)根据接收到的业务请求确定目标服务器集合(如图1b中用13标记的服务器集合)后,可获取该目标服务器集合13中各被调服务器的局部调用成功率,如目标服务集合13中的被调服务器X对应的局部调用成功率,在一个实施例中,所述局部调用成功率是主调服务器A对目标服务器集合13中包括的被调服务器进行调用成功的几率,从而可使得主调服务器可根据目标服务器集合13包括的各被调服务器的局部调用成功率,从该目标服务器集合13中确定出执行该业务请求的目标被调服务器,该目标被调服务器例如可以是该目标服务器集合13中的服务器X,从而可调用该目标被调服务器X,实现将当前业务切换到业务请求所指示的业务上。
在一个实施例中,通过对比主调服务器调用各被调服务器时的局部调用成功率,可确定出能成功进行调用实现业务切换的目标被调服务器,由于确定出的目标被调服务器是基于主调服务器对该目标被调服务器的调用成功率确定的,所以,可有效避免由于该目标被调服务器是故障服务器而导致的调用失败的问题,从而可有效提高在调用服务器时的调用成功率。
请参见图2,是本发明实施例提出的一种服务器调用方法的示意流程图,该方法可应用在如图1a所示的业务服务系统中,并主要应用于该业务服务器系统的主调服务器中,该主调服务器可以是如图1a所示的业务服务系统包括的主调服务器中的任一个,其中,该主调服务器例如可以是如图1a所示的业务服务系统中的服务器A,其中,该方法可包括:
S201,主调服务器接收业务请求,并基于所述业务请求确定目标服务器集合。
在一个实施例中,所述业务请求是当前运行的应用程序对应客户端发出的,其中,具体地,当前客户端可在检测到对当前应用程序进行切换,或者对所述当前应用程序的当前业务功能进行切换时,生成业务请求,并将该业务请求发送到支撑该当前应用程序运行的主调服务器,在本发明实施例中,以主调服务器为服务器A进行具体说明,在主调服务器为其他主调服务器时,可参见本发明实施例。如果主调服务器A支持的当前应用程序的运行业务为业务2,如图3所示,当对应客户端检测到对业务3的点击指令时,可生成将当前业务2切换到业务3的业务请求,并将该业务请求发送到运行当前业务2的主调服务器A中,主调服务器A在接收到业务请求后,可基于该业务请求确定出能支持该业务请求的目标被调服务器。
在一个实施例中,主调服务器根据业务请求确定目标被调服务器时,可先确定该业务请求所指示业务,从而可根据指示的业务确定出至少一个被调服务器作为目标服务器集合,也就是说,根据该业务请求确定出的目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器。
在主调服务器基于业务请求确定出目标服务器集合后,可进一步从该目标服务器集合中确定出目标被调服务器,转而执行步骤S202。
S202,所述主调服务器获取所述目标服务器集合中的各被调服务器的调用质量数据。
在一个实施例中,所述主调服务器获取的调用质量数据可以是从该主调服务器自身存储的调用质量数据中获取的,也可以是向路由服务器发送获取请求,从该路由服务器中获取的。其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率,所述历史调用信息记录了主调服务器每次调用对应被调服务器时的调用成功信息以及调用失败信息,所述历史调用信息包括至少一条所述调用成功信息或至少一条所述调用失败信息,所以,所述目标服务器集合中各被调服务器的局部调用成功率即是:根据所述历史调用信息中记录的各被调服务器被所述主调服务器历史调用成功的次数和调用失败的次数,计算得到的所述各被调服务器被所述主调服务器的调用成功的几率。如图1b中被调服务器X的调用质量数据包括:该被调服务器X被主调服务器A调用成功的局部调用成功率等。
在一个实施例中,所述调用质量数据还包括:所述各被调服务器被所述业务服务系统包括的至少两个主调服务器调用时记录的全局调用成功率,所述全局调用成功率为:各被调服务器被所述业务服务器系统中多个主调服务器调用成功的几率平均值,所述全局调用成功率是将该被调服务器被该多个主调服务器调用时的局部成功率进行均值计算确定的。如图1b中被调服务器X的全局调用成功率为:被调服务器X被主调服务器A及该业务系统中其他多个主调服务器调用时的成功率的均值。
S203,所述主调服务器根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器。
S204,所述主调服务器触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
在步骤S203-步骤S204中,在主调服务器获取到各被调服务器的调用质量数据后,进一步地,可从所述各被调服务器的调用质量数据包括的局部调用成功率中,确定出所述主调服务器在调用各被调服务器时的最大局部调用成功率,并将该最大局部调用成功率对应的服务器作为目标被调服务器。其中,局部调用成功率的大小用于描述主调服务器,如服务器A对所述目标服务器集合中的各被调服务器调用成功的可能性,局部调用成功率越大,说明主调服务器调用对应被调服务器的成功率越高,所以,可将最大局部调用成功率对应的被调服务器作为当前主调服务器调用的目标被调服务器,以确保对该目标被调服务器的成功调用,从而实现对业务请求的切换。
在所述主调服务器确定出目标被调服务器后,可触发建立和该目标被调服务器之间的连接,也就是说,所述主调服务器可尝试调用确定出的目标被调服务器,如果对该目标被调服务器的调用尝试成功,则响应该业务请求,以实现对业务的切换。
在本发明实施例中,主调服务器在接收到业务请求时,可基于该业务请求确定出包括至少一个被调服务器的目标服务器集合,从而可基于该目标服务器集合中各被调服务器对应的局部调用成功率,从该目标服务器集合中确定出目标被调服务器,由于在确定目标被调服务器时,关注的是主调服务器调用各被调服务器成功的局部调用成功率,所以,可有效降低主调服务器将无法调用的被调服务器作为目标被调服务器而导致调用失败的问题,从而也就提高了主调服务器进行服务器调用时的调用效率。
请参见图4,是本发明另一实施例提出的一种服务器调用方法的示意流程图,如图4所示,该方法包括:
S401,主调服务器接收业务请求,并基于所述业务请求确定目标服务器集合。
S402,所述主调服务器获取所述目标服务器集合中的各被调服务器的调用质量数据。
在一个实施例中,步骤S401-步骤S402的具体实施方式,具体可参见上述实施例中步骤S201-步骤S202的实施方法,在此不再赘述。
S403,所述主调服务器根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中确定目标被调服务器。
在一个实施例中,主调服务器在从目标服务器集合中确定出目标被调服务器时,可先确定该目标被调服务器集合中的各被调服务器对应的局部调用成功率,从而可将最大局部调用成功率对应的服务器作为目标被调服务器。具体地,如果确定的所述各被调服务器对应的最大局部调用成功率为多个相同的最大值,可先根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中筛选出被调服务器子集,其中,所述被调服务器子集中各被调服务器的局部调用成功率满足预设筛选条件,所述预设筛选条件例如可以是:将所述局部调用成功率进行排序后,筛选出的大于或等于预设成功率阈值的局部调用成功率对应服务器组成该被调服务器子集,或者,所述预设筛选条件还可以是:筛选出的多个相同最大局部调用成功率对应服务器,并组成该被调服务器子集。
在从目标服务器集合中筛选出被调服务器子集后,为了确定出唯一的目标被调服务器,可通过获取所述被调服务器子集中各被调服务器的全局调用成功率,从而可根据所述被调服务器子集中各被调服务器的全局调用成功率,确定目标被调服务器,所述目标被调服务器的全局调用成功率为所述被调服务器子集中各被调服务器的全局调用成功率的最大值。在一个实施例中,任一被调服务器的全局调用成功率是根据所述任一被调服务器被所述业务服务系统中的至少两个主调服务器调用时的局部调用成功率确定的。
在一个实施例中,处于所述被调服务器子集中的各被调服务器,被主调服务器(如服务器A)调用成功的可能性相差不大,所以,为了确定出唯一的目标被调服务器,可在确定该被调服务器子集后,确定该子集中各被调服务器的全局调用成功率的最大值,从而可将最大全局调用成功率对应的服务器作为目标被调服务器。任一被调服务器对应的全局调用成功率,用于反应该被调服务器被所有主调服务器调用成功的几率,所以,在根据局部调用成功率无法确定出唯一的目标被调服务器时,可参考全局成功率进行确定。
举例来说,如1b所示,如果确定的目标服务器集合13中的各被调服务器对应的局部调用成功率中,最大值为90%,且最大局部调用成功率包括3个相等的值,所以,可将该3个相等的最大局部调用成功率对应的服务器作为筛选出的被调服务器子集,假设这3个相等的最大局部调用成功率对应的服务器分别为服务器X和P、Q,则确定出的被调服务器子集中包括服务器X、P和Q。进一步地,可确定这三个被调服务器X、P、Q的全局调用成功率,如果被调服务器X的全局调用成功率为85%,被调服务器P的全局调用成功率为79%,而被调服务器Q的全局调用成功率为63%,则可将该这3个被调服务器中全局调用成功率最大的服务器,即被调服务器X作为目标被调服务器。
在主调服务器确定出目标被调服务器后,可触发该主调服务器和该目标被调服务器建立连接,以实现对业务的切换。在对所述目标被调服务器的调用过程中,可获取调用所述目标被调服务器执行所述业务请求所指示的业务时,所述目标被调服务器的质量信息;从而可根据所述质量信息确定是否满足调用切换条件,并在确定满足所述调用切换条件时,从所述目标服务器集合中确定出新的目标被调服务器,以确保完成客户端发送的业务请求。其中,该目标被调服务器的质量信息例如可以是,所述主调服务器调用该目标被调服务器时连接线路的质量信息。在所述主调服务器完成对目标被调服务器的调用后,可执行步骤S404,以实现对调用质量数据的更新。
S404,所述主调服务器接收调用反馈数据。
在一个实施例中,在主调服务器完成对所述目标被调服务器的调用后,可接收所述目标被调服务器发送的调用反馈数据,其中,所述调用反馈数据是在触发建立所述主调服务器与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的,当所述主调服务器调用所述目标被调服务器成功时,所述调用反馈数据用于告知所述主调服务器,此次对所述目标被调服务器的调用是成功的;当所述主调服务器调用所述目标被调服务器失败时,所述调用反馈数据则用于告知所述主调服务器,此次对所述目标被调服务器的调用失败。
在主调服务器接收到该调用反馈数据后,可将该调用反馈数据发送到路由服务器,其中,所述路由服务器是上述业务系统中除主调服务器和被调服务器之外的中间服务器,所述路由服务器主要用于向主调服务器下发被调服务器的调用质量数据,此外,也可基于主调服务器发送的调用反馈数据对各被调服务器的调用质量数据进行更新,所以,主调服务器在接收到调用反馈数据后,可执行步骤S405。
S405,所述主调服务器根据所述调用反馈数据向所述路由服务器发送通知消息,所述通知消息用于指示所述路由服务器更新所述主调服务器调用所述目标被调服务器的调用质量数据。
在一个实施例中,所述主调服务器在接收到调用反馈数据后,可直接将该调用反馈数据发送到路由服务器,也可基于该调用反馈数据生成通知消息,并将该通知消息发送到路由服务器,其中,生成的通知消息可包括该调用反馈数据,也可不包括该调用反馈数据,而只用于提示路由服务器更新调用质量数据。路由服务器在接收到通知消息后,在对目标被调服务器的调用质量数据进行更新时,如果所述通知消息指示主调服务器对目标被调服务器的此次调用成功,则基于该路由服务器记录的该主调服务器对该目标被调服务器的调用总次数,以及调用成功次数,计算该目标被调服务器被当前主调服务器调用的局部调用成功率。
在一个实施例中,如果所述通知消息指示主调服务器对所述目标被调服务器的此次调用失败,路由服务器可根据反馈数据确定出当前主调服务器调用所述目标被调服务器的总次数和调用成功的次数,从而可确定出该当前主调服务器对该目标被调服务器的局部调用成功率。进一步地,基于对该目标被调服务器的局部调用成功率的更新,路由服务器可对该目标被调服务器的全局调用成功率进行更新。
主调服务器在每次调用被调服务器,如目标被调服务器后,都会接收调用的目标被调服务器发送的反馈数据,并将基于该反馈数据生成的通知消息发送到路由服务器,以实现路由服务器根据通知消息对所述被调服务器的调用质量数据的更新,所以,上述获取的局部调用成功率集合对应被调服务器的全局调用成功率,是根据所述对应被调服务器更新后的局部调用成功率确定的。
在本发明实施例中,主调服务器在根据接收到的业务请求确定出目标服务器集合后,可基于该目标集合中各被调服务器对应的调用质量数据,确定出目标被调服务器,并在调用该目标被调服务器后,可接收该目标被调服务器发送的反馈数据,从而可基于该反馈数据实现对该目标被调服务器的调用质量数据的更新,可保证主调服务器响应业务请求获取到的调用质量数据都是更新后的调用质量数据,使得主调服务器在确定目标被调服务器时,可基于最新的调用质量数据,选择目标被调服务器,确保了对主调服务器对被调服务器的性能的实时监督控制,可有效提升对被调服务器调用成功的效率。
所述业务服务系统还可包括路由服务器,如图5a所示,该业务系统包括至少两个主调服务器11、至少两个被调服务器12以及路由服务器13,任一所述主调服务器11可在调用被调服务器后向路由服务器13进行路由反馈,即主调服务器11在调用被调服务器12后,可将根据对该被调服务器12调用生成的通知消息发送到该路由服务器13中,以便于路由服务器13可根据接收到的通知信息生成调用质量数据,此外,在主调服务器11对被调服务器12的后续调用过程中,路由服务器13可接收主调服务器11每次对被调服务器12的调用反馈数据,以实现对路由服务器中调用质量数据的更新。路由服务器13在确定该调用质量数据包括的全局调用成功率时可收集多个主调服务器对于任一被调服务器的局部调用成功率,从而可计算平均值,确定任一被调服务器的全局调用成功率。
在一个实施例中,路由服务器13对被调服务器的调用质量数据的存储结构可如图5b所示,可将任一被调服务器的全局调用成功率和本地调用成功率对应存储在列表的一行数据中,如第一行数据分别记录有被调服务器1、被调服务器1对应的全局调用成功率和被调服务器1被任一主调服务器调用的局部调用成功率1~N,其中,所述被调服务器1例如可以是上述提及的至少两个被调服务器中的服务器X。路由服务器13在确定被调服务器的调用质量数据的存储结构后,可将该存储结构以及相应数据存储在关系型数据库中。
在一个实施例中,主调服务器11进行服务器调用的过程还可如图5c所示,首先主调服务器11可获取路由范围13下发调用质量数据,从而在接收到业务请求后根据该调用质量数据包括的局部调用成功率和全局调用成功率,确定出目标被调服务器,进一步地,可向该目标被调服务器发送调用请求,该目标被调服务器在接收到调用请求后,可向主调服务器调用反馈数据,主调服务器11在接收到调用反馈数据后,可将该调用反馈数据转发给路由服务器13,以使得路由服务器13可基于该调用反馈数据对目标被调服务器的调用质量数据进行更新。
在一个实施例中,主调服务器11进行服务器调用确定出目标服务器集合后,需要从路由服务器13中获取该目标服务器集合中各被调服务器对应的调用质量数据(包括局部调用成功率和/或全局调用成功率),路由服务器13在将目标服务器集合中各被调服务器的调用质量数据下发时,可先将该被调服务器被不同主调服务器调用时的局部调用成功率和该平均值进行对比,如果根据对比结果,确定超过预设数量的主调服务器调用该被调服务器时的局部成功率小于该平均值,则可认为该被调服务器异常,路由服务器13在接收到对该异常服务器的调用质量数据的下发请求时,将不下发该异常服务器的调用质量数据。具体地,可参见如图5d所示的一种服务器调用方法的示意流程图,该方法主要应用于上述的路由服务器13中,该方法具体包括:
S501,路由服务器接收主调服务器上传的通知消息。
S502,所述路由服务器根据所述通知消息生成调用质量数据。
在步骤S501~步骤S502中,所述主调服务器为所述业务服务系统包括的主调服务器中的任一个,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态,所述通知消息是主调服务器调用被调服务器后,根据所述被调服务器发送的用于表示该主调服务器是否调用被调服务器成功的反馈数据生成的。路由服务器在接收到所述通知消息后,可基于该通知消息生成调用质量数据。在一个实施例中,所述调用质量数据包括:所述业务服务系统中的主调服务器调用对应被调服务器的局部调用成功率,在路由服务器生成调用质量数据后,可将该调用质量数据发送到主调服务器,即执行步骤S502。
在一个实施例中,路由服务器可按照预设时间间隔将生成的调用质量数据直接发送到主调服务器,也可在接收到该主调服务器的调用质量数据获取请求时,将该生成的调用质量数据发送到主调服务器,或者,还可向该主调服务器发送问询是否有调用质量数据的获取需求时,发送生成的调用质量数据,再或者,路由服务器还可在检测到该主调服务器接收到业务请求时,向该主调服务器发送调用质量数据。
在一个实施例中,主调服务器在接收到业务请求后,还可主动向路由服务器发送其接收到业务请求的通知消息,所述路由服务器可通过检测该通知消息,确定所述主调服务器接收到业务请求,从而向该主调服务器发送由所述主调服务器确定的目标服务器集合中各被调服务器的调用质量数据,即执行步骤S503。
在一个实施例中,路由服务器可同时检测多个主调服务器是否接收到业务请求,并在确定接收到时,向对应的主调服务器发送由该主调服务器确定的目标服务器集合中各被调服务器对应的调用质量数据。
S503,所述路由服务器向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
在一个实施例中,路由服务器向主调服务器发送的调用质量数据可以是所述主调服务器调用的所有被调服务器对应的调用质量数据,也可只包括确定出的目标服务器集合中各被调服务器对应的调用质量数据。其中,所述调用质量数据包括:用于所述主调服务器确定目标被调服务器的局部调用成功率,或者也可包括全局调用成功率,所述全局调用成功率是在所述主调服务器根据局部调用成功率无法确定出唯一目标被调服务器时,作为参考指标用于确定出唯一目标被调服务器的。
在一个实施例中,在路由服务器向主调服务器下发调用质量数据时,路由服务器可先只将局部调用成功率作为调用质量数据发送到主调服务器,如果路由服务器在检测到所述主调服务器根据所述局部调用成功率确定出的目标被调服务器不唯一,则进一步地向该主调服务器发送确定出的多个目标被调服务器的全局调用成功率,以便于所述主调服务器可参考该全局调用成功率确定出唯一的目标被调服务器。或者,所述路由服务器在向主调服务器下发调用质量数据时,也可直接将由主调服务器确定的目标服务器集合中各被调服务器对应的局部调用成功率和全局调用成功率作为调用质量数据发送到所述主调服务器。
在一个实施例中,路由服务器向主调服务器发送目标服务器集合中各被调服务器的调用质量数据后,可接收主调服务器发送的通知消息,所述通知消息是所述主调服务器根据接收到的反馈数据生成的,所述反馈数据是所述主调服务器触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;从而可根据所述通知消息,对生成的所述调用质量数据进行更新。
在一个实施例中,路由服务器向主调服务器发送目标服务器集合中各被调服务器的调用质量数据后,还可获取所述目标被调服务器被至少两个主调服务器调用时的全局调用成功率,所述获取的全局调用成功率用于表示该目标被调服务器被主调服务器调用成功的平均值,例如可以是60%等。在获取到目标被调服务器的全局调用成功率后,可将各主调服务器调用所述目标被调服务器时的各局部调用成功率分别和所述全局调用成功率进行对比,进一步地,可根据对比结果确定所述目标被调服务器是否处于异常状态。
在一个实施例中,路由服务器在根据对比结果确定所述目标被调服务器是否处于异常状态时,可从所述各局部调用成功率中确定目标成功率集合,所述目标成功率集合中的各局部调用成功率小于或等于所述全局调用成功率;从而可确定所述目标成功率集合中各局部调用成功率对应的被调服务器的数量,并在所述数量大于或等于预设数量阈值时,确定所述目标被调服务器处于异常状态,其中,所述预设数量阈值是用户预设的,且可以被修改的值。
在所述目标成功率集合中各局部调用成功率对应的被调服务器的数量大于或等于预设数量阈值时,说明该目标被调服务器被所述主调服务器调用成功的几率较小,所以可确定所述目标被调服务器处于故障状态,路由服务器可将处于故障状态的被调服务器进行冻结(或隔离),以避免该主调服务器调用到该处于故障状态的被调服务器,而影响主调服务器的调用过程,从而影响应用的业务切换过程。在一个实施例中,路由服务器可通过不发送故障被调服务器的调用质量数据的方法,将故障的被调服务器进行隔离。
在本发明实施例中,路由服务器在接收到主调服务器上传的通知消息后,可根据所述通知信息生成调用质量数据,从而可向主调服务器发送该调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的各局部调用成功率确定目标被调服务器,路由服务器通过向主调服务器发送的调用质量数据,由于其包括的局部调用成功率是各被调服务器被该主调服务器在历史调用下的调用成功率,所以可有效避免主调服务器确定出的目标调用服务器是具有线路故障的服务器,或者确定出的目标调用服务器是具有权限限制的服务器,而导致主调服务器对目标被调服务器的调用失败,可有效提升对被调服务器的调用效率。
基于上述服务器调用方法实施例的描述,本发明实施例还提供了一种服务器调用装置,该服务器调用装置可以是运行于上述业务服务系统中的主调服务器中的一个计算机程序(包括程序代码)。该服务器调用装置可执行如图2和图4所述的服务器调用方法,请参见图6,该服务器调用装置包括:接收单元601,确定单元602,获取单元603和触发单元604。
接收单元601,用于接收业务请求;
确定单元602,用于基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
获取单元603,用于获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;
所述确定单元602,还用于根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;
触发单元604,用于触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
在一个实施例中,所述调用质量数据还包括:被调服务器被多个主调服务器调用时记录的全局调用成功率,所述确定单元602在根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中确定目标被调服务器时,具体执行:
根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中筛选出被调服务器子集,所述被调服务器子集中各被调服务器的局部调用成功率满足预设筛选条件;
根据所述被调服务器子集中各被调服务器的全局调用成功率,确定目标被调服务器,所述目标被调服务器的全局调用成功率为所述被调服务器子集中各被调服务器的全局调用成功率的最大值。
在一个实施例中,所述装置还包括:发送单元605。
所述接收单元601,还用于接收调用反馈数据,所述调用反馈数据是在触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
发送单元605,用于根据所述调用反馈数据向所述路由服务器发送通知消息,所述通知消息用于指示所述路由服务器更新所述主调服务器调用所述目标被调服务器的调用质量数据。
在一个实施例中,所述获取单元603,用于获取调用所述目标被调服务器执行所述业务请求所指示的业务时,所述目标被调服务器的质量信息;
所述确定单元602,用于根据所述质量信息确定是否满足调用切换条件,并在确定满足所述调用切换条件时,从所述目标服务器集合中确定出新的目标被调服务器。
在本发明实施例中,接收单元601在接收到业务请求时,确定单元602可基于该业务请求确定出包括至少两个被调服务器的目标服务器集合,从而可基于该目标服务器集合中各被调服务器对应的局部调用成功率,从该目标服务器集合中确定出目标被调服务器,由于在确定目标被调服务器时,关注的是主调服务器调用各被调服务器成功的局部调用成功率,所以,可有效降低确定单元602将无法调用的被调服务器作为目标被调服务器而导致调用失败的问题,从而也就提高了进行服务器调用时的调用成功率。
基于上述服务器调用方法实施例的描述,本发明实施例还提供了一种服务器调用装置,该服务器调用装置可以是运行于上述业务服务系统中的路由服务器的一个计算机程序(包括程序代码)。该服务器调用装置可执行如图5d所述的服务器调用方法,请参见图7,该服务器调用装置包括:接收单元701,生成单元702和发送单元703。
接收单元701,用于接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
生成单元702,用于根据所述通知消息生成调用质量数据,所述调用质量数据包括:所述主调服务器调用对应被调服务器的局部调用成功率;
发送单元703,用于向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
在一个实施例中,所述装置还包括:更新单元704
所述接收单元701,还用于接收所述主调服务器发送的通知消息,所述通知消息是所述主调服务器根据接收到的反馈数据生成的,所述反馈数据是所述主调服务器触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
更新单元704,用于根据所述通知消息,对生成的所述调用质量数据进行更新。
在一个实施例中,所述装置还包括:获取单元705,对比单元706和确定单元707。
获取单元705,用于获取所述目标被调服务器被多个主调服务器调用时的全局调用成功率;
对比单元706,用于将所述多个主调服务器调用所述目标被调服务器的各局部调用成功率分别和所述全局调用成功率进行对比;
确定单元707,用于根据对比结果确定所述目标被调服务器是否处于异常状态。
在一个实施例中,所述确定单元707在根据对比结果确定所述目标被调服务器是否处于异常状态时,具体用于:
从所述各局部调用成功率中确定目标成功率集合,所述目标成功率集合中的各局部调用成功率小于或等于所述全局调用成功率;
确定所述目标成功率集合中各局部调用成功率对应的调用所述目标被调服务器主调服务器的数量,并在所述数量大于或等于预设数量阈值时,确定所述目标被调服务器处于异常状态。
在本发明实施例中,接收单元701在接收到主调服务器上传通知信息后,生成单元702可根据所述通知信息生成调用质量数据,使得发送单元703可向主调服务器发送该调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的各局部调用成功率确定目标被调服务器,发送单元703通过向主调服务器发送的调用质量数据,由于其包括的局部调用成功率是各被调服务器被该主调服务器在历史调用下的调用成功率,所以可有效避免主调服务器确定出的目标调用服务器是具有线路故障的服务器,或者确定出的目标调用服务器是具有权限限制的服务器,而导致主调服务器对目标被调服务器的调用失败,可有效提升对被调服务器的调用效率。
请参见图8,是本发明实施例提供的一种服务器的结构示意性框图,该服务器可以是上述提及的主调服务器。如图8所示的本实施例中的服务器可包括:一个或多个处理器801;一个或多个输入设备802,一个或多个输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线805连接。存储器804用于存储计算机程序,所述计算机程序包括程序指令,处理器801用于执行所述存储器804存储的程序指令。
所述存储器804可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器804也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器804还可以包括上述种类的存储器的组合。
所述处理器801可以是中央处理器(central processing unit,CPU)。所述处理器801还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器801也可以为上述结构的组合。
本发明实施例中,所述存储器804用于存储计算机程序,所述计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令,用来实现上述如图2和图4中相应方法的步骤。
在一个实施例中,所述处理器801被配置调用所述程序指令,用于执行:
接收业务请求,并基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率;
根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中确定目标被调服务器;
触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
在一个实施例中,所述调用质量数据还包括:被调服务器被多个主调服务器调用时记录的全局调用成功率,所述处理器801还被配置调用所述程序指令,用于执行:
根据所述各被调服务器的调用质量数据包括的局部调用成功率,从所述目标服务器集合中筛选出被调服务器子集,所述被调服务器子集中各被调服务器的局部调用成功率满足预设筛选条件;
根据所述被调服务器子集中各被调服务器的全局调用成功率,确定目标被调服务器,所述目标被调服务器的全局调用成功率为所述被调服务器子集中各被调服务器的全局调用成功率的最大值。
在一个实施例中,所述处理器801还被配置调用所述程序指令,用于执行:
接收调用反馈数据,所述调用反馈数据是在触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
根据所述调用反馈数据向所述路由服务器发送通知消息,所述通知消息用于指示所述路由服务器更新所述主调服务器调用所述目标被调服务器的调用质量数据。
在一个实施例中,所述处理器801还被配置调用所述程序指令,用于执行:
获取调用所述目标被调服务器执行所述业务请求所指示的业务时,所述目标被调服务器的质量信息;
根据所述质量信息确定是否满足调用切换条件,并在确定满足所述调用切换条件时,从所述目标服务器集合中确定出新的目标被调服务器。
请参见图9,是本发明实施例提供的一种服务器的结构示意性框图,该服务器可以是上述提及的路由服务器。如图9所示的本实施例中的服务器可包括:一个或多个处理器901;一个或多个输入设备902,一个或多个输出设备903和存储器904。上述处理器901、输入设备902、输出设备903和存储器904通过总线905连接。存储器904用于存储计算机程序,所述计算机程序包括程序指令,处理器901用于执行所述存储器904存储的程序指令。
所述存储器904可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器904也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器904还可以包括上述种类的存储器的组合。
所述处理器901可以是中央处理器(central processing unit,CPU)。所述处理器901还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器901也可以为上述结构的组合。
本发明实施例中,所述存储器904用于存储计算机程序,所述计算机程序包括程序指令,处理器901用于执行存储器904存储的程序指令,用来实现上述如图5d中相应方法的步骤。
在一个实施例中,所述处理器901被配置调用所述程序指令,用于执行:
接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
根据所述通知消息生成调用质量数据,所述调用质量数据包括:所述业务服务系统中的主调服务器调用对应被调服务器的局部调用成功率;
向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器。
在一个实施例中,所述处理器901还被配置调用所述程序指令,用于执行:
接收所述主调服务器发送的通知消息,所述通知消息是所述主调服务器根据接收到的反馈数据生成的,所述反馈数据是所述主调服务器触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
根据所述通知消息,对生成的所述调用质量数据进行更新。
在一个实施例中,所述处理器901还被配置调用所述程序指令,用于执行:
获取所述目标被调服务器被多个主调服务器调用时的全局调用成功率;
将所述多个主调服务器调用所述目标被调服务器的各局部调用成功率分别和所述全局调用成功率进行对比;
根据对比结果确定所述目标被调服务器是否处于异常状态。
在一个实施例中,所述处理器901还被配置调用所述程序指令,用于执行:
从所述各局部调用成功率中确定目标成功率集合,所述目标成功率集合中的各局部调用成功率小于或等于所述全局调用成功率;
确定所述目标成功率集合中各局部调用成功率对应的调用所述目标被调服务器主调服务器的数量,并在所述数量大于或等于预设数量阈值时,确定所述目标被调服务器处于异常状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (11)
1.一种服务器调用方法,其特征在于,所述方法包括:
主调服务器接收业务请求,并基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
所述主调服务器获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的所述主调服务器调用各被调服务器的局部调用成功率以及被调服务器被多个主调服务器调用时记录的全局调用成功率;
所述主调服务器根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中筛选出被调服务器子集,所述被调服务器子集中各被调服务器的局部调用成功率满足预设筛选条件;
所述主调服务器根据所述被调服务器子集中各被调服务器的全局调用成功率,确定目标被调服务器,所述目标被调服务器的全局调用成功率为所述被调服务器子集中各被调服务器的全局调用成功率的最大值;
所述主调服务器触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主调服务器接收调用反馈数据,所述调用反馈数据是在触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
所述主调服务器根据所述调用反馈数据向路由服务器发送通知消息,所述通知消息用于指示所述路由服务器更新所述主调服务器调用所述目标被调服务器的调用质量数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主调服务器获取调用所述目标被调服务器执行所述业务请求所指示的业务时,所述目标被调服务器的质量信息;
所述主调服务器根据所述质量信息确定是否满足调用切换条件,并在确定满足所述调用切换条件时,从所述目标服务器集合中确定出新的目标被调服务器。
4.一种服务器调用方法,其特征在于,所述方法包括:
路由服务器接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
所述路由服务器根据所述通知消息生成调用质量数据,所述调用质量数据包括:所述主调服务器调用对应被调服务器的局部调用成功率;
所述路由服务器向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器;
所述路由服务器获取所述目标被调服务器被多个主调服务器调用时的全局调用成功率;
所述路由服务器将所述多个主调服务器调用所述目标被调服务器的各局部调用成功率分别和所述全局调用成功率进行对比;
所述路由服务器根据对比结果确定所述目标被调服务器是否处于异常状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述路由服务器接收所述主调服务器发送的通知消息,所述通知消息是所述主调服务器根据接收到的反馈数据生成的,所述反馈数据是所述主调服务器触发建立与所述目标被调服务器之间的连接后,由所述目标被调服务器发送的;
所述路由服务器根据所述通知消息,对生成的所述调用质量数据进行更新。
6.根据权利要求4所述的方法,其特征在于,所述根据对比结果确定所述目标被调服务器是否处于异常状态,包括:
所述路由服务器从所述各局部调用成功率中确定目标成功率集合,所述目标成功率集合中的各局部调用成功率小于或等于所述全局调用成功率;
所述路由服务器确定所述目标成功率集合中各局部调用成功率对应的调用所述目标被调服务器的主调服务器的数量,并在所述数量大于或等于预设数量阈值时,确定所述目标被调服务器处于异常状态。
7.一种服务器调用装置,其特征在于,所述装置包括:
接收单元,用于接收业务请求;
确定单元,用于基于所述业务请求确定目标服务器集合,所述目标服务器集合包括:支持所述业务请求所指示业务的至少一个被调服务器;
获取单元,用于获取所述目标服务器集合中的各被调服务器的调用质量数据,其中,所述调用质量数据包括:根据历史调用信息得到的主调服务器调用各被调服务器的局部调用成功率以及被调服务器被多个主调服务器调用时记录的全局调用成功率;
所述确定单元,还用于根据所述各被调服务器的局部调用成功率,从所述目标服务器集合中筛选出局部调用成功率满足预设筛选条件的被调服务器子集,并根据所述被调服务器子集中各被调服务器的全局调用成功率,确定目标被调服务器,所述目标被调服务器的全局调用成功率为所述被调服务器子集中各被调服务器的全局调用成功率的最大值;
触发单元,用于触发建立与所述目标被调服务器之间的连接,以响应所述业务请求。
8.一种服务器调用装置,其特征在于,所述装置包括:
接收单元,用于接收主调服务器上传的通知消息,所述通知消息用于表示主调服务器调用被调服务器的调用状态,所述调用状态包括表示调用失败的状态和表示调用成功的状态;
生成单元,用于根据所述通知消息生成调用质量数据,所述调用质量数据包括:主调服务器调用对应被调服务器的局部调用成功率;
发送单元,用于向所述主调服务器发送所述调用质量数据,以便于所述主调服务器根据所述调用质量数据包括的局部调用成功率确定目标被调服务器;
获取单元,用于获取所述目标被调服务器被多个主调服务器调用时的全局调用成功率;
对比单元,用于将所述多个主调服务器调用所述目标被调服务器的各局部调用成功率分别和所述全局调用成功率进行对比;
确定单元,用于根据对比结果确定所述目标被调服务器是否处于异常状态。
9.一种服务器,其特征在于,包括处理器和存储设备,所述存储设备用于存储计算机程序指令,所述处理器用于执行所述程序指令,实现如权利要求1-3任一项所述的方法。
10.一种服务器,其特征在于,包括处理器和存储设备,所述存储设备用于存储计算机程序指令,所述处理器用于执行所述程序指令,实现如权利要求4-6任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有第一计算机程序指令,所述第一计算机程序指令被处理器执行时,用于执行如权利要求1-3任一项所述的服务器调用方法;或者,所述计算机可读存储介质中存储有第二计算机程序指令,所述第二计算机程序指令被处理器执行时,用于执行如权利要求4-6任一项所述的服务器调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910400596.7A CN110119314B (zh) | 2019-05-14 | 2019-05-14 | 一种服务器调用方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910400596.7A CN110119314B (zh) | 2019-05-14 | 2019-05-14 | 一种服务器调用方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119314A CN110119314A (zh) | 2019-08-13 |
CN110119314B true CN110119314B (zh) | 2024-06-07 |
Family
ID=67522444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910400596.7A Active CN110119314B (zh) | 2019-05-14 | 2019-05-14 | 一种服务器调用方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110119314B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309497B (zh) * | 2020-02-10 | 2023-09-26 | 北京有竹居网络技术有限公司 | 信息调用的方法及装置、服务器、终端和存储介质 |
CN111884932B (zh) * | 2020-07-06 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
CN111773663B (zh) * | 2020-07-09 | 2024-02-23 | 网易(杭州)网络有限公司 | 游戏服务器合并效果预测方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | 中国移动通信集团公司 | MapReduce系统中的Map任务调度方法、设备及系统 |
CN102137133A (zh) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | 内容分发的方法、系统及调度服务器 |
CN102929693A (zh) * | 2012-09-18 | 2013-02-13 | 杭州华为数字技术有限公司 | 整机柜服务器的性能评测方法及装置 |
CN104270472A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
CN104767776A (zh) * | 2014-01-07 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种实时调整网络路由方法、装置及系统 |
CN106330660A (zh) * | 2015-06-24 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 服务处理方法及服务器 |
CN108521856A (zh) * | 2017-01-22 | 2018-09-11 | 华为技术有限公司 | 内容分发网络中的调度方法和设备 |
-
2019
- 2019-05-14 CN CN201910400596.7A patent/CN110119314B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | 中国移动通信集团公司 | MapReduce系统中的Map任务调度方法、设备及系统 |
CN102137133A (zh) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | 内容分发的方法、系统及调度服务器 |
CN102929693A (zh) * | 2012-09-18 | 2013-02-13 | 杭州华为数字技术有限公司 | 整机柜服务器的性能评测方法及装置 |
CN104767776A (zh) * | 2014-01-07 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种实时调整网络路由方法、装置及系统 |
CN104270472A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
CN106330660A (zh) * | 2015-06-24 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 服务处理方法及服务器 |
CN108521856A (zh) * | 2017-01-22 | 2018-09-11 | 华为技术有限公司 | 内容分发网络中的调度方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110119314A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210083925A1 (en) | Network fault analysis method and apparatus | |
CN110119314B (zh) | 一种服务器调用方法、装置、服务器及存储介质 | |
US10389801B2 (en) | Service request processing method, related apparatus, and system | |
CN108696581B (zh) | 分布式信息的缓存方法、装置、计算机设备以及存储介质 | |
US10313452B2 (en) | Migrating a chat message service provided by a chat server to a new chat server | |
US10924326B2 (en) | Method and system for clustered real-time correlation of trace data fragments describing distributed transaction executions | |
CN111857998A (zh) | 一种可配置的定时任务调度方法及系统 | |
EP4024765B1 (en) | Method and apparatus for extracting fault propagation condition, and storage medium | |
CN106506278B (zh) | 一种服务可用性监控方法及装置 | |
US20170123941A1 (en) | Distributed processing system | |
CN111198921A (zh) | 数据库的切换方法、装置、计算机设备和存储介质 | |
CN110674096A (zh) | 节点故障排查方法、装置、设备及计算机可读存储介质 | |
CN112416594A (zh) | 一种微服务分配方法、电子设备和计算机存储介质 | |
CN113347037A (zh) | 一种数据中心访问方法及装置 | |
US11695856B2 (en) | Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device | |
CN114615141A (zh) | 通信控制方法 | |
CN106202084A (zh) | 数据存储方法和数据存储装置 | |
CN111309456B (zh) | 一种任务执行方法及系统 | |
CN113824595B (zh) | 链路切换控制方法、装置和网关设备 | |
CN113396573A (zh) | 计算服务的迁移 | |
US11271859B2 (en) | Method and apparatus for realizing intelligent traffic scheduling, computer readable storage medium thereof and computer device | |
CN108718285B (zh) | 云计算集群的流量控制方法、装置及服务器 | |
CN115714713B (zh) | 电力监控系统多群组服务实例切换方法和装置 | |
US20230116222A1 (en) | Management of an update of a configuration of a terminal device | |
CN113220491B (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 | ||
TG01 | Patent term adjustment |