一种业务连接方法、客户端及系统与流程

文档序号:12377572阅读:151来源:国知局
一种业务连接方法、客户端及系统与流程

本发明涉及数据通信技术领域,具体涉及一种业务连接方法、客户端及系统。



背景技术:

目前用户在体验某一业务时,需使用相应的客户端与提供业务服务的业务服务器进行数据交互实现;如用户在体验即时通讯业务时,需使用即时通讯客户端与即时通讯服务器进行数据交互,才可达成即时通讯业务的体验。

在客户端与业务服务器进行数据交互的过程中,客户端将向当前提供业务服务的当前业务服务器发起业务请求;当前业务服务器收到该业务请求后,如果当前业务提供正常(一般指当前业务服务器运行正常,且客户端与当前业务服务器进行数据交互的网络正常),则当前业务服务器将响应该业务请求,并向客户端返回该业务请求的响应信息;当前业务服务器收到该业务请求后,如果当前业务提供异常(可能是当前业务服务器运行故障,或者是客户端与当前业务服务器进行数据交互的网络故障),则当前业务服务器无法响应客户端的业务请求,客户端将接收到表示当前业务提供异常的业务异常通知信息,客户端通过展现该业务异常通知信息,可使得用户了解到当前业务无法正常提供。

本发明的发明人在研究过程中发现,目前在当前业务提供异常时,客户端仅可将业务异常通知信息展现给用户,而无法在当前业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。



技术实现要素:

有鉴于此,本发明实施例提供一种业务连接方法、客户端及系统,以在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务 的影响。

为实现上述目的,本发明实施例提供如下技术方案:

一种业务连接方法,应用于客户端,所述方法包括:

在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;

根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

向所述目标业务服务器发起业务连接请求。

本发明实施例还提供一种客户端,包括:

列表获取模块,用于在业务异常通知信息时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

测试请求发送模块,用于根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

测试响应接收模块,用于当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;

目标选取模块,用于根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

业务连接请求模块,用于向所述目标业务服务器发起业务连接请求。

本发明实施例还提供一种业务连接系统,包括:客户端和业务服务器群组;所述业务服务器包括当前提供业务服务的当前业务服务器,和多个提供业务服务的业务服务器;

所述客户端,用于在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的 业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;向所述目标业务服务器发起业务连接请求;

所述当前业务服务器,用于在当前业务提供异常时,若接收到所述客户端发送的业务请求,则向所述客户端发送业务异常通知信息及所述业务服务器列表;

所述业务服务器,用于若接收到所述客户端发送的业务测试请求,则响应所述业务测试请求,并向所述客户端反馈测试响应信息。

本发明实施例还提供一种业务连接系统,包括:客户端,异常通知服务器,和多个提供业务服务的业务服务器;

所述客户端,用于在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;向所述目标业务服务器发起业务连接请求;

所述异常通知服务器,用于在接收到所述客户端发送的当前业务提供是否异常的询问请求时,若当前业务提供异常,则响应所述询问请求,向所述客户端发送业务异常通知信息及所述业务服务器列表;

所述业务服务器,用于若接收到所述客户端发送的业务测试请求,则响应所述业务测试请求,并向所述客户端反馈测试响应信息。

基于上述技术方案,本发明实施例提供的业务连接方法,在当前业务提供异常时,客户端将获取到业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;从而在当前业务提供异常时,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的业务服务器时,客户端将接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;进而根据所述测试响应信息,从响 应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器,向所述目标业务服务器发起业务连接请求。采用本发明提供的业务连接方法,可在当前业务提供异常时,实现客户端与目标业务服务进行业务连接的可能,在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的业务连接系统的结构示意图;

图2为本发明实施例提供的业务连接方法的信令流程图;

图3为本发明实施例提供的业务连接系统的另一结构示意图;

图4为本发明实施例提供的业务连接方法的另一信令流程图;

图5为本发明实施例提供的业务连接方法的流程图;

图6为本发明实施例提供的业务连接方法的另一流程图;

图7为本发明实施例提供的业务连接方法的再一流程图;

图8为本发明实施例提供的业务连接方法的又一流程图;

图9为本发明实施例提供的客户端的结构框图;

图10为本发明实施例提供的目标选取模块的结构框图;

图11为本发明实施例提供的测试结果选取单元的结构框图;

