一种信息推送的方法以及服务器与流程

文档序号:12740165阅读:156来源:国知局
一种信息推送的方法以及服务器与流程

本发明涉及互联网技术领域,尤其涉及一种信息推送的方法以及服务器。



背景技术:

如今,多数网络中的应用程序都会提供代理服务器,这些代理服务器主要用于提升客户端与业务服务器之间的连接速度和质量,如何选择合适的代理服务器显得尤为重要。

目前,采用如图1所示的方式进行代理服务器的筛选,请参阅图1,图1为现有方案中客户端检测代理服务器的实施例示意图,首先,客户端获取到所有理论可用的代理服务器合集,然后对此合集中所有代理服务器分别进行网络测试和筛选,最后可从中得到最优的代理服务器子集。

然而,由于代理服务器无法主动获取客户端环境到自身的网络质量,不能根据客户端自身网络状况进行针对性地筛选,在准备代理服务器合集时,每个客户端都必须对其中网络质量较差的代理服务器重复进行测试,这将造成网络资源的浪费,同时延长了客户端的启动时间,不利于用户的操作和体验。



技术实现要素:

本发明实施例提供了一种信息推送的方法以及服务器,无需每个客户端反复测量网络质量较差的代理服务器,而是由服务器主动向客户端推送当前时刻所对应的一个预设代理服务器集合,从而避免网络资源的浪费,同时缩短了客户端的启动时间,有利于用户的操作和体验。

有鉴于此,本发明第一方面提供了一种信息推送的方法,包括:

接收目标客户端发送的网络连接请求,所述目标客户端为目标区域中的一个客户端;

根据所述网络连接请求,获取当前时刻内与所述目标区域关联的预设代理服务器集合,所述预设代理服务器集合中包含至少一个代理服务器,且所述至少一个代理服务器为根据网络质量信息预先确定的;

向所述目标客户端推送所述预设代理服务器集合,以使所述目标客户端从所述预设代理服务器集合中确定目标代理服务器。

本发明第二方面提供了一种服务器,包括:

接收模块,用于接收目标客户端发送的网络连接请求,所述目标客户端为目标区域中的一个客户端;

第一获取模块,用于根据所述接收模块接收的所述网络连接请求,获取当前时刻内与所述目标区域关联的预设代理服务器集合,所述预设代理服务器集合中包含至少一个代理服务器,且所述至少一个代理服务器为根据网络质量信息预先确定的;

第一推送模块,用于向所述目标客户端推送所述第一获取模块获取的所述预设代理服务器集合,以使所述目标客户端从所述预设代理服务器集合中确定目标代理服务器。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,提供了一种信息推送的方法,由服务器先接收目标客户端发送的网络连接请求,该目标客户端为目标区域中的一个客户端,服务器根据网络连接请求,获取当前时刻内与目标区域关联的预设代理服务器集合,预设代理服务器集合中包含至少一个代理服务器,且至少一个代理服务器为根据网络质量信息预先确定的,最后服务器向目标客户端推送预设代理服务器集合,以使目标客户端从预设代理服务器集合中确定目标代理服务器。通过上述方式,无需每个客户端反复测量网络质量较差的代理服务器,而是由服务器主动向客户端推送当前时刻所对应的一个预设代理服务器集合,从而避免网络资源的浪费,同时缩短了客户端的启动时间,有利于用户的操作和体验。

附图说明

图1为现有方案中客户端检测代理服务器的实施例示意图;

图2为本发明实施例中信息推送的系统架构图;

图3为本发明实施例中信息推送的方法一个交互实施例示意图;

图4为本发明实施例中信息推送的方法一个实施例示意图;

图5为本发明应用场景中选择代理服务器的界面示意图;

图6为本发明实施例中服务器一个实施例示意图;

图7为本发明实施例中服务器另一个实施例示意图;

图8为本发明实施例中服务器另一个实施例示意图;

图9为本发明实施例中服务器另一个实施例示意图;

图10为本发明实施例中服务器另一个实施例示意图;

图11为本发明实施例中服务器另一个实施例示意图;

图12为本发明实施例中服务器另一个实施例示意图;

图13为本发明实施例中服务器一个结构示意图。

具体实施方式

本发明实施例提供了一种信息推送的方法以及服务器,无需每个客户端反复测量网络质量较差的代理服务器,而是由服务器主动向客户端推送当前时刻所对应的一个预设代理服务器集合,从而避免网络资源的浪费,同时缩短了客户端的启动时间,有利于用户的操作和体验。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本发明应用于信息推送系统,服务器可以为客户端提供当前的较优代理服务器集合,使得客户端通过集合中的信息选择一个信号质量较好的代理服务器。请参阅图2,图2为本发明实施例中信息推送的系统架构图,如图所示,在同一个区域(即目标区域)内的用户通常包括了新上线的用户以及已在线上的用户,每个用户对应的一个客户端,客户端可以基于业务数据进行通信链路的实时监测,即检测客户端与当前所连接的代理服务器之间的网络质量,并且向本发明所提供的服务器实时上报这些实时监测到的网络质量信息,由该服务器根据网络质量信息来实时调整预设代理服务器集合,并且进行云决策,最后服务器给新上线的客户端下发调整后的预设代理服务器集合。

