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.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的服务器连接方法的步骤。
7.一种服务器连接终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:获取终端设备的身份标识;
使用预设的第一哈希函数对所述身份标识进行哈希运算,得到所述终端设备的哈希值;
将所述终端设备的哈希值映射至哈希环的第一节点,所述哈希环为由所述第一哈希函数的所有函数值按照从小到大的顺序顺时针或者逆时针依次连接所构成的圆环,每个节点均为构成所述哈希环的一个函数值,所述第一节点为所述哈希环上的任意一个节点;
获取所述哈希环上的各个基准节点,其中,每个基准节点均为所述哈希环上与一个服务器对应的节点;
从所述第一节点开始顺时针或者逆时针查找所述基准节点,并将查找到的第一个基准节点所对应的服务器确定为优选服务器;
建立所述终端设备与所述优选服务器之间的通信连接。
8.根据权利要求7所述的服务器连接终端设备,其特征在于,所述基准节点的设置过程包括:获取各个服务器的身份标识;
根据下式计算各个服务器的扩展身份标识:
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个扩展身份标识;
使用预设的第二哈希函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值,所述第二哈希函数的值域与所述第一哈希函数的值域一致;
将各个服务器的哈希值映射至所述哈希环上,得到各个所述基准节点。
9.根据权利要求7所述的服务器连接终端设备,其特征在于,所述第二哈希函数的设置过程包括:从预设的哈希函数集合中任意选取一个哈希函数作为候选函数,所述哈希函数集合包括一个以上的哈希函数;
使用所述候选函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值;
根据下式构造哈希值序列:
HashArrayT=(hashvt1,hashvt2,......,hashvttn,......,hashvtTN)其中,1≤tn≤TN,TN为各个服务器的哈希值的总数,且 hashvttn∈HashValueSetT,且hashvttn≤hashvttn+1,HashValueSetT为由各个服务器的哈希值组成的集合;
根据下式计算所述候选函数的均匀度:
其中,HashMax为所述候选函数的最大函数值,EvenDeg为所述候选函数的均匀度;
若所述候选函数的均匀度大于预设的均匀度阈值,则将所述候选函数从所述哈希函数集合中删除,然后返回执行所述从预设的哈希函数集合中任意选取一个哈希函数作为候选函数的步骤;
若所述候选函数的均匀度小于或等于预设的均匀度阈值,则将所述候选函数确定为第二哈希函数。
10.根据权利要求7所述的服务器连接终端设备,其特征在于,所述第二哈希函数的设置过程包括:从预设的哈希函数集合中任意选取一个哈希函数作为候选函数,所述哈希函数集合包括一个以上的哈希函数;
使用所述候选函数分别对各个服务器的扩展身份标识进行哈希运算,得到各个服务器的哈希值;
根据下式构造各个哈希值序列:
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为所述候选函数的均匀度;
若所述候选函数的均匀度大于预设的均匀度阈值,则将所述候选函数从所述哈希函数集合中删除,然后返回执行所述从预设的哈希函数集合中任意选取一个哈希函数作为候选函数的步骤;
若所述候选函数的均匀度小于或等于预设的均匀度阈值,则将所述候选函数确定为第二哈希函数。