图12为本发明实施例提供的列表获取模块的结构框图;

图13为本发明实施例提供的列表获取模块的另一结构框图;

图14为本发明实施例提供的客户端的另一结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的业务连接系统的结构示意图,图1所示业务连接系统可用于实施本发明实施例提供的业务连接方法,参照图1,该业务连接系统可以包括:客户端01,业务服务器群组02;业务服务器群组02可以包括:当前业务服务器021和多个提供业务服务的业务服务器022,其中,当前业务服务器021为当前为客户端01提供业务服务的业务服务器;

基于图1所示业务连接系统,图2示出了本发明实施例提供的业务连接方法的信令流程图,参照图2,该流程可以包括:

步骤S10、客户端向当前业务服务器发送业务请求;

步骤S11、若当前业务提供异常,所述当前业务服务器向所述客户端发送业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

可选的,业务服务器列表所记录的多个提供业务服务的业务服务器的标识,可以为业务服务器022中多个可提供业务服务的业务服务器的标识;

可选的,业务服务器的标识可以为业务服务器的IP等表示业务服务器通信地址的标识;

在本发明实施例中,若当前业务提供正常,当前业务服务器将响应客户端发送的业务请求,并向客户端反馈该业务请求的响应信息;若当前业务提供异常(可能是当前业务服务器存在故障,导致当前业务提供异常;或者客户端与当前业务服务器之间的网络存在故障,导致当前业务提供异常),则当前业务服务器将向客户端反馈业务异常通知信息及业务服务器列表,以使客户端确定当前业务提供异常,并在后续根据业务服务器列表中记录的业务服务器的标识,发起业务测试请求。

步骤S12、在当前业务提供异常时,所述客户端获取业务异常通知信息及业务服务器列表;

步骤S13、所述客户端根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

步骤S14、业务服务器响应所述业务测试请求,向所述客户端反馈测试响应信息;

可选的,由于网络故障原因或者业务服务器的故障原因,客户端发送的业务测试请求并不一定能被所述业务服务器列表中记录的所有业务服务器所接收;而接收所述测试请求的业务服务器,由于网络故障原因或者业务服务器的故障原因,也可能无法反馈测试响应信息给客户端;因此在网络条件和业务服务器的运行条件允许业务服务器接收并响应所述业务测试请求时,响应所述业务请求的业务服务器将向所述客户端反馈测试响应信息;

显然,所述业务服务器列表中记录的所有业务服务器均可能响应所述业务测试请求,并反馈测试响应信息给客户端,以使客户端接收到所述业务服务器列表中记录的所有业务服务器所反馈的测试响应信息;

可选的,业务测试请求所测试的内容可以为测试客户端与业务服务器之间的网络状况,和/或,测试业务服务器的运行状况;对应的,响应所述业务测试请求的业务服务器,将反馈所测试的客户端与业务服务器之间的网络状况结果,和/或,业务服务器的运行状况结果给客户端。

步骤S15、所述客户端接收响应所述业务测试请求的业务服务器所反馈的测试响应信息;

步骤S16、所述客户端根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

可选的,具体的符合设定业务连接条件的目标业务服务器的选取,可视实际应用情况而定;如业务测试请求所测试的内容为客户端与业务服务器之间的网络状况,则符合设定业务连接条件的目标业务服务器可以为,响应所述业务测试请求的业务服务器中网络状况最优的业务服务器;对应的,所述客户端可根据响应所述业务测试请求的各业务服务器所反馈的网络状况结果,选取所反馈的网络状况结果最优(也可以是第二优等,具体可视实际应用情况而定)的业务服务器作为目标业务服务器;

如业务测试请求所测试的内容为业务服务器运行状况,则符合设定业务连接条件的目标业务服务器可以为,响应所述业务测试请求的业务服务器中运行状况最优的业务服务器;对应的,所述客户端可根据响应所述业务测试请求的各业务服务器所反馈的运行状况结果,选取运行状况结果最优(也可以是第二优等,具体可视实际应用情况而定)的业务服务器作为目标业务服务器;

显然,本发明实施例也可结合客户端与业务服务器之间的网络状况,及业务服务器运行状况作为业务测试请求所测试的内容;对应的,对于每一个响应所述业务测试请求的业务服务器,所述客户端可将业务服务器所反馈的网络状况结果和运行状况结果相综合,从而得到响应所述业务测试请求的各业务服务器的综合结果,从而根据该综合结果选取综合结果最优(也可以是第二优等,具体可视实际应用情况而定)的业务服务器作为目标业务服务器;

