【技术实现步骤摘要】
一种服务器连接方法、计算机可读存储介质及终端设备
本专利技术属于计算机
,尤其涉及一种服务器连接方法、计算机可读存储介质及终端设备。
技术介绍
消息推送的基础需要保持用户的终端设备与服务器建立的长连接。随着用户的终端设备数量不断增加,长连接服务器也需要随时横向扩容。目前建立长连接的方式是由用户的终端设备随机请求某台服务器来保持长连接。这种情况下,推送消息时就需要将消息分发给每一台服务器,由保持长连接的那一台服务器推送至用户的终端设备,不仅造成服务器资源的浪费,也增大消息重发的几率。
技术实现思路
有鉴于此,本专利技术实施例提供了一种服务器连接方法、计算机可读存储介质及终端设备,以解决由用户的终端设备随机请求某台服务器来保持长连接所造成的服务器资源浪费以及消息重发几率增大的问题。本专利技术实施例的第一方面提供了一种服务器连接方法,可以包括:获取终端设备的身份标识;使用预设的第一哈希函数对所述身份标识进行哈希运算,得到所述终端设备的哈希值;将所述终端设备的哈希值映射至哈希环的第一节点,所述哈希环为由所述第一哈希函数的所有函数值按照从小到大的顺序顺时针或者逆时针依次连接所构成的圆环,每个节点均为构成所述哈希环的一个函数值,所述第一节点为所述哈希环上的任意一个节点;获取所述哈希环上的各个基准节点,其中,每个基准节点均为所述哈希环上与一个服务器对应的节点;从所述第一节点开始顺时针或者逆时针查找所述基准节点,并将查找到的第一个基准节点所对应的服务器确定为优选服务器;建立所述终端设备与所述优选服务器之间的通信连接。本专利技术实施例的第二方面提供了一种计算机可读存储介质 ...
【技术保护点】
1.一种服务器连接方法,其特征在于,包括:获取终端设备的身份标识;使用预设的第一哈希函数对所述身份标识进行哈希运算,得到所述终端设备的哈希值;将所述终端设备的哈希值映射至哈希环的第一节点,所述哈希环为由所述第一哈希函数的所有函数值按照从小到大的顺序顺时针或者逆时针依次连接所构成的圆环,每个节点均为构成所述哈希环的一个函数值,所述第一节点为所述哈希环上的任意一个节点;获取所述哈希环上的各个基准节点,其中,每个基准节点均为所述哈希环上与一个服务器对应的节点;从所述第一节点开始顺时针或者逆时针查找所述基准节点,并将查找到的第一个基准节点所对应的服务器确定为优选服务器;建立所述终端设备与所述优选服务器之间的通信连接。
【技术特征摘要】
1.一种服务器连接方法,其特征在于,包括:获取终端设备的身份标识;使用预设的第一哈希函数对所述身份标识进行哈希运算,得到所述终端设备的哈希值;将所述终端设备的哈希值映射至哈希环的第一节点,所述哈希环为由所述第一哈希函数的所有函数值按照从小到大的顺序顺时针或者逆时针依次连接所构成的圆环,每个节点均为构成所述哈希环的一个函数值,所述第一节点为所述哈希环上的任意一个节点;获取所述哈希环上的各个基准节点,其中,每个基准节点均为所述哈希环上与一个服务器对应的节点;从所述第一节点开始顺时针或者逆时针查找所述基准节点,并将查找到的第一个基准节点所对应的服务器确定为优选服务器;建立所述终端设备与所述优选服务器之间的通信连接。2.根据权利要求1所述的服务器连接方法,其特征在于,所述基准节点的设置过程包括:获取各个服务器的身份标识;使用预设的第二哈希函数分别对各个服务器的身份标识进行哈希运算,得到各个服务器的哈希值,所述第二哈希函数的值域与所述第一哈希函数的值域一致;将各个服务器的哈希值映射至所述哈希环上,得到各个所述基准节点。3.根据权利要求1所述的服务器连接方法,其特征在于,所述基准节点的设置过程包括:获取各个服务器的身份标识;根据下式计算各个服务器的扩展身份标识:Ext_ServerIDm,n=ExtFunc(ServerIDm,n)其中,m为服务器的序号,1≤m≤M,M为服务器的总数,ServerIDm为第m个服务器的身份标识,n为扩展身份标识的序号,1≤n≤Nm,Nm为第m个服务器的扩展身份标识的总数,Nm与第m个服务器的中央处理器的主频正相关,且与第m个服务器的内存容量正相关,ExtFunc为预设的函数,Ext_ServerIDm,n为第m个服务器的第n个扩展身份标识;使用预设的第二哈希函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值,所述第二哈希函数的值域与所述第一哈希函数的值域一致;将各个服务器的哈希值映射至所述哈希环上,得到各个所述基准节点。4.根据权利要求3所述的服务器连接方法,其特征在于,所述第二哈希函数的设置过程包括:从预设的哈希函数集合中任意选取一个哈希函数作为候选函数,所述哈希函数集合包括一个以上的哈希函数;使用所述候选函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值;根据下式构造哈希值序列:HashArrayT=(hashvt1,hashvt2,......,hashvttn,......,hashvtTN)其中,1≤tn≤TN,TN为各个服务器的哈希值的总数,且hashvttn∈HashValueSetT,且hashvttn≤hashvttn+1,HashValueSetT为由各个服务器的哈希值组成的集合;根据下式计算所述候选函数的均匀度:其中,HashMax为所述候选函数的最大函数值,EvenDeg为所述候选函数的均匀度;若所述候选函数的均匀度大于预设的均匀度阈值,则将所述候选函数从所述哈希函数集合中删除,然后返回执行所述从预设的哈希函数集合中任意选取一个哈希函数作为候选函数的步骤;若所述候选函数的均匀度小于或等于预设的均匀度阈值,则将所述候选函数确定为第二哈希函数。5.根据权利要求3所述的服务器连接方法,其特征在于,所述第二哈希函数的设置过程包括:从预设的哈希函数集合中任意选取一个哈希函数作为候选函数,所述哈希函数集合包括一个以上的哈希函数;使用所述候选函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值;根据下式构造各个哈希值序列:HashArrayT=(hashvt1,hashvt2,......,hashvttn,......,hashvtTN)其中,1≤tn≤TN,TN为各个服务器的哈希值的总数,且hashvttn∈HashValueSetT,且hashvttn≤hashvttn+1,HashValueSetT为由各个服务器的哈希值组成的集合,hashvm,n∈HashValueSetm,且hashvm,n≤hashvm,n+1,HashValueSetm为由第m个服务器的哈希值组成的集合;根据下式计算所述候选函数的均匀度:其中,HashMax为所述候选函数的最大函数值,η为预设的比例系数,EvenDeg为所述候选函数的均匀度;若所述候选函数的均匀度大于预设的均匀度阈值,则将所述候选函数从所述哈希函数集合中删除,然后返回执行所述从预设的哈希函数集合中任意选取一个哈希函数作为候选函数的步骤;若所述候选函数的均匀度小于或等于预设的均匀度阈值,则将所述候选函数确定为第二哈希函数。6...
【专利技术属性】
技术研发人员:王丽,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。