需要说明的是,本发明方案中所提及的服务器即为图2中的“控制中心”,此外,图2中同区域的六台客户端仅为一个示意,在实际应用中,还可以是其他数量的客户端,此处不做限定。

其中,代理服务器是一种重要的服务器安全功能,它的工作主要在开放系统互联模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接国际互联网或局域网,与业务服务器之间传输业务数据。

一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接或者获得目标服务器的指定资源。在后一种情况中,代理服务器可能对业务服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求、业务服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。

为了便于理解,请参阅图3,图3为本发明实施例中信息推送的方法一个交互实施例示意图,如图所示,服务器和客户端将执行如下步骤:

步骤101,客户端首先向服务器发起网络连接请求,该网络连接请求用于指示服务器确定该客户端属于哪一个区域,比如某个小区或者所属的某个运营商;

步骤102,服务器根据客户端所在的区域获取该客户端对应的预设代理服务器集合,该预设代理服务器集合中可以是一组代理服务器的列表,该列表中包含了当前时段内网络质量较优的代理服务器;

步骤103,客户端在收到服务器下发的预设代理服务器集合之后,便可以自动选择一个代理服务器作为目标代理服务器进行接入,也可以由用户根据预设代理服务器集合来手动选择目标代理服务器进行接入。

下面将从服务器的角度,对本发明中信息推送的方法进行介绍,请参阅图4,本发明实施例中信息推送的方法一个实施例包括:

201、接收目标客户端发送的网络连接请求,目标客户端为目标区域中的一个客户端;

本实施例中,服务器接收目标区域内的某个目标客户端发送的网络连接请求,其中,目标区域是按照一定区域划分好的区域,服务器可以通过客户端的网际互联协议(英文全称:Internet Protocol,英文缩写:IP)地址来获取客户端所属城市以及网络运营商,以进行合理的划分,且服务器针对每个区域都管理着对的一个预设代理服务器集合。

202、根据网络连接请求,获取当前时刻内与目标区域关联的预设代理服务器集合,预设代理服务器集合中包含至少一个代理服务器,且至少一个代理服务器为根据网络质量信息预先确定的;

本实施例中,服务器根据目标客户端发送的网络连接请求,获取当前时刻内与目标客户端所在的目标区域关联的预设代理服务器集合,其中,预设代理服务器集合中包含了至少一个代理服务器,这里的代理服务器也是由服务器根据各自的网络质量信息提前确定好的。

可以理解的是,通常情况下,预设代理服务器集合中的各个代理服务器网络质量优于非预设代理服务器集合中的代理服务器质量。

203、向目标客户端推送预设代理服务器集合,以使目标客户端从预设代理服务器集合中确定目标代理服务器。

本实施例中,在确定了当前时刻内与目标区域关联的预设代理服务器集合之后,该服务器就应向目标客户端推送预设代理服务器集合,然后在目标客户端上显示该预设代理服务器集合所对应的列表信息,最后在预设代理服务器集合中选择其中一个代理服务器作为目标代理服务器,并且通过目标代理服务器与业务服务器建立通信,用于传输业务数据。

本发明实施例中,提供了一种信息推送的方法,由服务器先接收目标客户端发送的网络连接请求,该目标客户端为目标区域中的一个客户端,服务器根据网络连接请求,获取当前时刻内与目标区域关联的预设代理服务器集合,预设代理服务器集合中包含至少一个代理服务器,且至少一个代理服务器为根据网络质量信息预先确定的,最后服务器向目标客户端推送预设代理服务器集合,以使目标客户端从预设代理服务器集合中确定目标代理服务器。通过上述方式,无需每个客户端反复测量网络质量较差的代理服务器,而是由服务器主动向客户端推送当前时刻所对应的一个预设代理服务器集合,从而避免网络资源的浪费,同时缩短了客户端的启动时间,有利于用户的操作和体验。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的信息推送的方法第一个可选实施例中,获取当前时刻内与目标区域关联的预设代理服务器集合之前,还可以包括:

获取目标区域内至少一个客户端上报的网络质量信息,网络质量信息为基于通信链路检测得到的;

根据网络质量信息确定各个代理服务器所对应的网络质量排列次序,网络质量排列次序用于指示预设代理服务器集合中各个代理服务器的排列顺序;

根据网络质量排列次序获取预设代理服务器集合。