显然,上文描述的选取目标业务服务器的策略,可视实际应用情况而定。

步骤S17、向所述目标业务服务器发起业务连接请求。

可选的,由于当前业务服务器的故障较为严重,或者当前业务服务器与客户端进行数据交互的网络的故障较为严重,因此当前业务服务器在接收客户端的业务请求时,当前业务服务器可能无法向客户端反馈业务异常通知信息及业务服务器列表;如由于当前业务服务器的故障或者网络故障,当前业务服务器不一定可以接收客户端发送的业务请求;或者即使当前业务服务器收到业务请求,由于服务器故障,当前业务服务器也不一定能向所述客户端发送业务异常通知信息及业务服务器列表;或者即使当前业务服务器能向所述客户端发送业务异常通知信息及业务服务器列表,由于网络故障,客户端也不一定能接收到业务异常通知信息及业务服务器列表;

基于上述情况,本发明实施例可设置专门用于当前业务异常通知的异常通知服务器;图3示出了本发明实施例提供的业务连接系统的另一结构示意图,参照图3,该业务连接系统可以包括:客户端1,异常通知服务器2,和多个提供业务服务的业务服务器3;

基于图3所示业务连接系统,图4示出了本发明实施例提供的业务连接方法的另一信令流程图,参照图4,该流程可以包括:

步骤S20、客户端向异常通知服务器发送当前业务提供是否异常的询问请求;

可选的,客户端可在向当前业务服务器发送业务请求,未接收到当前业务服务器的响应后,向异常通知服务器发送当前业务提供是否异常的询问请求;具体的,所述客户端可向异常通知服务器发送当前业务服务器的标识,以询问异常通知服务器该标识的业务服务器是否处于业务提供异常状态(如该标识的业务服务器是否发生故障,或者该标识的业务服务器进行数据交互 的网络是否发生故障等);

显然,客户端也可直接向异常通知服务器发送当前业务提供是否异常的询问请求;如客户端可定时将当前业务服务器的标识发送至异常通知服务器,以询问异常通知服务器该标识的业务服务器是否处于业务提供异常状态。

步骤S21、若当前业务提供异常,所述异常通知服务器响应所述询问请求,向所述客户端发送业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

在本发明实施例中,异常通知服务器可广泛部署,降低异常通知服务器由于运行故障或者网络故障的影响;

可选的,异常通知服务器在接收到当前业务服务器的标识后,可查询当前业务服务器的运行状况及网络状况,从而在当前业务服务器的运行状况或网络状况故障时,确定当前业务提供异常,从而向所述客户端发送业务异常通知信息及所述业务服务器列表。

步骤S22、在当前业务提供异常时,所述客户端获取业务异常通知信息及业务服务器列表;

步骤S23、所述客户端根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

步骤S24、业务服务器响应所述业务测试请求,向所述客户端反馈测试响应信息;

步骤S25、所述客户端接收响应所述业务测试请求的业务服务器所反馈的测试响应信息;

步骤S26、所述客户端根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

步骤S27、向所述目标业务服务器发起业务连接请求。

可以看出,本发明实施例在当前业务提供异常时,客户端将获取到业务异常通知信息及业务服务器列表(可以是当前业务服务器发送,也可以是异常通知服务器发送),所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;从而在当前业务提供异常时,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的业务服务器时,客户端将接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;进 而根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器,向所述目标业务服务器发起业务连接请求。采用本发明,可在当前业务提供异常时,实现客户端与目标业务服务器进行业务连接的可能,在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。

下面以客户端的角度,对本发明实施例提供的业务连接方法进行介绍,下文描述的业务连接方法可与上文信令流程内容相互对应参照。

图5为本发明实施例提供的业务连接方法的流程图,该方法可应用于客户端,参照图5,该方法可以包括:

步骤S100、在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

可选的,客户端可向当前提供业务服务的当前业务服务器发送业务请求,若当前业务提供异常,则客户端可获取到所述当前业务服务器所发送的业务异常通知信息及所述业务服务器列表;

