专利名称:服务器访问方法、装置和系统的制作方法
技术领域:
本发明涉及计算机领域,尤其涉及一种服务器访问方法、装置和系统。
背景技术:
Internet的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的发展来 看,网络带宽的增长远高于处理器速度和内存访问速度的增长,针对高可伸缩、高可用网络 服务的需求,目前已经给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并 在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务 的虚拟服务器。虚拟服务器中的各服务器通过高速的局域网或者地理分布的广域网相互连 接,在它们的前端有一个负载均衡调度器(Load Balancer)。负载均衡调度器能无缝地将发 送至虚拟服务器的客户请求调度到各服务器上,从而使得服务器集群的结构对客户是透明 的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。目前, 较为普遍的负载均衡方法是在传输层完成对服务器的调度。在实现客户通过虚拟服务器访问服务器资源的过程中,存在如下问题由于在传输层仅依据IP地址和端口进行转发,这种转发是盲目的,且必须把后台 服务器内容设置成完全一致,浪费了服务器资源,系统工作效率低。
发明内容
本发明提供了一种服务器访问方法、装置和系统,解决了客户端通过四层负载均 衡访问服务器时资源浪费、效率低的问题。一种服务器访问方法,包括负载均衡调度器根据客户端发送的客户请求中的应用层用户信息,为所述客户端 选择目标服务器;所述负载均衡调度器指示所述客户端直接访问所述目标服务器。进一步的,所述负载均衡调度器指示所述客户端直接访问所述目标服务器包括所述负载均衡调度器根据所述客户请求中的应用层用户信息,生成HTTP重定向 指令,在所述HTTP重定向指令中携带所述目标服务器的地址;所述负载均衡调度器向所述客户端发送所述HTTP重定向指令,指示所述客户端 直接访问所述目标服务器。进一步的,所述负载均衡调度器根据客户端发送的客户请求中的应用层用户信 息,为所述客户端选择目标服务器包括所述负载均衡调度器根据所述应用层用户信息,获取提供相应业务的至少一个服 务器;从所述至少一个服务器中,选择负载较轻的服务器作为目标服务器。本发明还提供了一种服务器访问方法,包括客户端向负载均衡调度器发送客户请求,在所述客户请求中携带有所述客户端的
4应用层用户信息;所述客户端接收所述负载均衡调度器响应所述客户请求的HTTP重定向指令,在所述HTTP重定向指令中携带目标服务器的地址;所述客户端根据所述目标服务器的地址,向所述目标服务器发送客户请求。本发明还提供了一种负载均衡调度器,包括服务器选择模块,根据客户端发送的客户请求中的应用层用户信息,为所述客户端选择目标服务器; 指示模块,用于指示所述客户端直接访问所述目标服务器。进一步的,所述服务器选择模块包括范围确定单元,用于根据所述应用层用户信息,获取提供相应业务的至少一个服 务器;选择执行单元,用于从所述至少一个服务器中,选择负载较轻的服务器作为目标 服务器。进一步的,所述指示模块包括指令生成单元,用于根据所述客户请求中的应用层用户信息,生成HTTP重定向指 令,在所述HTTP重定向指令中携带所述目标服务器的地址;指令下发单元,用于向所述客户端发送所述HTTP重定向指令,指示所述客户端直 接访问所述目标服务器。本发明还提供了一种客户端,包括指令接收模块,用于接收HTTP重定向指令,在所述HTTP重定向指令中携带目标服 务器的地址;客户请求发送模块,用于向负载均衡调度器发送客户请求,在所述客户请求中携 带有所述客户端的应用层用户信息;或,在所述指令接收模块接收到HTTP重定向指令后,根据所述目标服务器的地址,向 所述目标服务器发送客户请求。本发明还提供了一种服务器访问系统,包括负载均衡调度器和客户端;所述负载均衡调度器,用于根据客户端发送的客户请求中的应用层用户信息,为 所述客户端选择目标服务器,并指示所述客户端直接访问所述目标服务器;所述客户端,用于向负载均衡调度器发送客户请求,在所述客户请求中携带有所 述客户端的应用层用户信息,接收所述负载均衡调度器发送的HTTP重定向指令,在所述 HTTP重定向指令中携带目标服务器的地址,并根据所述目标服务器的地址,向所述目标服 务器发送客户请求。本发明的实施例提供了一种服务器访问方法、装置和系统,在负载均衡调度器接 收到客户端发送的客户请求时,首先提取该客户请求中的用户信息,根据用户信息生成相 应的HTTP重定向指令,在该HTTP重定向指令中携带目标服务器的地址,然后向所述客户端 发送所述HTTP重定向指令,指示所述客户端直接访问所述目标服务器,客户端在接收到该 HTTP重定向指令后,就会根据其中的目标服务器的地址,对目标服务器进行访问,实现了对 客户请求的动态负载均衡,提高了服务器访问效率,解决了客户端通过四层负载均衡访问 服务器时服务器负载不均衡的问题。
图1为本发明的实施例提供的一种服务器访问方法的流程图;图2为图1中步骤102的具体流程图;图3为本发明的实施例提供的一种负载均衡调度器的结构示意图;图4为图3中服务器选择模块301的结构示意图;图5为图3中指示模块302的结构示意图;图6为本发明的实施例提供的一种客户端的结构示意图;图7为本发明的实施例提供的一种服务器访问系统的结构示意图。
具体实施例方式在通过四层负载均衡实现客户端对服务器的访问时,无法得知用户在应用层输入 的内容,故只能将处于同一负载均衡系统中的多个服务器的内容设置成完全一致,由负载 均衡调度器根据IP和端口对客户请求进行转发,系统灵活性差,浪费了服务器资源。为了解决上述问题,本发明的实施例提供了一种服务器访问方法,使用该方法完 成对服务器访问的流程如图1所示,包括步骤101、负载均衡调度器接收客户端发送的客户请求;本步骤中,客户端向负载均衡调度器发送客户请求,请求该负载均衡调度器所在 虚拟服务器中的业务。在该客户请求中,携带有应用层用户信息,用户信息包括客户请求内 容的关键字、文件后缀等。步骤102、负载均衡调度器根据客户请求,选择目标服务器;本步骤具体如图2所示,包括步骤1021、所述负载均衡调度器根据所述客户请求中的应用层用户信息,获取提 供相应业务的至少一个服务器;本步骤中,负载均衡调度器根据应用层用户信息,确定客户请求的业务类型,进而 确定能够提供该业务的至少一个服务器。步骤1022、从所述至少一个服务器中,选择负载较轻的服务器作为目标服务器;本步骤中,负载均衡调度器检测步骤1021获取的各服务器的负载状况,并选择负 载较轻的服务器作为目标服务器,为客户端提供业务。步骤103、负载均衡调度器生成并向所述客户端发送HTTP重定向指令,指示所述 客户端直接访问所述目标服务器;本步骤中,负载均衡调度器根据步骤102中确定的目标服务器,生成HTTP重定向指令,在该指令中携带目标服务器的地址,将该HTTP重定向指令发送给客户端。步骤104、客户端根据所述目标服务器的地址,向所述目标服务器发送客户请求;本步骤中,客户端接收所述HTTP重定向指令,根据其中携带的目标服务器的地 址,向目标服务器发送客户请求,并在此后需要使用该目标服务器提供的业务时,直接向该 目标服务器发出客户请求。此外,为了增强系统可靠性,可以为各服务器配备一台备份机,实现双机热备份。由于本发明实施例能够针对应用层的用户信息进行负载均衡,故可以将各服务器所承载的业务粒度细化,各服务器对客户请求的处理效率也得到了提升。 本发明的实施例还提供了一种负载均衡调度器,其结构如图3所示,包括服务器选择模块301,根据客户端发送的客户请求中的应用层用户信息,为所述客 户端选择目标服务器;指示模块302,用于指示所述客户端直接访问所述目标服务器。进一步的,所述服务器选择模块301的结构如图4所示,包括范围确定单元3011,用于根据所述应用层用户信息,获取提供相应业务的至少一 个服务器;选择执行单元3012,用于从所述至少一个服务器中,选择负载较轻的服务器作为 目标服务器。进一步的,所述指示模块302的结构如图5所示,包括指令生成单元3021,用于根据所述客户请求中的应用层用户信息,生成HTTP重定 向指令,在所述HTTP重定向指令中携带所述目标服务器的地址;指令下发单元3022,用于向所述客户端发送所述HTTP重定向指令,指示所述客户 端直接访问所述目标服务器。本发明的实施例还提供了一种客户端,其结构如图6所示,包括指令接收模块601,用于接收HTTP重定向指令,在所述HTTP重定向指令中携带目 标服务器的地址;客户请求发送模块602,用于向负载均衡调度器发送客户请求,在所述客户请求中 携带有所述客户端的应用层用户信息;或,在所述指令接收模块接收到HTTP重定向指令后,根据所述目标服务器的地址,向 所述目标服务器发送客户请求。本发明的实施例还提供了一种服务器访问系统,其结构如图7所示,包括负载均 衡调度器701和客户端702 ;所述负载均衡调度器701,用于根据客户端702发送的客户请求中的应用层用户 信息,为所述客户端720选择目标服务器,并指示所述客户端702直接访问所述目标服务 器; 所述客户端702,用于向负载均衡调度器701发送客户请求,在所述客户请求中携 带有所述客户端702的应用层用户信息,接收所述负载均衡调度器701发送的HTTP重定向 指令,在所述HTTP重定向指令中携带目标服务器的地址,并根据所述目标服务器的地址, 向所述目标服务器发送客户请求。上述负载均衡调度器、客户端和服务器访问系统,可以与本发明的实施例提供的 一种服务器访问方法相结合,在负载均衡调度器接收到客户端发送的客户请求时,首先提 取该客户请求中的用户信息,根据用户信息生成相应的HTTP重定向指令,在该HTTP重定向 指令中携带目标服务器的地址,然后向所述客户端发送所述HTTP重定向指令,指示所述客 户端直接访问所述目标服务器,客户端在接收到该HTTP重定向指令后,就会根据其中的目 标服务器的地址,对目标服务器进行访问,实现了对客户请求的动态负载均衡,提高了服务 器访问效率,解决了客户端通过四层负载均衡访问服务器时服务器负载不均衡的问题。本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。另外,在本发明各个实施例中的各功能单元可以采用硬件的形式实现,也可以采 用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
一种服务器访问方法,其特征在于,包括负载均衡调度器根据客户端发送的客户请求中的应用层用户信息,为所述客户端选择目标服务器;所述负载均衡调度器指示所述客户端直接访问所述目标服务器。
2.根据权利要求1所述的服务器访问方法,其特征在于,所述负载均衡调度器指示所 述客户端直接访问所述目标服务器包括所述负载均衡调度器根据所述客户请求中的应用层用户信息,生成HTTP重定向指令, 在所述HTTP重定向指令中携带所述目标服务器的地址;所述负载均衡调度器向所述客户端发送所述HTTP重定向指令,指示所述客户端直接 访问所述目标服务器。
3.根据权利要求1所述的负载均衡方法,其特征在于,所述负载均衡调度器根据客户 端发送的客户请求中的应用层用户信息,为所述客户端选择目标服务器包括所述负载均衡调度器根据所述应用层用户信息,获取提供相应业务的至少一个服务器;从所述至少一个服务器中,选择负载较轻的服务器作为目标服务器。
4.一种服务器访问方法,其特征在于,包括客户端向负载均衡调度器发送客户请求,在所述客户请求中携带有所述客户端的应用 层用户信息;所述客户端接收所述负载均衡调度器响应所述客户请求的HTTP重定向指令,在所述 HTTP重定向指令中携带目标服务器的地址;所述客户端根据所述目标服务器的地址,向所述目标服务器发送客户请求。
5.一种负载均衡调度器,其特征在于,包括服务器选择模块,根据客户端发送的客户请求中的应用层用户信息,为所述客户端选 择目标服务器;指示模块,用于指示所述客户端直接访问所述目标服务器。
6.根据权利要求5所述的负载均衡调度器,其特征在于,所述服务器选择模块包括 范围确定单元,用于根据所述应用层用户信息,获取提供相应业务的至少一个服务器;选择执行单元,用于从所述至少一个服务器中,选择负载较轻的服务器作为目标服务器。
7.根据权利要求5所述的负载均衡调度器,其特征在于,所述指示模块包括 指令生成单元,用于根据所述客户请求中的应用层用户信息,生成HTTP重定向指令,在所述HTTP重定向指令中携带所述目标服务器的地址;指令下发单元,用于向所述客户端发送所述HTTP重定向指令,指示所述客户端直接访 问所述目标服务器。
8.一种客户端,其特征在于,包括指令接收模块,用于接收HTTP重定向指令,在所述HTTP重定向指令中携带目标服务器 的地址;客户请求发送模块,用于向负载均衡调度器发送客户请求,在所述客户请求中携带有所述客户端的应用层用户信息;或,在所述指令接收模块接收到HTTP重定向指令后,根据所述目标服务器的地址,向所述 目标服务器发送客户请求。
9. 一种服务器访问系统,其特征在于,包括负载均衡调度器和客户端; 所述负载均衡调度器,用于根据客户端发送的客户请求中的应用层用户信息,为所述 客户端选择目标服务器,并指示所述客户端直接访问所述目标服务器;所述客户端,用于向负载均衡调度器发送客户请求,在所述客户请求中携带有所述客 户端的应用层用户信息,接收所述负载均衡调度器发送的HTTP重定向指令,在所述HTTP重 定向指令中携带目标服务器的地址,并根据所述目标服务器的地址,向所述目标服务器发 送客户请求。
全文摘要
本发明提供了一种服务器访问方法、装置和系统。涉及计算机领域;解决了客户端通过四层负载均衡访问服务器时资源浪费、效率低的问题。该方法包括负载均衡调度器根据客户端发送的客户请求中的应用层用户信息,为所述客户端选择目标服务器;所述负载均衡调度器指示所述客户端直接访问所述目标服务器。本发明提供的技术方案适用于网络四层的负载均衡。
文档编号H04L12/56GK101808118SQ20101011674
公开日2010年8月18日 申请日期2010年3月2日 优先权日2010年3月2日
发明者苑鸿剑 申请人:浪潮(北京)电子信息产业有限公司