缓存预存储的方法及装置的制造方法
【技术领域】
[0001]本公开涉及计算机领域,尤其涉及缓存预存储的方法及装置。
【背景技术】
[0002]相关技术中,网络服务器对客户端或者第三方提供服务时,均需要用到缓存。因为通过缓存获取数据相对于通过数据库获取数据较快,从而可以使服务器更快地处理用户请求。
【发明内容】
[0003]为克服相关技术中存在的问题,本公开提供一种缓存预存储的方法及装置。用以对新上线服务器或升级后的服务器,减小初始请求量过大对服务器的冲击。
[0004]根据本公开实施例的第一方面,提供一种缓存预存储的方法,包括:接收客户端发送的用户请求;获得第一服务器的负荷信息;其中,所述第一服务器用于处理新业务;当所述第一服务器的负荷信息小于预设第一负荷阈值时,向所述第一服务器发送所述用户请求,指示所述第一服务器获取并缓存所述用户请求所请求的数据信息。
[0005]本公开的实施例提供的技术方案可以包括以下有益效果:通过向用于新业务的第一服务器分配少量用户请求,使第一服务器在初始运行后,完成对新业务数据信息的缓存,减小初始请求量过大对第一服务器的冲击,并可以减少维护的技术人员,降低维护成本。
[0006]所述方法还包括:当所述第一服务器的负荷信息处于预设第三负荷阈值与预设第一负荷阈值之间的时长大于预设时长阈值时,将所述预设第一负荷阈值增大到预设第二负荷阈值;所述预设第三负荷阈值小于预设第一负荷阈值。
[0007]本公开的实施例提供的技术方案可以包括以下有益效果:当第一服务器的负荷减少并趋于平衡时,逐步增加分配给第一服务器的用户请求的数量,在保证第一服务器正常运行的情况下,增加了第一服务器的处理量,在完成服务器的预存储的同时,提高第一服务器的处理能力。
[0008]所述方法还包括:当所述第一服务器的负荷信息大于或等于预设第一负荷阈值时,向第二服务器发送所述用户请求,指示所述第二服务器获取并缓存所述用户请求所请求的数据信息。
[0009]本公开的实施例提供的技术方案可以包括以下有益效果:当分配给第一服务器的用户请求数量增大到第一负荷阈值时,向第二服务器发送用户请求,实现了第一服务器与第二服务器同时处理用户请求,在第一服务器只处理少量的用户请求时,使剩余部分用户请求可以得到正常处理。其中,第二服务器用于处理旧业务或升级前的业务。
[0010]所述方法还包括:向所述第二服务器发送升级文件,将第二服务器作为第一服务器,用于处理所述新业务。
[0011]本公开的实施例提供的技术方案可以包括以下有益效果:逐步升级第二服务器,使第二服务器作为第一服务器,处理新业务。逐步升级部分服务器,并向升级后的服务器分配少量用户请求对服务器的缓存进行预存储,减少了大量用户请求对处理新业务的服务器产生冲击。
[0012]所述方法还包括:接收所述第一服务器发送的针对所述用户请求的处理结果;向发送所述用户请求的客户端发送所述处理结果。
[0013]本公开的实施例提供的技术方案可以包括以下有益效果:实现了当服务器处理新业务后,仍可以向客户端正常反馈处理结果的目的。
[0014]根据本公开实施例的第二方面,提供一种缓存预存储的装置,包括:第一接收模块,用于接收客户端发送的用户请求;获得模块,用于获得第一服务器的负荷信息;其中,所述第一服务器用于处理新业务;第一发送模块,用于当所述第一服务器的负荷信息小于预设第一负荷阈值时,向所述第一服务器发送所述用户请求,指示所述第一服务器获取并缓存所述用户请求所请求的数据信息。
[0015]所述装置还包括:增长模块,用于当所述第一服务器的负荷信息处于预设第三负荷阈值与预设第一负荷阈值之间的时长大于预设时长阈值时,将所述预设第一负荷阈值增大到预设第二负荷阈值;所述预设第三负荷阈值小于预设第一负荷阈值。
[0016]所述装置还包括:第二发送模块,用于当所述第一服务器的负荷信息大于或等于预设第一负荷阈值时,向第二服务器发送所述用户请求,指示所述第二服务器获取并缓存所述用户请求所请求的数据信息。
[0017]所述装置还包括:第三发送模块,用于向所述第二服务器发送升级文件,将第二服务器作为第一服务器,用于处理所述新业务。
[0018]所述装置还包括:第二接收模块,用于接收所述第一服务器发送的针对所述用户请求的处理结果;第四发送模块,用于向发送所述用户请求的客户端发送所述处理结果。
[0019]根据本公开实施例的第三方面,提供一种缓存预存储的装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:接收客户端发送的用户请求;获得第一服务器的负荷信息;其中,所述第一服务器用于处理新业务;当所述第一服务器的负荷信息小于预设第一负荷阈值时,向所述第一服务器发送所述用户请求,指示所述第一服务器获取并缓存所述用户请求所请求的数据信息。
[0020]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0022]图1是根据一示例性实施例示出的一种缓存预存储的方法的流程图。
[0023]图2是根据一示例性实施例示出的一种缓存预存储的方法的详细流程图。
[0024]图3是根据一示例性实施例示出的一种缓存预存储的方法的详细流程图。
[0025]图4是根据一示例性实施例示出的一种缓存预存储的装置的框图。
[0026]图5是根据一示例性实施例示出的一种缓存预存储的装置的详细框图。
[0027]图6是根据一示例性实施例示出的一种缓存预存储的装置的详细框图。
[0028]图7是根据一示例性实施例示出的一种缓存预存储的装置的详细框图。
[0029]图8是根据一示例性实施例示出的一种缓存预存储的装置的详细框图。
[0030]图9是根据一示例性实施例示出的一种缓存预存储的装置的框图。
【具体实施方式】
[0031]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0032]网络服务器对客户端或者第三方提供服务时,均需要用到缓存,通过缓存可以减少对速度比较慢的数据库的请求,从而使用户得到更快的响应。缓存内存储的数据通常是根据用户请求从数据库中获得的。而新上线的服务器或升级后的服务器并未处理过用户请求,因此服务器并未从数据库中获得并缓存数据信息,当有服务器处理用户请求时,服务器发送给用户的数据都是从数据库中获取的,由于服务器直接从数据库获取数据时响应时间长,占用资源大,因此,当存在大量用户请求时,增大服务器负载,容易使服务器崩溃。因此,服务器上线后或升级后需要对服务器中的缓存进行预存储,即在服务器的缓存中预存储用于新业务的数据。
[0033]可能的做法有主动缓存,主动缓存是指服务器中缓存的数据是由技术人员主动去生成的;被动预存储是把用户的每次请求都作为缓存数据,并对每个缓存数据设定过期时间,如果过期时间内又有相同的请求,则刷新过期时间。但是主动缓存的方式往往成本比较高,因为技术人员并不知道哪些数据需要缓存,因此需要建立比较复杂的预测模型。
[0034]处理新业务的服务器在初始时,接收到的用户请求流量就比较大,如果直接将所有用户请求直接发送给没有缓存数据的服务器,会瞬间对服务器产生冲击,所以通常会在这个时候对用户请求的流量进行限制,丢弃一部分用户请求,不利于服务器处理用户请求。
[0035]为解决上述问题,本公开实施例针对用户基数比较大的新上线的服务器或升级后的服务器,通过向用于新业务的第一服务器分配少量用户请求,而将其他大量的用户请求分配给用于老业务的其他服务器,使第一服务器在初始运行后,完成对新业务数据信息的缓存,减少了初始请求量过大对第一服务器造成冲击,并可以减少维护的技术人员,降低维护成本。
[0036]图1是根据一示例性实施例示出的一种缓存预存储的方法的流程图,如图1所示,缓存预存储的方法用于服务器中,包括以下步骤。
[0037]在步骤101中,接收客户端发送的用户请求。
[0038]在步骤102中,获得第一服务器的负荷信息;其中,第一服务器用于处理新业务。第一服务器可以是新上线的服务器也可以是对已运行服务器进行功能升级后的服务器。
[0039]在步骤103中,当第一服务器的负荷信息小于预设第一负荷阈值时,向第一服务器发送用户请求,指示第一服务器获取并缓存用户请求所请求的数据信息。
[0040]本公开实施例提供了一种缓存预存储的方法。用于用户基数比较大的新上线的服务器或升级后的服务器。在服务器初始运行时,由于需要处理大量的用户请求,如果将用户请求全部直接发送给用于新业务的服务器,则需要服务器从数据库中获得大量数据信息,而服务器从数据库中获取数据信息的速度比较慢,从数据库中获得大量数据信息会使服务器超负荷运行。因此,直接向用于新业务的服务器发送大量的用户请求会给服务器造成冲击。对于新上线服务器或升级后的服务器,为减少大量用户请求