可选的,客户端也可向异常通知服务器发送当前业务提供是否异常的询问请求,若当前业务提供异常,则客户端可在所述异常通知服务器响应所述询问请求后,获取到所述异常通知服务器发送的业务异常通知信息及所述业务服务器列表;

可选的,所述客户端可设置业务请求的响应时限时间,若客户端在向当前业务服务器发送业务请求后,响应时限时间到达时,仍未接收到当前业务服务器的响应,则客户端可向异常通知服务器发送所述询问请求;显然,对于异常通知服务器,客户端也可设置询问请求的响应时限时间。

步骤S110、根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

步骤S120、当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;

步骤S130、根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

步骤S140、向所述目标业务服务器发起业务连接请求。

采用本发明实施例提供的业务连接方法,可在当前业务提供异常时,实现客户端与目标业务服务进行业务连接的可能,在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。

可选的,业务测试请求中可包括至少一个业务测试项;对应的,测试响应信息可以包括各业务测试项的测试结果。业务测试项可以是测试客户端与业务服务器之间的网络状况,和/或,业务服务器的运行状况;对应的,测试结果可以为客户端与业务服务器之间的网络状况结果,和/或,业务服务器的运行状况结果。

图6示出了本发明实施例提供的业务连接方法的另一流程,参照图6,该方法可以包括:

步骤S200、在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

步骤S210、根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求,所述业务测试请求包括:至少一个业务测试项;

步骤S220、当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息,所述测试响应信息包括:各业务测试项的测试结果;

步骤S230、根据各响应所述业务测试请求的业务服务器,所反馈的各业务测试项的测试结果,从响应所述业务测试请求的业务服务器中,选取测试结果符合设定测试结果条件的目标业务服务器;

步骤S240、向所述目标业务服务器发起业务连接请求。

可选的,本发明实施例可仅对客户端与业务服务器之间的网络状况进行测试;对应,所述至少一个业务测试项可以包括:网速测试项;所述测试结果可以包括:网速测试结果;

所述客户端在接收所述业务服务器列表后,可分别向各标识对应的业务服务器发送网速测试请求;对应的,当存在响应所述网速测试请求的业务服务器时,所述客户端可接收各响应所述网速测试请求的业务服务器所反馈的网速测试结果,从而选取网速测试结果符合设定网速条件的目标业务服务器;可选的,可选择网速测试结果最优的业务服务器作为目标业务服务器,也可 以是第二优的,具体可视实际应用情况而定。

可选的,本发明实施例也可仅对业务服务器的运行状况进行测试;对应的,所述至少一个业务测试项可以包括:服务器运行测试项;所述测试结果可以包括:服务器运行测试结果;

所述客户端在接收所述业务服务器列表后,可分别向各标识对应的业务服务器发送服务器运行测试请求;对应的,当存在响应所述服务器运行测试请求的业务服务器时,所述客户端可接收各响应所述服务器运行测试请求的业务服务器,所反馈的服务器运行测试结果;从而选取服务器运行测试结果符合设定运行测试结果条件的目标业务服务器;可选的,可选择运行测试结果最优的业务服务器作为目标业务服务器,也可以是第二优的,具体可视实际应用情况而定。

显然,本发明实施例也可同时对客户端与业务服务器之间的网络状况,及业务服务器的运行状况进行测试;对应的,所述至少一个业务测试项可以包括网速测试项和服务器运行测试项;所述测试结果可以包括:网速测试结果和服务器运行测试结果;则所述客户端在接收到各响应业务测试请求的业务服务器,所反馈的网速测试结果和服务器运行测试结果后,对于各响应业务测试请求的业务服务器,所述客户端可综合网速测试结果和服务器运行测试结果,得到各响应业务测试请求的业务服务器的综合结果,从而选取综合结果符合设定条件的业务服务器作为目标业务服务器;

可选的,本发明实施例可选取网速测试结果最优的前N个业务服务器,再从该前N个业务服务器中选取服务器运行测试结果最优(也可以是第二优等,具体视实际情况而定)的业务服务器作为目标业务服务器;可选的,本发明实施例也可选取服务器运行测试结果最优的前N个业务服务器,再从该前N个业务服务器中选取网速测试结果最优(也可以是第二优等,具体视实际情况而定)的业务服务器作为目标业务服务器;显然,综合网速测试结果和服务器运行测试结果后,具体的目标业务服务器的选取策略可视实际应用情况设定。