本实施例中,在服务器获取当前时刻内与目标区域关联的预设代理服务器集合之前,还应该将预设代理服务器内的各个代理服务器有序地进行排列,这样才能在筛选目标代理服务器时具有一定的可靠性。

具体地,首先服务器获取目标区域内各个客户端上报的网络质量信息,而客户端是通过通信链路来实时检测的,更具有针对性。网络中两个结点之间的物理通道称为通信链路,而所谓链路就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点,节点是包括一个数据元素及若干个指向其它子树的分支。

其中,网络质量信息可以包括但并不仅限于以下信息,例如吞吐量、时延、时延变化和丢包率等,综合网络质量信息中的各项数据可以确定各个代理服务器所对应的网络质量排列次序,假设目标区域内的客户端共对应了100个代理服务器,但是预设代理服务器集合中规定只能放入5个待选择的代理服务器,于是按照各个代理服务器的网络质量排列次序选择排列在前5个代理服务器组成预设代理服务器集合。

其次,本发明实施例中,服务器在获取当前时刻内与目标区域关联的预设代理服务器集合之前,需要先获取目标区域内至少一个客户端上报的网络质量信息,且网络质量信息为基于通信链路检测得到的,再根据网络质量信息确定各个代理服务器所对应的网络质量排列次序,最后根据网络质量排列次序获取预设代理服务器集合。通过上述方式,服务器能够根据各个客户端对应的网络质量信息来获取网络质量较好的代理服务器集合,以此提升代理服务器集合的可靠性,同时,采用基于通信链路可以实现实时检测网络质量信息,从而使得检测的结果更具有针对性。

可选地,在上述图4对应的第一个实施例的基础上,本发明实施例提供的信息推送的方法第二个可选实施例中,根据网络质量信息确定各个代理服务器所对应的网络质量排列次序,可以包括:

根据网络质量信息计算各个代理服务器所对应的网络质量排列次序;

根据所述网络质量排列次序获取预设代理服务器集合,可以包括:

根据各个代理服务器所对应的网络质量排列次序,按照从高到低的次序排列各个代理服务器;

根据预置代理服务器选择条件,获取各个代理服务器中的预设代理服务器集合。

本实施例中,介绍了服务器如何根据网络质量信息确定各个代理服务器的网络质量排列次序。

首先服务器需要根据网络质量信息计算得到各个代理服务器的网络质量排列次序,然后具体按照网络质量排列次序从高到低的次序对各个代理服务器进行排列,比如当前有100个代理服务器,根据这100个代理服务器的网络质量排列次序可以选择满足预置代理服务器选择条件的代理服务器组成预设代理服务器集合。

预置代理服务器选择条件为按照预定的数量组成预设代理服务器集合,预定数量可以是5个或者10个,此处不作限定。此外,预置代理服务器选择条件也可以为网络质量信息中至少一个参数大于阈值代理服务器构成预设代理服务器集合。

再次,本发明实施例中,服务器根据网络质量信息可以计算出各个代理服务器所对应的网络质量排列次序,然后按照网络质量从好到差的次序来排列这些代理服务器,最后根据预置代理服务器选择条件,选择一部分代理服务器组成预设代理服务器集合。通过上述方式,可以根据网络质量的优劣来合理选择当前较优的预设代理服务器集合,从而提升方案的实际应用中的可行性和可靠性,筛选后得到的预设代理服务器集合具有更好的网络质量,进一步提升了客户端与业务服务器之间的数据传输效率。

可选地,在上述图4对应的第一个实施例的基础上,本发明实施例提供的信息推送的方法第三个可选实施例中,根据网络质量信息计算各个代理服务器所对应的网络质量排列次序,可以包括:

按照如下方式计算网络质量排列次序:

Orderdelay=Fixeddelay+max(Addeddelay-5,0,Adddelay);

其中,Orderdelay表示网络质量排列次序,Fixeddelay表示从代理服务器到业务服务器的时延值,Addeddelay表示第一预设时间内的时延值,Adddelay表示第二预设时间内的时延值,第一预设时间为第二预设时间的前一个预设时间,max()表示求最大值运算。

本实施例中,介绍了如何进行网络质量排列次序Orderdelay的计算。每个代理服务器网络质量信息主要包含以下这些信息:

1、固有时延,即代理服务器到业务服务器的时延值Fixeddelay

2、固有丢包率,即代理服务器到业务服务器的丢包率Fixedlost

3、第一预设时间内的惩罚时延值,即上一次调整结果Addeddelay’

4、第二预设时间内的惩罚时延值,即本次调整结果Adddelay’

5、通信链路被切换有效率Switchrate

6、链路实时平均时延Delayavg

7、链路实时平均时延波动DelayAmpavg

8、链路实时平均丢包率Lostavg

基于以上质量状况数据,排序的算法如下所示:

