本发明涉及计算机传输领域,特别是涉及服务端节点的调度方法、调度装置和服务端。
背景技术:
1、在计算机网络中,客户端通过发起请求访问服务端的数据。如图1所示,服务端通常包括多个服务器,每个服务器上设有多个服务端节点,客户端通过其中一服务端节点与服务端进行信息交互。由于众多客户端和众多服务端节点之间的信息交互繁杂,因此服务端上设有调度装置来为客户端分配服务端节点。调度装置通过负载均衡算法进行服务端节点的分配。
2、现有的负载均衡算法包括:轮询策略,即按照顺序依次将客户端请求分配给每个服务端节点,循环往复;加权轮询策略,即给每个服务端节点分配一个权重,以权重比例分配与客户端请求的连接;ip哈希策略,即根据客户端请求的ip地址进行哈希计算,将相同ip的请求分配给同一个服务端节点。此外,每个服务端节点对客户端的请求的响应时间并不相同,服务端节点与客户端连接进行数据交互的数量以及交互内容均会影响该服务端节点的响应时间。为了能够最快速的响应客户端,负载均衡算法还包括一种最短响应时间策略,以挑选出最短响应时间的服务端节点分配给该客户端连接。
3、最短响应时间策略的理想处理逻辑为,当一客户端发送请求时,即时对服务端节点遍历计算出当前请求的最短响应时间。但是,在实际情况中,由于客户端众多,在某一时间段服务端节点接收的请求是数以万计的;以及,由于该服务端节点同时还在与部分客户端连接进行数据交互,这些都对该服务端节点计算出当前请求的最短响应时间造成大量冗余计算,不仅消耗大量的资源,还会影响其结果的准确性。因此,目前是通过使用服务端节点的平均响应时间来表征最短响应时间。平均响应时间的计算公式为:
4、
5、其中,总响应耗时为服务端节点在一时间段内连接各客户端后,处理各客户端数据并将数据返回至客户端的时间差的总和。请求总次数为服务端节点一时间段内连接各客户端的总次数。
6、此外,服务端节点出现故障是时有发生的情况。在上述负载均衡算法的各策略中,轮询策略、加权轮询策略、ip哈希策略均无法识别服务端节点是否存在故障,如果某个服务端节点出现故障,上述三种策略依旧会将客户端请求分配给故障的服务端节点,导致请求处理异常或者响应速度慢。而对于最短响应时间策略,根据其平均响应时间的计算公式,由于故障的服务端节点响应时间较长而导致其总响应耗时过长,因此最短响应时间策略不会将客户端的请求分配给故障的服务端节点。但是,故障的服务端节点不会一直保持故障状态,有可能故障一段时间后又恢复正常。当故障的服务端节点恢复正常时,由于其计算的总响应耗时包括了故障时段的响应耗时,从而极大提高了其平均响应时间,进而导致无法正确识别故障解除情况。即,此时使用平均响应时间的计算方式表征最短响应时间策略并不会将客户端请求分配至恢复正常的服务端节点,导致服务端节点处于闲置状态,从而造成计算机资源的浪费。
技术实现思路
1、基于此,本发明的目的在于,提供一种带有重置机制的服务端节点调度方法,以解决正常服务端节点处于闲置状态的情况。
2、s1:重置各服务端节点;
3、s2:计算各服务端节点的第一响应时间;
4、s3:选取最短第一响应时间的服务端节点,使该服务端节点与客户端建立连接;
5、s4:计算各服务端节点的平均响应时间;
6、s5:选取最短平均响应时间的服务端节点,使该服务端节点与客户端建立连接;
7、s6:判断是否直到达到预设值,是则执行步骤s1,否则执行步骤s4。
8、本发明所述服务端节点调度方法,通过预设一个重置时段,使服务端节点响应耗时不受节点较早之前异常响应耗时影响,从而选择出真正的最短响应时间服务端节点分配客户端的请求。
9、进一步地,所述重置操作为通过遍历所有服务端节点,删除节点的总响应耗时和请求总次数。
10、其中,通过预设一重置时段,使计算最短响应时间保持一定的实时性,保证每个新的重置时段都能计算出最准确的最短响应时间。
11、在一个实施例中,所述第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差。
12、通过该计算方式为客户端与服务端节点建立连接的时延,以确定客户端与服务端节点建立的时延为第一响应时间可以使客户端得到最快响应的服务端节点作为第一选择,同时减少调度装置的计算开销。其中,通过以上述方式进行第一次选择最短响应时间,可以最快地分配一个服务端节点处理客户端的请求。
13、在一个实施例中,第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差,以及再次客户端发送数据后,服务端节点处理数据并返回数据时间差的总和。第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差,以及再次客户端发送数据后,服务端节点处理数据并返回数据时间差的总和。
14、其中,通过该计算方式为取客户端与服务端节点建立连接的时延,以及服务端节点处理数据并返回客户端的时延总和,通过该方式可以使客户端保证与相对最优性能以及最快响应的服务端节点作为第一选择。
15、进一步地,所述预设值为一时间段,通过预设时间倒计时,当计时结束则执行步骤s1的重置操作,执行重置后,该时间段重新开始计时。
16、进一步地,所述预设值为一数值,判断所有服务端节点的连接总次数,是否达到预设值,是则执行步骤s1的执行操作。
17、其中,通过预设一数值,判断所有服务端节点的连接总次数可以较为动态的进行重置操作,降低所述调度装置的计算开销。
18、一种调度装置,包括重置模块、第一计算模块、第一选取模块、第二计算模块、第二选取模块和判断模块;
19、所述重置模块用于重置各服务端节点;
20、所述第一计算模块用于计算各服务端节点的第一响应时间;
21、所述第一选取模块用于选取最短第一响应时间的服务端节点,使该服务端节点与客户端建立连接;
22、所述第二计算模块用于计算各服务端节点的平均响应时间;
23、所述第二选取模块用于选取最短平均响应时间的服务端节点,使该服务端节点与客户端建立连接;
24、所述判断模块用于判断是否直到达到预设值,是则通过所述重置模块执行重置操作,否则通过所述第二计算模块继续计算各服务端的平均响应时间。
25、一种服务端,包括多个服务器和一调度装置,所述服务器设有多个服务端节点,其服务端节点用于处理返回客户端的请求,所述调度装置用于上述所述的方法。
26、为了更好地理解和实施,下面结合附图详细说明本发明。
1.一种服务端节点的调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述重置操作为通过遍历所有服务端节点,删除服务端节点的总响应耗时和请求总次数。
3.根据权利要求2所述的方法,其特征在于,所述第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差。
4.根据权利要求2所述的方法,其特征在于,第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差,以及客户端再次发送数据后,服务端节点处理数据并返回数据时间差的总和。
5.根据权利要求2所述的方法,其特征在于,所述预设值为一时间段,通过预设时间倒计时,当计时结束则执行步骤s1的重置操作,执行重置后,该时间段重新开始计时。
6.根据权利要求2所述的方法,其特征在于,所述预设值为一数值,判断所有服务端节点的连接总次数,是否达到预设值,是则执行步骤s1。
7.一种调度装置,其特征在于,包括重置模块、第一计算模块、第一选取模块、第二计算模块、第二选取模块和判断模块;
8.根据权利要求7所述的一种装置,其特征在于,所述第一选取模块的第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差;或,所述第一选取模块的第一响应时间为各服务端节点处理客户端请求,并返回请求需要的时间差,以及再次客户端发送数据后,服务端节点处理数据并返回数据时间差的总和。
9.根据权利要求8所述的一种装置,其特征在于,所述预设值为一时间段,通过预设时间倒计时,当计时结束所述重置模块执行重置操作,执行重置后,该时间段重新开始计时;或,所述预设值为一数值,判断所有服务端节点的连接总次数,是否达到预设值,是则通过所述重置模块执行重置操作。
10.一种服务端,其特征在于,包括多个服务器和一调度装置,所述服务器设有多个服务端节点,其服务端节点用于处理返回客户端的请求,所述调度装置用于执行权利要求1-6任一项所述的方法。