可选的,在本发明实施例中,各业务测试项可以包括:至少一个业务测试对象;各业务测试项的测试结果包括:各业务测试对象的测试值;

如网速测试项的业务测试对象可以由数据传输速率的测试,请求延时的测试和丢包情况的测试等表征;对应的,网速测试项的业务测试对象可以由数据传输速率的测试,请求延时的测试和丢包情况的测试中选取至少一个;对应的,网速测试项的测试结果可以由数据传输速率的测试值,请求延时的测试值和丢包情况的测试值中选取至少一个;

如服务器运行测试项的业务测试对象可以由服务器负载的测试,服务器健康状况的测试等表征;对应的,服务器运行测试项的业务测试对象可以由服务器负载的测试,服务器健康状况的测试中选取至少一个;对应的,服务器运行测试项的测试结果可以由服务器负载的测试值,服务器健康状况的测试值中选取至少一个。

对应的,图7示出了本发明实施例提供的业务连接方法的再一流程,参照图7,该方法可以包括:

步骤S300、在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

步骤S310、根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求,所述业务测试请求包括:至少一个业务测试项,各业务测试项包括:至少一个业务测试对象;

步骤S320、当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息,所述测试响应信息包括:各业务测试项的测试结果,各业务测试项的测试结果包括:各业务测试对象的测试值;

步骤S330、对于各响应所述业务测试请求的业务服务器,根据所反馈的各业务测试项的各业务测试对象的测试值,确定各业务测试项的测试值,综合各业务测试项的测试值,得到各响应所述业务测试请求的业务服务器的综合测试结果;

步骤S340、从响应所述业务测试请求的业务服务器中,选取综合测试结果符合设定综合测试结果条件的目标业务服务器;

步骤S350、向所述目标业务服务器发起业务连接请求。

可选的,业务测试请求可仅包括一个业务测试项,该业务测试项可仅包括一个业务测试对象;以网速测试项的业务测试对象由数据传输速率的测试 表征为例,对应的,网速测试结果可以为所测试的数据传输速率;则所述客户端在接收所述业务服务器列表后,可分别向各标识对应的业务服务器发送数据传输速率的测试请求;当存在响应该测试请求的业务服务器时,所述客户端可接收各响应该测试请求的业务服务器所反馈的数据传输速率,从而以各响应该测试请求的业务服务器所反馈的数据传输速率作为,各响应该测试请求的业务服务器的网速测试项的测试值,选取数据传输速率符合设定速率条件的目标业务服务器;可选的,可选择数据传输速率最优的业务服务器作为目标业务服务器,也可以是第二优的,具体可视实际应用情况而定;

可选的,业务测试请求可仅包括一个业务测试项,该业务测试项可包括多个业务测试对象;以网速测试项由请求延时的测试和丢包情况的测试构成为例;对应的,所述网速测试结果可以包括:请求延时的测试值和丢包情况的测试值;则所述客户端在接收所述业务服务器列表后,可分别向各标识对应的业务服务器发送业务测试请求,该业务测试请求包括请求延时的测试和丢包情况的测试;当存在响应该业务测试请求的业务服务器时,所述客户端可接收各响应该业务测试请求的业务服务器所反馈的请求延时的测试值和丢包情况的测试值;对于各响应该业务测试请求的业务服务器,客户端可综合请求延时的测试值和丢包情况的测试值,得到各响应该业务测试请求的业务服务器的网速测试项的测试值,从而选取网速测试项的测试值符合设定网速综合结果条件的目标业务服务器;可选的,可选择网速测试项的测试值最优的业务服务器作为目标业务服务器,也可以是第二优的,具体可视实际应用情况而定;

可选的,综合请求延时的测试值和丢包情况的测试值得到网速测试项的测试值的方式可以为:将请求延时的测试值与相应系数结合,将丢包情况的测试值与相应系数结合;综合请求延时的测试值与相应系数的结合结果,及丢包情况的测试值与相应系数的结合结果,得到网速测试项的测试值;

为便于理解,可以D表示网速测试项的测试值,R表示请求延时的测试值(可设置延时越小,R值越大),F表示丢包情况的测试值(可设置丢包越少,F值越大),则D可以表示为xR+yF,其中x为设定的请求延时的测试值的系数,y为设定的丢包情况的测试值的系数;通过D反应网速测试项的测试值,可选取D值最大的业务服务器作为目标业务服务器。