Orderdelay=Fixeddelay+max(Addeddelay-5,0,Adddelay);

预设代理服务器集合的排序是根据Orderdelay的值来决定的,它等于代理服务器的固有时延加上上一次调整后的Addeddelay,结合当次新计算得到的惩罚时延,取最大值。上一次计算或的惩罚时延,每30分钟减少5毫秒,如果小于5毫秒,则取值为0。

再次,本发明实施例中,提供了计算网络质量排列次序的方式,即通过提供的计算公式可以得到网络质量排列次序,以此提升方案的合理性和可行性,为方案的实现提供了具体的实现依据,从而增强方案的可靠性。

可选地,在上述图4对应的第三个实施例的基础上,本发明实施例提供的信息推送的方法第四个可选实施例中,第二预设时间内的时延值为根据客户端上报的平均时延值、平均时延波动值、平均丢包率以及链路切换有效率确定的,其中,平均时延值、平均时延波动值以及平均丢包率之间具有关联关系。

本实施例中,进一步介绍了如何计算第二预设时间内的时延值Adddelay

ADDdelay=Votedelay+Switchrate

第二预设时间内的时延值Adddelay是根据客户端上报的时延Delayavg、时延波动DelayAmpavg、丢包率Lostavg和链路切换有效率Switchrate,综合加权计算后的时延结果。其中,Votedelay是按照一定的权重比例对链路实时平均时延Delayavg、平均链路实时平均时延波动DelayAmpavg以及链路实时平均丢包率Lostavg进行计算后得到的,这三个值相互关联和影响,查询映射表后得到不同加权值的最大值,链路切换有效率Switchrate也是查询映射表后得到相应的加权值。

预设代理服务器集合中的代理服务器的排序位置会前置或后置。需要说明的是,为了避免某个代理服务器因为排序靠后,而一直被冷落,导致上报的数据很少或没有,而据此计算出来的第二预设时间内的时延值Adddelay,失去了计算的参考意义,所以,需要每隔30分钟给该代理服务器的第一预设时间内的惩罚时延值Addeddelay,减少5毫秒,以便使其逐步上升排序位置,有机会让用户再次使用并检测最新的网络质量。

进一步地,本发明实施例中,限定了第二预设时间内的时延值可以是按照一定的规则计算得到的,且有些数据还具有一定的关联性,即平均时延值、平均时延波动值以及平均丢包率之间具有关联关系。这样可以在计算过程中能够更加合理地对数据进行处理,以此提升方案的实用性。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的信息推送的方法第五个可选实施例中,获取当前时刻内与目标区域关联的预设代理服务器集合之前,还可以包括:

在第一预设时间内获取目标区域内至少一个客户端上报的第一网络质量信息,第一网络质量信息用于表示客户端与代理服务器之间的网络连接质量;

根据网络质量信息确定预设代理服务器集合;

在第二预设时间内获取目标区域内至少一个客户端上报的第二网络质量信息,第二预设时间为第一预设时间之后的一个时间;

根据第二网络质量信息更新预设代理服务器集合,并得到更新后的预设代理服务器集合。

本实施例中,在服务器获取当前时刻内与目标区域关联的预设代理服务器集合之前,需要保证该预设代理服务器集合为当前最新的内容,也就是说,服务器需要实时地根据代理服务器的网络质量情况进行集合的调整和排序。

具体地,服务器在第一预设时间内获取目标区域内至少一个客户端上报的第一网络质量信息,其中,第一网络质量信息用于表示客户端与代理服务器之间的网络连接质量,第一预设时间具体可以是某个时刻。接着根据第一网络连接质量信息来确定第一预设时间所对应的预设代理服务器集合。

在下一个时间内,即第二预设时间内,服务器将再次获取目标区域内至少一个客户端上报的第二网络质量信息,而第二网络质量信息虽然与第一网络质量信息的属性相同,但是具体数值可能发生了变化,因此,服务器将根据第二网络质量信息来更新预设代理服务器集合,并且向目标客户端下发最新的预设代理服务器集合。

其次,本发明实施例中,在服务器获取当前时刻内与目标区域关联的预设代理服务器集合之前,在第一预设时间内获取目标区域内的第一网络质量信息,然后根据网络质量信息确定预设代理服务器集合,接着继续在第二预设时间内获取目标区域的第二网络质量信息,再根据第二网络质量信息更新预设代理服务器集合,并得到更新后的预设代理服务器集合。通过上述方式,可以保证服务器是实时更新预设代理服务器集合的,减少了由于一段时间内出现网络质量波动而导致预设代理服务器集合不够优化的情况,从而更好地提升了方案的准确性和实用性。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的信息推送的方法第六个可选实施例中,获取当前时刻内与目标区域关联的预设代理服务器集合之前,还可以包括:

