负载分配方法和设备的制造方法_2

文档序号:9767880阅读:来源:国知局
在将多个客户端分配给不同操作单元的过程中,保证将特定客户端的、属于同一会话的请求分配给同一服务器,由此保持会话。
[0035]可选地,在上述负载分配方法100的步骤S150基于特定标识符将客户端分配给所有可用服务器中的特定服务器中,特定标识符可以是客户端的IP地址。在步骤S150中,可以基于IP地址中的任何信息来将客户端分配给特定服务器。例如,可以根据IP地址的最后一位来将客户端分配给特定服务器。可将IP地址的最后一位是偶数的客户端分配给服务器A,将IP地址的最后一位是奇数的客户端分配给服务器B。
[0036]可选地,在步骤S150中,基于IP地址的前三段将客户端分配给特定服务器。IP地址的前三段可以包括其中的前三个数字串和这三个数字串之间的符号“.”。或者,IP地址的前三段还可以包括前三个数字串之后的符号“.”。对于IP地址221.217.241.#*,其前三段可以是 “221.217.241” 或者 “221.217.241.”。
[0037]有些客户端,特别是一些运营商(例如中国联通)所服务的个人客户端,其IP地址可能不是一成不变的。特别是IP地址的第四段经常是变化的。IP地址的第四段可以包括其中的最后一个数字串。对于IP地址221.217.241.*#,其第四段是假设在一个情景中,将客户端分配给特定服务器时,考虑了 IP地址的第四段。如果在分配客户端时客户端的IP地址发生了变化,那么将导致将客户端分配到错误的服务器,造成会话中断。基于IP地址的前三段将客户端分配给特定服务器可以更大程度地保证将每个客户端分配给特定服务器,从而确保会话保持。
[0038]可选地,在步骤S150中基于IP地址的前三段将客户端分配给特定服务器具体包括步骤S151,步骤S152、步骤S153和步骤S154。
[0039]在步骤S151中,根据所有可用服务器的个数确定除数。首先,确定全部可用服务器的总个数。根据该总个数确定除数。例如,确定该总个数为除数。假设所有可用服务器总共是10个。那么确定除数为10。当然,总个数还可以大于或小于除数。
[0040]在步骤S152中,将IP地址的前三段进行编码,以获得编码值。通过该编码过程,获得一个与IP地址具有——映射关系的编码值。例如对于IP地址221.217.241.***,可以将其中前三段的数组成编码值221217241。
[0041]在步骤S153中,将编码值除以除数,以获得余数。也就是说对编码值进行取模运算。例如,将221217241除以10,获得余数为I。
[0042]在步骤S154中,基于余数确定特定服务器。具体地,在总个数为除数的示例中,可以根据余数I确定服务器中的第I个服务器为特定服务器。可以理解,如果余数为0,那么可以确定服务器中第1个服务器为特定服务器。
[0043]上述步骤S150的实现方式比较简单,且能够将每个客户端映射到一个唯一的特定服务器,从而保证会话不中断。
[0044]可选地,上述步骤S152将IP地址的前三段进行编码具体包括:根据IP地址的前三段中数字生成编码值,以表示该IP地址。
[0045]如上所述,在本发明一个示例中,直接将IP地址的前三段中的数字拼接在一起,形成一个数以作为编码值。例如,对于IP地址221.217.241.*#,该编码值可以是221217241。
[0046]在本发明另一个示例中,首先将IP地址的前三段中的数字拼接在一起,然后按照固定规则改变该经拼接的数中的数字,以获得编码值。具体包括以下步骤:I)将第5位数与第2位数调换位置;2)将第3位数加特定值,例如5。对于IP地址221217241,首先调换其中的第5位数与第2位数,获得数字221247211;然后将第3位数加5,由此获得编码值221247711。
[0047]可选地,在上述步骤S152将IP地址的前三段进行编码具体包括:对IP地址的前三段进行哈希运算,并确定所获得的哈希值为编码值。
[0048]哈希运算可以将任意长度的二进制值映射为较短的固定长度的二进制值,这个固定长度的二进制值称为哈希值。对于任意一个二进制值,其哈希值是一段数据唯一且极其紧凑的数值表示形式。所以,可以将IP地址的前三段的哈希运算结果作为编码值。可选地,哈希值可以是12至16位的二进制值。
[0049]哈希运算可以看作是一种加密运算。在步骤S152中执行对IP地址的前三段的哈希运算,可以使负载分配方法不易被黑客等不良人士破解。也就是说,其他人将不容易确定如何将客户端分配给特定服务器,避免了其对服务器系统的攻击,从而提高了系统的安全性。
[0050]可选地,上述负载分配方法100进一步包括对于每个可用服务器,根据处理能力为其赋予对应权重。其中,权重的大小与服务器的处理能力成正比。可用服务器的处理能力可以不同。比如有的服务器可能配置有较多核的处理器,有的配置有较少核的处理器,有的配置有较高主频的处理器,有的配置有较低主频的处理器。在这里,可以给处理能力强的服务器赋予较大权重,给处理能力弱的服务器赋予较小权重,以在负载分配时,将较多的客户端分配给处理能力强的服务器,将较少的客户端分配给处理能力弱的服务器。
[0051]在上述步骤S151中根据所有可用服务器的个数确定除数可以具体包括:根据每个可用服务器的对应权重并且根据所有可用服务器的个数确定除数。
[0052]在一个示例中,可用服务器的总个数为10个。其中第10个服务器的权重为2,其他服务器的权重均为I。可以将除数确定为11。在该示例中,除数大于总个数。当客户端的IP地址的编码值对11取模,余数为I至9时,将客户端分别分配给第I个服务器至第9个服务器。当客户端的IP地址的编码值对11取模,余数为10或者O时,将客户端分配给第10个服务器。
[0053]总之,给处理能力不同的服务器赋予不同的权重,使的处理能力强的服务器被分配更多的客户端,将使所有可用服务器物尽其用,避免计算资源浪费。
[0054]可选地,在负载分配方法100的步骤S150在基于特定标识符将客户端分配给所有可用服务器中的特定服务器之前,方法100进一步包括:基于服务器列表确定所有可用服务器。服务器集群中的服务器可能会发生故障,造成无法与客户端正常会话。所以,在负载分配之前,先确定一下可用服务器,能够保证服务器集群更好地与客户端会话。该确定操作可以基于服务器列表,该服务器列表中可以列出所有可用服务器的标识符。可以将服务器列表存储在服务器管理员上,从而在需要时,即可取用并基于服务器列表确定所有可用服务器。
[0055]可选地,在基于服务器列表确定所有可用服务器之前,方法100进一步包括步骤S101、步骤S102和步骤S103。在步骤SlOl中,向所有服务器发送消息。可以由服务器管理员向所有的服务器发送监测请求消息,以监测服务器当前能否正常工作。在步骤S102中,接收所述所有服务器的反馈消息。如有服务器已经故障,则其可能不能正确发出反馈消息。由此,将接收不到来自故障服务器的正确的反馈消息。在步骤S103中,根据所接收的反馈消息确定服务器列表。具体地,可以判断是否已经收到了来自每个服务器的反馈消息。然后,在所有反馈消息中,确定其中的正确的反馈消息所来自的服务器。最后,根据发送正确的反馈消息的服务器的标识符生成上
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1