可选的,业务测试请求可包括多个业务测试项,各业务测试项可包括多个业务测试对象;如业务测试请求可包括网速测试项和服务器运行测试项,网速测试项的业务测试对象可以为请求延时的测试和丢包情况的测试,服务器运行测试项的业务测试对象可以为服务器负载的测试和服务器健康状况的测试;对应的,对于各响应该业务测试请求的业务服务器,客户端可综合请求延时的测试值,丢包情况的测试值,得到网速测试项的测试值,综合服务器负载的测试值和服务器健康状况的测试值,得到服务器运行测试项的测试值,而后综合网速测试项的测试值和服务器运行测试项的测试值得到各响应该业务测试请求的业务服务器的综合测试结果,从而选取综合测试结果符合设定综合测试结果条件的目标业务服务器。

确定网速测试项的测试值的示例可如上文所示,可选的,服务器运行测试项的测试值的确定方式也可如网速测试项的测试值的确定所示;在确定网速测试项的测试值和服务器运行测试项的测试值后,可将网速测试项的测试值和服务器运行测试项的测试值相加,得到综合测试结果。

基于上述描述,本发明实施例可以设置各业务测试对象的测试值相应的系数;图8示出了本发明实施例提供的业务连接方法的又一流程,参照图8,该方法可以包括:

步骤S400、在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

步骤S410、根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求,所述业务测试请求包括:至少一个业务测试项,各业务测试项包括:至少一个业务测试对象;

步骤S420、当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息,所述测试响应信息包括:各业务测试项的测试结果,各业务测试项的测试结果包括:各业务测试对象的测试值;

步骤S430、对于各响应所述业务测试请求的业务服务器,针对所反馈的各业务测试项,将各业务测试对象的测试值与设定的相应系数结合,并将各业务测试对象的测试值与相应系数的结合结果相综合,得到各业务测试项的测试值;

步骤S440、对于各响应所述业务测试请求的业务服务器,将各业务测试项的测试值相加,得到各响应所述业务测试请求的业务服务器的综合测试值;

步骤S450、从响应所述业务测试请求的业务服务器中,选取综合测试值符合设定测试值条件的目标业务服务器;

步骤S460、向所述目标业务服务器发起业务连接请求。

可选的,对于各响应业务请求的业务服务器,当一个业务测试项包括多个业务测试对象时(如上文中网速测试项的测试对象可以由请求延时的测试和丢包情况的测试构成),本发明实施例可设置各业务测试对象的测试值对应的系数;对于各个业务测试项,可将业务测试项的各业务测试对象的测试值与对应的系数相结合,并综合各业务测试对象的测试值与系数的结合结果,得到各业务测试项的测试值;将各业务测试项的测试值相加,则可得到各响应所述业务测试请求的业务服务器的综合测试值;从而选取综合测试值符合设定测试值条件的业务服务器为目标业务服务器。

值得注意的是,上文所述的为各业务测试对象设置相应系数的方式仅为本发明实施例选取目标业务服务器的一种可选实现方式;根据实际的应用情况,本发明实施例选取目标业务服务器的策略还可自定义设定;如网速测试结果可以包括:请求延时的测试值和丢包情况的测试值时,本发明实施例并不一定需采用系数方式确定网速测试综合权重结果来进行目标业务服务器的确定,本发明实施例也可选取请求延时的测试值最优的前N(具体数值可视实际情况而定)个业务服务器,从该前N个业务服务器中选取丢包情况的测试值最优(具体可视实际情况而定)的业务服务器作为目标业务服务器。

可选的,客户端在向所述目标业务服务器发起业务连接请求后,若接收到所述目标业务服务器响应所述业务连接请求的信息,则说明客户端已可正常实现业务交互,可取消展示所述业务异常通知信息;显然,若所述客户端未接收到所述目标业务服务器响应所述业务连接请求的信息,则说明客户端仍无法正常进行业务交互,则可展示所述业务异常通知信息,以提示用户当前业务提供异常;

可选的,若在当前业务提供异常时,所述客户端未接收到所述业务异常通知信息(包括所述客户端未接收到当前业务服务器发送的异常通知信息,也未接收到异常通知服务器发送的异常通知信息),则所述客户端可自检测 当前业务提供异常的原因,将所检测的当前业务提供异常的原因进行展示,以提示用户当前业务提供异常。