检测预设代理服务器集合中第一代理服务器的网络状态参数,第一代理服务器为预设代理服务器集合中网络质量排列次序最高的代理服务器;

若第一代理服务器的网络状态参数小于或等于预置门限,则确定第一代理服务器已处于容灭状态;

从预设代理服务器集合中删除第一代理服务器,并加入第二代理服务器。

本实施例中,在服务器获取当前时刻内与目标区域关联的预设代理服务器集合之前,还需要对预设代理服务器集合进行更新。以下将介绍一种可行的更新方式。

具体地,服务器将实时检测预设代理服务器集合中第一代理服务器的网络状态参数,其中,第一代理服务器是在预设代理服务器集合中网络质量排列次序最高的代理服务器,也就是说,服务器最有可能直接向客户端推送第一代理服务器。然而,很多时候会因为外部会内部原因,导致本来网络质量最好的第一代理服务器出现故障,从而导致其网络状态参数小于或等于预置门限,这个时候,服务器就将第一代理服务器确定为已处于容灭状态。

其中,容灭可以指在各种可能情况下,如设备故障、人为因素及其他不可抗拒的灾难和意外(火灾、水灾、地震、战争、人为破坏)时,有措施能够及时接管灾难发生地业务,确保整个系统正常运行,更确切地说,就是当数据库冗余备份设备都遭受毁坏或失效时,还能保证系统正常运行。但是在本方案中,将不再利用已经发送容灭的代理服务器作为客户端接入的目标代理服务器。

于是服务器从预设代理服务器集合中删除第一代理服务器,并且加入第二代理服务器,第二代理服务器为预设代理服务器集合中网络质量排列次序最低的代理服务器。假设原本的预设代理服务器集合中,各个代理服务器的排序为代理服务器A>代理服务器B>代理服务器C>代理服务器D>代理服务器E,当代理服务器A容灭时,则先从预设代理服务器集合中剔除代理服务器A,再加入一个新的满足网络质量条件的代理服务器F,然后构成新的预设代理服务器集合:代理服务器B>代理服务器C>代理服务器A>代理服务器D>代理服务器F。

需要说明的是,第二代理服务器可以位于当前预设代理服务器集合中的任一个的位置,这取决于第二代理服务器的网络质量,此处不作限定。

其次,本发明实施例中,服务器在获取当前时刻内与目标区域关联的预设代理服务器集合之前,还需要检测预设代理服务器集合中的第一代理服务器的网络状态参数是否满足条件,如果已经不满足条件,确定第一代理服务器已容灭,这时候就可以加入一个新的代理服务器,即第二代理服务器。通过上述方式,可以使得预设代理服务器集合中的代理服务器的网络质量都能够实时满足要求,从而在选择代理服务器的时候,能够保证该代理服务器的网络质量较好,同时,服务器实时维护最优的预设代理服务器集合,以此提升方案的灵活性和实用性。

可选地,在上述图4以及图4对应的第一至第六个实施例中任一项的基础上,本发明实施例提供的信息推送的方法第七个可选实施例中,向目标客户端推送预设代理服务器集合之后,还可以包括:

根据预设代理服务器集合中各个代理服务器所对应的网络质量排列次序,选择网络质量排列次序最高的代理服务器作为目标代理服务器;

将目标代理服务器推送至目标客户端。

本实施例中,服务器向目标客户端推送了预设代理服务器集合之后,还可以进一步选择在预设代理服务器集合中网络质量排列次序最高的代理服务器作为目标代理服务器,最后将目标代理服务器的选择结果告知目标客户端,使得目标客户端可以直接与目标代理服务器建立通信连接。

其次,本发明实施例中,服务器在向目标客户端推送了预设代理服务器集合之后,还可以根据该预设代理服务器集合中各个代理服务器所对应的网络质量排列次序,选择网络质量排列次序最高的代理服务器作为目标代理服务器,并进一步向目标客户端推送目标代理服务器。通过上述方式,服务器能够自动向目标客户端推送一个择优结果,一方面可以实现自动选择最优代理服务器的功能,无需用户手动从预设代理服务器集合中选择一个代理服务器,从而提升方案的使用便利性,另一方面,由服务器从预设代理服务器集合中选择的目标代理服务器是当前网络质量最好的代理服务器,以此能够保证代理服务器的网络质量较好。

为便于理解,下面可以以一个具体应用场景对本发明中对信息推送的流程进行详细描述,具体为:

深圳电信网络中的一台客户端请求服务器下发当前时刻(2016年12月26日10点整)的预设代理服务器集合,于是服务器根据请求下发当前时刻对应的预设代理服务器集合,其中,预设代理服务器集合中代理服务器网络质量从优到劣的排序为代理服务器A>代理服务器B>代理服务器C>代理服务器D>代理服务器E。

