本发明涉及网络通信技术领域,更具体地说,涉及一种服务器的选择方法和装置。
背景技术:
目前,客户端选择哪个服务器连接,都是基于服务提供商提供的标准进行的。而服务提供商提供的标准更新周期较长,容易造成客户端无法及时选择最优的服务器进行连接,使得用户在一段时间内无法享受到优质的服务,从而使得用户体验较差。
技术实现要素:
有鉴于此,本发明提出一种服务器的选择方法和装置,欲解决服务提供商提供的标准更新周期较长,容易造成客户端无法及时选择最优的服务器进行连接的技术问题。
为了解决上述技术问题,现提出的方案如下:
一种服务器的选择方法,包括:
接收第一客户端发送的标识信息;
根据标识信息、服务器IP和分数的对应关系,匹配得到与接收的标识信息对应的分数最高的服务器IP,所述对应关系中的分数为根据第二客户端和服务器进行数据交互时记录的计分数据实时更新的;
发送所述分数最高的服务器IP至所述第一客户端。
优选的,所述根据第二客户端与服务器进行数据交互时记录的计分数据实时更新所述对应关系中的分数,包括:
接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
根据所述第一计分数据,计算得到所述第二客户端与所述服务器连接的分数;
利用计算得到的分数,更新所述对应关系中相应的分数。
优选的,所述根据第二客户端与服务器进行数据交互时记录的计分数据实时更新所述对应关系中的分数,包括:
接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
根据所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
利用计算得到的分数,更新所述对应关系中相应的分数。
优选的,所述根据第二客户端与服务器进行数据交互时记录的计分数据实时更新所述对应关系中的分数,包括:
接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
根据所述第一计分数据和所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
利用计算得到的分数,更新所述对应关系中相应的分数。
一种服务器的选择装置,所述装置包括:
接收单元,用于接收第一客户端发送的标识信息;
匹配单元,用于根据标识信息、服务器IP和分数的对应关系,匹配得到与接收的标识信息对应的分数最高的服务器IP,所述对应关系中的分数为根据第二客户端与服务器进行数据交互时记录的计分数据实时更新的;
发送单元,用于发送所述分数最高的服务器IP至所述客户端。
优选的,所述匹配单元,包括:
第一接收子单元,用于接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
第一计算子单元,用于根据所述第一计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第一更新子单元,用于利用计算得到的分数,更新所述对应关系中相应的分数。
优选的,所述匹配单元,包括:
第二接收子单元,用于接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
第二计算子单元,用于根据所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第二更新子单元,用于利用计算得到的分数,更新所述对应关系中相应的分数。
优选的,匹配单元,包括:
第一接收子单元,用于接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
第二接收子单元,用于接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
第三计算子单元,用于根据所述第一计分数据和所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第三更新子单元,用于利用计算得到的分数,更新所述对应关系中相应的分数。
与现有技术相比,本发明的技术方案具有以下优点:
上述技术方案提供的一种服务器的选择方法和装置,根据第二客户端与服务器上传的计分数据实时更新标识信息、服务器IP和分数的对应关系中的分数,并根据第一客户端发送的标识信息,匹配得到分数最高的服务器IP并发送至第一客户端。为客户端选择服务器进行连接提供了动态依据,第一客户端在登录或者切换服务器时,可以从接收到的分数最高的服务器IP中选择一个连接,实现了客户端及时选择最优的服务器进行连接,进而改善了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务器的选择方法的流程图;
图2为本发明实施例提供的一种更新对应关系中分数的方法的流程图;
图3为本发明实施例提供的另一种更新对应关系中分数的方法的流程图;
图4为本发明实施例提供的另一种更新对应关系中分数的方法的流程图;
图5为本发明实施例提供的一种服务器的选择装置的示意图;
图6为本发明实施例提供的另一种服务器的选择装置的示意图;
图7为本发明实施例提供的另一种服务器的选择装置的示意图;
图8为本发明实施例提供的另一种服务器的选择装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供一种服务器的选择方法,参见图1所示,该方法包括:
步骤S11:接收第一客户端发送的标识信息,所述标识信息包括地理位置、网络运营商、连接方式和/操作系统。
在本实施例中将要进行登录或者切换服务器的客户端定义为第一客户端。第一客户端发送的标识信息包括但不限于地理位置、网络运营商、连接方式和/操作系统。其中,地理位置为对第一客户端所处地理位置的描述,例如,第一客户端位于的城市;网络运营商为对第一客户端使用的网络运营商的描述;连接方式为对第一客户端采用的通信连接方式(2G、3G和4G等)的描述;操作系统为对第一客户端采用的操作系统的描述。
步骤S12:根据标识信息、服务器IP和分数的对应关系,匹配得到与接收的标识信息对应的分数最高的服务器IP,所述对应关系中的分数为根据第二客户端和服务器进行数据交互时记录的计分数据实时更新的;
在本实施例中将与服务器进行数据交互的客户端定义为第二客户端。在第二客户端和服务器进行数据交互时,双方或者其中一方记录计分数据。该计分数据包括但不限于向服务器发送消息后至收到ack(Acknowledgement,确认字符)消息的时间间隔t、发送的消息数n和接收的ack数m。当标识信息仅包括地理位置,且地理位置用城市描述时,标识信息、服务器IP和分数的对应关系即为城市、服务器IP和分数的对应关系。如果计分数据对应的第二客户端处于城市X,且计分数据对应的服务器为服务器Y,则根据计分数据将得到与城市X和服务器Y的IP信息对应的新分数为:
其中,α为客户端数据的权重系数,β为服务器数据的权重系数,Nx(y)为在城市X中的客户端连接到服务器Y的记录数,Ny(x)为服务器Y连接到在城市X中的客户端的记录数,函数f(taverage[i])的结果为客户端的时间间隔t的平均值对应的计分,函数f'(taverage[i])的结果为服务器的时间间隔t的平均值对应的计分,函数的结果为客户端的消息发送成功率对应的计分,函数的结果为服务器记录的消息发送成功率对应的计分。需要说明的是,上述方案为说明本发明进行的举例,并不是本发明实施例的唯一实现方式,不应该理解为对本发明实施例的唯一性限定。
步骤S13:发送所述分数最高的服务器IP至所述第一客户端。
本实施例提供的一种服务器的选择方法,根据第二客户端与服务器上传的计分数据实时更新标识信息、服务器IP和分数的对应关系中的分数,并根据第一客户端发送的标识信息,匹配得到分数最高的服务器IP并发送至第一客户端。为客户端选择服务器进行连接提供了动态依据,第一客户端在登录或者切换服务器时,可以从接收到的分数最高的服务器IP中选择一个连接,实现了客户端及时选择最优的服务器进行连接,进而改善了用户体验。
本实施例提供一种更新对应关系中分数的方法,该方法仅依据第二客户端上传的计分数据进行更新,参见图2所示,该方法包括:
步骤S21:接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
第二客户端在预先设定的时间上传第一计分数据,例如,在第二客户端与服务器完成数据交互后的一个时间点上传第一计分数据。上传的第一计分数据可以是原始记录数据,也可以是计算后得到的结果数据,例如,可以是原始的时间间隔t、发送的消息数n和接收的ack数m;也可以是经过计算后得到的结果数据,时间间隔t的平均值taverage,消息发送成功率m/n。
步骤S22:根据所述第一计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第二客户端与服务器连接的分数,即对应了第二客户端的标识信息和服务器的IP信息。具体的分数计算公式为:
其中,Nx(y)为在城市X中的客户端连接到服务器Y的记录数,函数f(taverage[i])的结果为客户端的时间间隔t的平均值对应的计分,函数的结果为客户端的消息发送成功率对应的计分。需要说明的是,上述方案为说明本发明进行的举例,并不是本发明实施例的唯一实现方式,不应该理解为对本发明实施例的唯一性限定。
步骤S23:利用计算得到的分数,更新所述对应关系中相应的分数。
第二客户端上传的第一计分数据包括第二客户端的标识信息,以及与第二客户端连接的服务器的IP信息。在计算得到第二客户端和服务器连接的分数后,通过匹配第二客户端的标识信息和与第二客户端连接的服务器的IP信息,找到相应的分数对象进行更新。
本实施例提供一种更新对应关系中分数的方法,该方法仅依据服务器上传的计分数据进行更新,参见图3所示,该方法包括:
步骤S31:接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
第二客户端可以认为服务器是永久在线的,而服务器不能认为第二客户端是永久在线的。第二客户端不能做到实时通知服务器其是否已经离线,比如第二客户端突然断电等情况,因此,对于服务器不能简单的根据发送的消息数n和接收的ack数m来计算消息发送成功率。
服务器存在消息接收方(第二客户端)不再线的情况,因此,预设一个时间段,如果服务器发送消息后,在该时间段内未收到接收方PING(Packet Internet Groper,因特网包探索器),则认为接收方已经离线,将记录的发送的消息数n减1,即不认为发送失败。通过PING判断接收方是否已经离线,是本发明实施例提供的优选实时方案,但是需要说明的是该方案并不是本发明实施例的唯一实现方式,其仅是优选实现方式的举例,不应理解为对本发明实施例的唯一性限定。
步骤S32:根据所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
具体的分数计算公式为:
其中,Ny(x)为服务器Y连接到在城市X中的客户端的记录数,函数f'(taverage[i])的结果为服务器的时间间隔t的平均值对应的计分,函数的结果为服务器记录的消息发送成功率对应的计分。需要说明的是,上述方案为说明本发明进行的举例,并不是本发明实施例的唯一实现方式,不应该理解为对本发明实施例的唯一性限定。
步骤S33:利用计算得到的分数,更新所述对应关系中相应的分数。
服务器上传的第二计分数据包括其IP信息,以及与其连接的第二客户端的标识信息。在计算得到第二客户端和服务器连接的分数后,通过匹配第二客户端的标识信息,以及服务器的IP信息,找到相应的分数对象进行更新。
本实施例提供一种更新对应关系中分数的方法,该方法依据服务器上传的计分数据和第二客户端上传的计分数据进行更新,参见图4所示,该方法包括:
步骤S41:接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
执行步骤S41与执行步骤S21的过程一致。
步骤S42:接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
执行步骤S42与执行步骤S31的过程一致。
步骤S43:根据所述第一计分数据和所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
依据服务器和第二客户端双方上传的计分数据进行更新,需要设置第二客户端数据的权重系数α和服务器数据的权重系数β。具体的计算公式为:
步骤S44:利用计算得到的分数,更新所述对应关系中相应的分数。
第二客户端上传的第一计分数据包括第二客户端的标识信息,以及与第二客户端连接的服务器的IP信息。服务器上传的第二计分数据包括其IP信息。根据服务器的IP信息,将第二客户端和服务器上传的计分数据进行关联。并在计算得到第二客户端和服务器连接的分数后,通过匹配第二客户端的标识信息,以及服务器的IP信息,找到相应的分数对象进行更新。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
本实施例提供一种服务器的选择装置,参见图5所示,该装置包括:
接收单元11,用于接收第一客户端发送的标识信息,所述标识信息包括地理位置、网络运营商、连接方式和/操作系统;
匹配单元12,用于根据标识信息、服务器IP和分数的对应关系,匹配得到与接收的标识信息对应的分数最高的服务器IP,所述对应关系中的分数为根据第二客户端与服务器进行数据交互时记录的计分数据实时更新的;
发送单元13,用于发送所述分数最高的服务器IP至所述第一客户端。
本实施例提供的一种服务器的选择装置应用于一个计分服务器中,匹配单元12,根据第二客户端与服务器上传的计分数据实时更新标识信息、服务器IP和分数的对应关系中的分数,并根据第一客户端发送的标识信息,匹配得到分数最高的服务器IP并发送至第一客户端。为客户端选择服务器进行连接提供了动态依据,第一客户端在登录或者切换服务器时,可以从接收到的分数最高的服务器IP中选择一个连接,实现了客户端及时选择最优的服务器进行连接,进而改善了用户体验。
本实施例提供另一种服务器的选择装置,参见图6所示,该装置的匹配单元12,包括:
第一接收子单元121,用于接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
第一计算子单元122,用于根据所述第一计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第一更新子单元123,用于利用计算得到的分数,更新所述对应关系中相应的分数。
本实施例提供另一种服务器的选择装置,参见图7所示,该装置的匹配单元12,包括:
第二接收子单元124,用于接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
第二计算子单元125,用于根据所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第二更新子单元126,用于利用计算得到的分数,更新所述对应关系中相应的分数。
本实施例提供另一种服务器的选择装置,参见图8所示,该装置的匹配单元12,包括:
第一接收子单元121,用于接收第二客户端发送的第一计分数据,所述第一计分数据为所述第二客户端在其与服务器进行数据交互时记录的计分数据;
第二接收子单元124,用于接收服务器发送的第二计分数据,所述第二计分数据为所述服务器在其与第二客户端进行数据交互时记录的计分数据;
第三计算子单元127,用于根据所述第一计分数据和所述第二计分数据,计算得到所述第二客户端与所述服务器连接的分数;
第三更新子单元128,用于利用计算得到的分数,更新所述对应关系中相应的分数。
本发明实施例提供的服务器的选择方法和装置,应用于需要客户端连接服务器的服务,例如IM(instant message,即时通信)服务,下载源的选择等,用于改善用户体验。
对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对本发明所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。