下面以即时通讯应用为例,对本发明实施例提供的业务连接方法进行介绍,以即时通讯服务器A为当前与客户端进行即时通讯业务交互的服务器,即时通讯服务器B和即时通讯服务器C为其他可向客户端提供即时通讯业务服务的服务器为例;

客户端在正常进行即时通讯业务交互时,将向即时通讯服务器A发送即时通讯业务请求,即时通讯服务器A可响应该即时通讯业务请求并反馈响应信息;而当即时通讯业务提供异常时,即时通讯服务器A可向客户端发送当前即时通讯业务提供异常的通知信息,及即时通讯服务器的IP列表,该IP列表中记录有即时通讯服务器B和即时通讯服务器C的IP;

客户端在接收到该通知信息和IP列表后,可根据IP列表中记录的IP,分别向即时通讯服务器B和即时通讯服务器C发送包含网速测试项和服务器运行状况测试项的业务测试请求;其中,网速测试项的测试对象包括请求延时的测试和丢包情况的测试,服务器运行状况测试项的测试对象包括服务器负载的测试和服务器健康状况的测试;

即时通讯服务器B和即时通讯服务器C可分别向客户端反馈所测试的请求延时的测试值,丢包情况的测试值,服务器负载的测试值和服务器健康状况的测试值;

客户端将即时通讯服务器B反馈的请求延时的测试值与相应系数相乘,丢包情况的测试值与相应系数相乘,并将请求延时的测试值与相应系数的相乘结果,和丢包情况的测试值与相应系数的相乘结果相加,得到网速测试项的测试值;将即时通讯服务器B反馈的服务器负载的测试值与相应系数相乘,服务器健康状况的测试值与相应系数相乘,并将服务器负载的测试值与相应系数的相乘结果,和服务器健康状况的测试值与相应系数的相乘结果相加,得到服务器运行状况测试项的测试值;将即时通讯服务器B的网速测试项的测试值和服务器运行状况测试项的测试值相加,可得到即时通讯服务器B的综合测试值;对于即时通讯服务器C的综合测试值的计算过程同理;

若即时通讯服务器B的综合测试值最优,则客户端将向即时通讯服务器B发送业务连接请求;反之,若即时通讯服务器C的综合测试值最优,则客户端 将向即时通讯服务器C发送业务连接请求。

采用本发明提供的业务连接方法,可在当前业务提供异常时,实现客户端与目标业务服务业务连接的可能,在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。

下面对本发明实施例提供的客户端进行介绍,下文描述的客户端可与上文描述的业务连接方法相互对应参照。

图9为本发明实施例提供的客户端的结构框图,参照图9,该客户端可以包括:

列表获取模块100,用于在业务异常通知信息时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;

测试请求发送模块200,用于根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;

测试响应接收模块300,用于当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;

目标选取模块400,用于根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;

业务连接请求模块500,用于向所述目标业务服务器发起业务连接请求。

可选的,所述业务测试请求包括:至少一个业务测试项;所述测试响应信息包括:各业务测试项的测试结果;图10示出了本发明实施例提供的目标选取模块400的一种可选结构,参照图10,目标选取模块400可以包括:

测试结果选取单元410,用于根据各响应所述业务测试请求的业务服务器,所反馈的各业务测试项的测试结果,从响应所述业务测试请求的业务服务器中,选取测试结果符合设定测试结果条件的目标业务服务器。

可选的,各业务测试项包括:至少一个业务测试对象;各业务测试项的测试结果包括:各业务测试对象的测试值;图11示出了本发明实施例提供的测试结果选取单元410的一种可选结构,参照图11,测试结果选取单元410可以包括:

综合测试结果确定子单元411,用于对于各响应所述业务测试请求的业务服务器,根据所反馈的各业务测试项的各业务测试对象的测试值,确定各业务测试项的测试值,综合各业务测试项的测试值,得到各响应所述业务测试请求的业务服务器的综合测试结果;

选取子单元412,用于从响应所述业务测试请求的业务服务器中,选取综合测试结果符合设定综合测试结果条件的目标业务服务器。