客户端在进行网络测试后,最终选择了代理服务器A使用。在使用过程中,客户端对代理服务器A进行实时的质量检测。客户端定时向服务器上报链路检测的质量数据,如果出现了的容灾透明切换,也要把切换后的链路质量对比结果上报。上报的数据包括网络丢包率、时延和时延波动。为了反映当前的网络状况,上报的数据是最近一分钟的平均值。

其中,客户端是基于业务实际通信链路来进行网络质量检测,以较小的代价得到更为准确的丢包率、时延和时延波动等质量数据。另外,如果客户端发现代理服务器A出现严重的网络问题后,能够进行容灾透明切换到代理服务器B。因此,预设代理服务器集合是根据客户端的上报数据,实时进行着动态排序和调整。

在排序过程中会存在两种操作结果,一是代理服务器的排列位置变动,二是因为代理服务器不满足最低要求而被淘汰。举例来说,原来的预设代理服务器集合(代理服务器A>代理服务器B>代理服务器C>代理服务器D>代理服务器E),经过调整后,发现代理服务器A的网络质量下降了,和代理服务器E太差而淘汰,从而得到新的集合(代理服务器B>代理服务器C>代理服务器A>代理服务器D>代理服务器F)。代理服务器F的网络质量相对好转,排序位置迁移。

服务器将预设代理服务器集合发送至客户端,经过客户端的渲染处理后,呈现如图5所示的界面,用户可以选择加速链路延迟最少且丢包率最低的代理服务器,当然,客户端也可以主动向用户推荐网络质量最好的代理服务器。

下面对本发明中的服务器进行详细描述,请参阅图6,本发明实施例中的服务器为应用于业务数据的模拟延时中的服务器,服务器30包括:

接收模块301,用于接收目标客户端发送的网络连接请求,所述目标客户端为目标区域中的一个客户端;

第一获取模块302,用于根据所述接收模块301接收的所述网络连接请求,获取当前时刻内与所述目标区域关联的预设代理服务器集合,所述预设代理服务器集合中包含至少一个代理服务器,且所述至少一个代理服务器为根据网络质量信息预先确定的;

第一推送模块303,用于向所述目标客户端推送所述第一获取模块302获取的所述预设代理服务器集合,以使所述目标客户端从所述预设代理服务器集合中确定目标代理服务器。

本实施例中,接收模块301接收目标客户端发送的网络连接请求,所述目标客户端为目标区域中的一个客户端,第一获取模块302根据所述接收模块301接收的所述网络连接请求,获取当前时刻内与所述目标区域关联的预设代理服务器集合,所述预设代理服务器集合中包含至少一个代理服务器,且所述至少一个代理服务器为根据网络质量信息预先确定的,第一推送模块303向所述目标客户端推送所述第一获取模块302获取的所述预设代理服务器集合,以使所述目标客户端从所述预设代理服务器集合中确定目标代理服务器。

本发明实施例中,提供了一种信息推送的服务器,由服务器先接收目标客户端发送的网络连接请求,该目标客户端为目标区域中的一个客户端,服务器根据网络连接请求,获取当前时刻内与目标区域关联的预设代理服务器集合,预设代理服务器集合中包含至少一个代理服务器,且至少一个代理服务器为根据网络质量信息预先确定的,最后服务器向目标客户端推送预设代理服务器集合,以使目标客户端从预设代理服务器集合中确定目标代理服务器。通过上述方式,无需每个客户端反复测量网络质量较差的代理服务器,而是由服务器主动向客户端推送当前时刻所对应的一个预设代理服务器集合,从而避免网络资源的浪费,同时缩短了客户端的启动时间,有利于用户的操作和体验。

可选地,在上述图6所对应的实施例的基础上,请参阅图7,本发明实施例提供的服务器的另一实施例中,

所述服务器30还包括:

第二获取模块304A,用于在所述第一获取模块获取302当前时刻内与所述目标区域关联的预设代理服务器集合之前,获取所述目标区域内至少一个客户端上报的网络质量信息,所述网络质量信息为基于通信链路检测得到的;

第一确定模块304B,用于根据所述第二获取模块304A获取的所述网络质量信息确定各个代理服务器所对应的网络质量排列次序,所述网络质量排列次序用于指示所述预设代理服务器集合中各个代理服务器的排列顺序;

第三获取模块304C,用于根据所述第一确定模块304B确定的所述网络质量排列次序获取所述预设代理服务器集合。

其次,本发明实施例中,服务器在获取当前时刻内与目标区域关联的预设代理服务器集合之前,需要先获取目标区域内至少一个客户端上报的网络质量信息,且网络质量信息为基于通信链路检测得到的,再根据网络质量信息确定各个代理服务器所对应的网络质量排列次序,最后根据网络质量排列次序获取预设代理服务器集合。通过上述方式,服务器能够根据各个客户端对应的网络质量信息来获取网络质量较好的代理服务器集合,以此提升代理服务器集合的可靠性,同时,采用基于通信链路可以实现实时检测网络质量信息,从而使得检测的结果更具有针对性。

