一种服务器负载均衡的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,更具体的说,涉及服务器负载均衡的方法及装置。
【背景技术】
[0002]随着互联网的发展,越来越多的智能设备接入到网络中,对于给这些智能设备提供数据资源的服务器也变得越来越多,承受的流量压力也越来越大。
[0003]目前,为智能设备提供数据资源的服务器主要包括主服务器、缓存服务器和资源服务器。由于缓存服务器的响应速度非常快,所以主服务器优先在缓存服务器中获取需要的数据,如果缓存服务器中没有主服务器需要的数据,那么主服务器再从资源服务器中获取需要的数据,然后将该数据存储至缓存服务器中,并为该数据设置一个固定的过期时长。主服务器在后续查询数据的过程中,只要该数据在缓存服务器中存储的时间没有超过过期时长,那么主服务器便可以在缓存服务器中不断的获取该数据。
[0004]在主服务器和缓存服务器重新启动时,由于缓存服务器中的所有数据被清空,主服务器需要占用大量的系统资源进行计算和查询,以在资源服务器中重新获取数据,所以主服务器需要经历一次资源占用的高峰期。而且,由于存储在缓存服务器中的数据的过期时长是固定的,所以每隔一段时间缓存服务器就会在同一时间删除大量的过期的数据,此时,主服务器又需要占用大量的系统资源进行计算和查询,以在资源服务器中重新获取数据,所以主服务器会周期性的经历资源占用的高峰期。由于配置主服务器需要按照资源占用的高峰期来分配计算机的数量和配置,所以通常会将多台高配置的计算机作为主服务器。虽然主服务器会周期性的经历资源占用的高峰期,但是大多数时候,即大量未过期的数据被存储在缓存服务器中的时候,主服务器会处于空闲或较低负荷的状态,所以造成了主服务器硬件资源的浪费。
【发明内容】
[0005]为克服相关技术中存在的问题,本公开提供一种服务器负载均衡的方法及装置,在保证主服务器正常运行的情况下,提高主服务器硬件资源的利用率,降低主服务器的配置成本。
[0006]根据本公开实施例的第一方面,提供一种服务器负载均衡的方法,包括:
[0007]在接收到客户端发送的数据请求时,获取所述数据请求中的数据标识;
[0008]确定缓存服务器中存储的与所述数据标识对应的预设过期时间;
[0009]在所述当前时间晚于所述预设过期时间时,在资源服务器中获取与所述数据标识对应的目标数据信息;
[0010]按照预设策略在预设时间范围内选择一个目标过期时间;
[0011 ] 将所述数据标识分别与所述目标数据信息和所述目标过期时间的对应关系存储在所述缓存服务器中;
[0012]将所述目标数据信息发送给所述客户端。
[0013]可选的,在所述在资源服务器中获取与所述数据标识对应的目标数据信息之后,所述方法还包括:
[0014]删除所述缓存服务器中存储的分别与所述数据标识对应的历史数据信息和所述预设过期时间。
[0015]可选的,所述按照预设策略在预设时间范围内选择一个目标过期时间步骤包括:
[0016]在所述预设时间范围内随机的选择一个所述目标过期时间。
[0017]可选的,所述按照预设策略在预设时间范围内选择一个目标过期时间步骤包括:
[0018]在所述预设时间范围内按照预设顺序选择一个所述目标过期时间。
[0019]可选的,在所述确定缓存服务器中存储的与所述数据标识对应的预设过期时间之后,所述方法还包括:
[0020]判断所述当前时间是否晚于所述预设过期时间;
[0021]在所述当前时间晚于所述预设过期时间时,执行所述在资源服务器中获取与所述数据标识对应的目标数据信息的步骤;
[0022]在所述当前时间早于或等于所述预设过期时间时,将所述缓存服务器中存储的与所述数据标识对应的历史数据信息发送给所述客户端。
[0023]根据本公开实施例的第二方面,提供一种服务器负载均衡的装置,包括:
[0024]第一获取模块,用于在接收到客户端发送的数据请求时,获取所述数据请求中的数据标识;
[0025]确定模块,用于确定缓存服务器中存储的与所述数据标识对应的预设过期时间;
[0026]第二获取模块,用于在所述当前时间晚于所述预设过期时间时,在资源服务器中获取与所述数据标识对应的目标数据信息;
[0027]选择模块,用于按照预设策略在预设时间范围内选择一个目标过期时间;
[0028]存储模块,用于将所述数据标识分别与所述目标数据信息和所述目标过期时间的对应关系存储在所述缓存服务器中;
[0029]发送模块,用于将所述目标数据信息发送给所述客户端。
[0030]可选的,所述装置还包括:
[0031]删除模块,用于删除所述缓存服务器中存储的分别与所述数据标识对应的历史数据信息和所述预设过期时间。
[0032]可选的,所述选择模块包括:
[0033]第一选择子模块,用于在所述预设时间范围内随机的选择一个所述目标过期时间。
[0034]可选的,所述选择模块包括:
[0035]第二选择子模块,用于在所述预设时间范围内按照预设顺序选择一个所述目标过期时间。
[0036]可选的,所述装置还包括:
[0037]判断模块,用于判断所述当前时间是否晚于所述预设过期时间;
[0038]第一执行模块,用于在所述当前时间晚于所述预设过期时间时,执行所述第二获取丰吴块;
[0039]第二执行模块,用于在所述当前时间早于或等于所述预设过期时间时,将所述缓存服务器中存储的与所述数据标识对应的历史数据信息发送给所述客户端。
[0040]根据本公开实施例的第三方面,提供一种服务器负载均衡的装置,包括:
[0041]处理器;
[0042]用于存储处理器可执行指令的存储器;
[0043]其中,所述处理器被配置为:
[0044]在接收到客户端发送的数据请求时,获取所述数据请求中的数据标识;
[0045]确定缓存服务器中存储的与所述数据标识对应的预设过期时间;
[0046]在所述当前时间晚于所述预设过期时间时,在资源服务器中获取与所述数据标识对应的目标数据信息;
[0047]按照预设策略在预设时间范围内选择一个目标过期时间;
[0048]将所述数据标识分别与所述目标数据信息和所述目标过期时间的对应关系存储在所述缓存服务器中;
[0049]将所述目标数据信息发送给所述客户端。
[0050]本公开的实施例提供的技术方案可以包括以下有益效果:由于目标过期时间是按照预设策略在预设时间范围内选择出来的,所以即使在同一时间接收到大量且不同的数据请求,那么这些数据请求中的数据标识在缓冲服务器中对应的预设过期时间也不会相同,从而就不会出现缓存服务器中大量的历史数据信息同时过期的情况,进而避免了在同一时间需要在资源服务器中获取大量目标数据信息的情况出现,所以不需要主服务器提供大量的硬件资源。因此,本公开在保证主服务器正常运行的情况下,可以提高主服务器硬件资源的利用率,降低主服务器的配置成本。
[0051]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0052]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0053]图1是根据一示例性实施例示出的一种服务器负载均衡的方法的流程图。
[0054]图2是根据一示例性实施例示出客户端、主服务器、缓存服务器和资源服务器之间的示意图。
[0055]图3是根据一示例性实施例示出的另一种服务器负载均衡的方法的流程图。
[0056]图4是根据一示例性实施例示出的又一种服务器负载均衡的方法的流程图。
[0057]图5是根据一示例性实施例示出的又一种服务器负载均衡的方法的流程图。
[0058]图6是根据一示例性实施例示出的又一种服务器负载均衡的方法的流程图。
[0059]图7是根据一示例性实施例示出的一种服务器负载均衡的装置的示意图。
[0060]图8是根据一示例性实施例示出的另一种服务器负载均衡的装置的示意图。
[0061]图9是根据一示例性实施例示出的又一种服务器负载均衡的装置的示意图。
[0062]图10是根据一示例性实施例示出的一种服务器负载均衡的装置的框图。
【具体实施方式】
[0063]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0064]图1是根据一示例性实施例示出