可选的,本发明实施例可采用为各业务测试对象设置相应系数的方式确定综合测试结果;对应的,综合测试结果确定子单元411可具体用于,对于各响应所述业务测试请求的业务服务器,针对所反馈的各业务测试项,将各业务测试对象的测试值与设定的相应系数结合,并将各业务测试对象的测试值与相应系数的结合结果相综合,得到各业务测试项的测试值;对于各响应所述业务测试请求的业务服务器,将各业务测试项的测试值相加,得到各响应所述业务测试请求的业务服务器的综合测试值;

选取子单元412可具体用于,从响应所述业务测试请求的业务服务器中,选取综合测试值符合设定测试值条件的目标业务服务器。

可选的,图12示出了本发明实施例提供的列表获取模块100的一种可选结构,参照图12,列表获取模块100可以包括:

业务请求单元110,用于向当前提供业务服务的当前业务服务器发送业务请求;

第一获取单元111,用于若当前业务提供异常,则获取所述当前业务服务器所发送的业务异常通知信息及所述业务服务器列表。

可选的,图13示出了本发明实施例提供的列表获取模块100的另一种可选结构,参照图13,列表获取模块100可以包括:

询问请求单元120,用于向异常通知服务器发送当前业务提供是否异常的询问请求;

第二获取单元121,用于若当前业务提供异常,则在所述异常通知服务器响应所述询问请求后,获取所述异常通知服务器发送的业务异常通知信息及所述业务服务器列表。

可选的,询问请求单元120可具体用于,若向当前提供业务服务的当前业务服务器发送业务请求后,未接收到所述当前业务服务器发送的响应所述业 务请求的响应信息,也未接收到所述当前业务服务器发送的业务异常通知信息,则向异常通知服务器发送所述询问请求。

可选的,图14示出了本发明实施例提供的客户端的另一结构,结合图9和图14所示,该客户端还可以包括:

展示处理模块600,用于在向所述目标业务服务器发起业务连接请求后,若接收到所述目标业务服务器响应所述业务连接请求的信息,则取消展示所述业务异常通知信息,若未接收到所述目标业务服务器响应所述业务连接请求的信息,则展示所述业务异常通知信息;

自检展示模块700,用于在当前业务提供异常时,未接收到所述业务异常通知信息,则所述客户端自检测当前业务提供异常的原因,将所检测的当前业务提供异常的原因进行展示。

本发明实施例还提供一种业务连接系统,该业务连接系统的结构可如图1所示,包括:客户端01,业务服务器群组02;业务服务器群组02可以包括:当前业务服务器021和多个提供业务服务的业务服务器022;

其中,客户端01,用于在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;向所述目标业务服务器发起业务连接请求;

当前业务服务器021,用于在当前业务提供异常时,若接收到所述客户端发送的业务请求,则向所述客户端发送业务异常通知信息及所述业务服务器列表;

业务服务器022,用于若接收到所述客户端发送的业务测试请求,则响应所述业务测试请求,并向所述客户端反馈测试响应信息。

本发明实施例提供的另一种业务连接系统的结构可如图3所示,包括:客户端1,异常通知服务器2,和多个提供业务服务的业务服务器3;

其中,客户端1,用于在当前业务提供异常时,获取业务异常通知信息及业务服务器列表,所述业务服务器列表记录有多个提供业务服务的业务服务器的标识;根据所述业务服务器列表中记录的各业务服务器的标识,分别向各标识对应的业务服务器发送业务测试请求;当存在响应所述业务测试请求的业务服务器时,接收各响应所述业务测试请求的业务服务器所反馈的测试响应信息;根据所述测试响应信息,从响应所述业务测试请求的业务服务器中,选取符合设定业务连接条件的目标业务服务器;向所述目标业务服务器发起业务连接请求;

异常通知服务器2,用于在接收到所述客户端发送的当前业务提供是否异常的询问请求时,若当前业务提供异常,则响应所述询问请求,向所述客户端发送业务异常通知信息及所述业务服务器列表;

业务服务器3,用于若接收到所述客户端发送的业务测试请求,则响应所述业务测试请求,并向所述客户端反馈测试响应信息。

采用本发明,可在当前业务提供异常时,实现客户端与目标业务服务器进行业务连接的可能,在业务提供异常时,提升用户正常使用业务的概率,降低对用户正常使用业务的影响。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可 编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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