可选地,在上述图7所对应的实施例的基础上,请参阅图8,本发明实施例提供的服务器的另一实施例中,

所述第一确定模块304B包括:

计算单元3041,用于根据所述网络质量信息计算所述各个代理服务器所对应的网络质量排列次序;

所述第三获取模块304C包括:

排列单元3042,用于根据所述计算单元3041计算的所述各个代理服务器所对应的网络质量排列次序,按照从高到低的次序排列所述各个代理服务器;

获取单元3043,用于根据预置代理服务器选择条件,获取所述排列单元3042排列的所述各个代理服务器中的所述预设代理服务器集合。

再次,本发明实施例中,服务器根据网络质量信息可以计算出各个代理服务器所对应的网络质量排列次序,然后按照网络质量从好到差的次序来排列这些代理服务器,最后根据预置代理服务器选择条件,选择一部分代理服务器组成预设代理服务器集合。通过上述方式,可以根据网络质量的优劣来合理选择当前较优的预设代理服务器集合,从而提升方案的实际应用中的可行性和可靠性,筛选后得到的预设代理服务器集合具有更好的网络质量,进一步提升了客户端与业务服务器之间的数据传输效率。

可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的服务器的另一实施例中,

所述计算单元3041包括:

计算子单元30411,用于按照如下方式计算所述网络质量排列次序:

Orderdelay=Fixeddelay+max(Addeddelay-5,0,Adddelay);

其中,所述Orderdelay表示所述网络质量排列次序,所述Fixeddelay表示从代理服务器到业务服务器的时延值,所述Addeddelay表示第一预设时间内的时延值,所述Adddelay表示第二预设时间内的时延值,所述第一预设时间为所述第二预设时间的前一个预设时间,所述max()表示求最大值运算。

再次,本发明实施例中,提供了计算网络质量排列次序的方式,即通过提供的计算公式可以得到网络质量排列次序,以此提升方案的合理性和可行性,为方案的实现提供了具体的实现依据,从而增强方案的可靠性。

可选地,在上述图6所对应的实施例的基础上,请参阅图10,本发明实施例提供的服务器的另一实施例中,

所述服务器30还包括:

第四获取模块305A,用于所述第一获取模块302获取当前时刻内与所述目标区域关联的预设代理服务器集合之前,在第一预设时间内获取所述目标区域内至少一个客户端上报的第一网络质量信息,所述第一网络质量信息用于表示客户端与代理服务器之间的网络连接质量;

第二确定模块305B,用于根据所述第四获取模块305A获取的所述网络质量信息确定所述预设代理服务器集合;

第五获取模块305C,用于在第二预设时间内获取所述目标区域内所述至少一个客户端上报的第二网络质量信息,所述第二预设时间为所述第一预设时间之后的一个时间;

更新模块305D,用于根据所述第五获取模块305C获取的所述第二网络质量信息更新所述预设代理服务器集合,并得到更新后的预设代理服务器集合。

其次,本发明实施例中,在服务器获取当前时刻内与目标区域关联的预设代理服务器集合之前,在第一预设时间内获取目标区域内的第一网络质量信息,然后根据网络质量信息确定预设代理服务器集合,接着继续在第二预设时间内获取目标区域的第二网络质量信息,再根据第二网络质量信息更新预设代理服务器集合,并得到更新后的预设代理服务器集合。通过上述方式,可以保证服务器是实时更新预设代理服务器集合的,减少了由于一段时间内出现网络质量波动而导致预设代理服务器集合不够优化的情况,从而更好地提升了方案的准确性和实用性。

可选地,在上述图6所对应的实施例的基础上,请参阅图11,本发明实施例提供的服务器的另一实施例中,

所述服务器30还包括:

检测模块306A,用于所述第一获取模块302获取当前时刻内与所述目标区域关联的预设代理服务器集合之前,检测所述预设代理服务器集合中第一代理服务器的网络状态参数,所述第一代理服务器为所述预设代理服务器集合中网络质量排列次序最高的代理服务器;

第三确定模块306B,用于若所述检测模块306A检测到所述第一代理服务器的网络状态参数小于或等于预置门限,则确定所述第一代理服务器已处于容灭状态;

删除模块306C,用于从所述预设代理服务器集合中删除所述第三确定模块306B确定的所述第一代理服务器,并加入所述第二代理服务器。

其次,本发明实施例中,服务器在获取当前时刻内与目标区域关联的预设代理服务器集合之前,还需要检测预设代理服务器集合中的第一代理服务器的网络状态参数是否满足条件,如果已经不满足条件,确定第一代理服务器已容灭,这时候就可以加入一个新的代理服务器,即第二代理服务器。通过上述方式,可以使得预设代理服务器集合中的代理服务器的网络质量都能够实时满足要求,从而在选择代理服务器的时候,能够保证该代理服务器的网络质量较好,同时,服务器实时维护最优的预设代理服务器集合,以此提升方案的灵活性和实用性。

可选地,在上述图6至图11中任一项所对应的实施例的基础上,请参阅图12,本发明实施例提供的服务器的另一实施例中,

所述服务器30还包括:

选择模块307A,用于所述第一推送模块303向所述目标客户端推送所述预设代理服务器集合之后,根据所述预设代理服务器集合中各个代理服务器所对应的网络质量排列次序,选择网络质量排列次序最高的代理服务器作为所述目标代理服务器;

第二推送模块307B,用于将所述选择模块307A选择的所述目标代理服务器推送至所述目标客户端。

其次,本发明实施例中,服务器在向目标客户端推送了预设代理服务器集合之后,还可以根据该预设代理服务器集合中各个代理服务器所对应的网络质量排列次序,选择网络质量排列次序最高的代理服务器作为目标代理服务器,并进一步向目标客户端推送目标代理服务器。通过上述方式,服务器能够自动向目标客户端推送一个择优结果,一方面可以实现自动选择最优代理服务器的功能,无需用户手动从预设代理服务器集合中选择一个代理服务器,从而提升方案的使用便利性,另一方面,由服务器从预设代理服务器集合中选择的目标代理服务器是当前网络质量最好的代理服务器,以此能够保证代理服务器的网络质量较好。

图13是本发明实施例提供的一种服务器结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。

服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

其中,CPU 422用于执行如下步骤:

接收目标客户端发送的网络连接请求,所述目标客户端为目标区域中的一个客户端;

根据所述网络连接请求,获取当前时刻内与所述目标区域关联的预设代理服务器集合,所述预设代理服务器集合中包含至少一个代理服务器,且所述至少一个代理服务器为根据网络质量信息预先确定的;

向所述目标客户端推送所述预设代理服务器集合,以使所述目标客户端从所述预设代理服务器集合中确定目标代理服务器。

可选地,CPU 422还用于执行如下步骤:

获取所述目标区域内至少一个客户端上报的网络质量信息,所述网络质量信息为基于通信链路检测得到的;

根据所述网络质量信息确定各个代理服务器所对应的网络质量排列次序,所述网络质量排列次序用于指示所述预设代理服务器集合中各个代理服务器的排列顺序;

根据所述网络质量排列次序获取所述预设代理服务器集合。

可选地,CPU 422还用于执行如下步骤:

根据所述网络质量信息计算所述各个代理服务器所对应的网络质量排列次序;

根据所述各个代理服务器所对应的网络质量排列次序,按照从高到低的次序排列所述各个代理服务器;

根据预置代理服务器选择条件,获取所述各个代理服务器中的所述预设代理服务器集合。

可选地,CPU 422还用于执行如下步骤:

按照如下方式计算所述网络质量排列次序:

Orderdelay=Fixeddelay+max(Addeddelay-5,0,Adddelay);

其中,所述Orderdelay表示所述网络质量排列次序,所述Fixeddelay表示从代理服务器到业务服务器的时延值,所述Addeddelay表示第一预设时间内的时延值,所述Adddelay表示第二预设时间内的时延值,所述第一预设时间为所述第二预设时间的前一个预设时间,所述max()表示求最大值运算。

可选地,CPU 422还用于执行如下步骤:

在第一预设时间内获取所述目标区域内至少一个客户端上报的第一网络质量信息,所述第一网络质量信息用于表示客户端与代理服务器之间的网络连接质量;

根据所述网络质量信息确定所述预设代理服务器集合;

在第二预设时间内获取所述目标区域内所述至少一个客户端上报的第二网络质量信息;

根据所述第二网络质量信息更新所述预设代理服务器集合,并得到更新后的预设代理服务器集合。

可选地,CPU 422还用于执行如下步骤:

检测所述预设代理服务器集合中第一代理服务器的网络状态参数,所述第一代理服务器为所述预设代理服务器集合中网络质量排列次序最高的代理服务器;

若所述第一代理服务器的网络状态参数小于或等于预置门限,则确定所述第一代理服务器已处于容灭状态;

从所述预设代理服务器集合中删除所述第一代理服务器,并加入所述第二代理服务器,所述第二代理服务器为所述预设代理服务器集合中网络质量排列次序最低的代理服务器。

可选地,CPU 422还用于执行如下步骤:

根据所述预设代理服务器集合中各个代理服务器所对应的网络质量排列次序,选择网络质量排列次序最高的代理服务器作为所述目标代理服务器;

将所述目标代理服务器推送至所述目标客户端。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

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

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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