多客户端互动的负载均衡方法及系统技术方案

技术编号:2880899 阅读:207 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多客户端互动的负载均衡方法及系统,通过多个客户端、一台前置机和多个逻辑运算服务器以及它们之间的连接实现,其中系统负载被分配到多个逻辑运算服务器上,可以根据负载情况增减服务器数量,各个逻辑运算服务器的状态信息存储在前置机内,客户端根据前置机的指示直接建立与相应逻辑运算服务器的连接,前置机与各逻辑运算服务器可以通过局域网或互联网连接。本发明专利技术可以根据负载情况增加或减少投入运行的逻辑运算服务器的数量,实现负载均衡,应付突发的并发访问增加;且逻辑运算服务器在地理位置上可以分开设置,充分利用了网络带宽。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种负载均衡方法及其系统,该方法及系统用于响应较大数量的客户端的请求并据此利用分布式方法进行较复杂的逻辑运算,可以根据负载的情况增加或减少逻辑运算服务器而不影响对客户端请求的响应,特别适合于在线游戏、数字定位、数字地图等客户端数量众多而运算量大的网络应用场合。
技术介绍
互联网的快速增长使得网络服务器面对的访问者数量快速增加,网络服务器需要具备提供大量并发访问服务的能力,单台服务器的性能是有限的,一般来说,一台PC服务器所能提从的并发访问处理能力大约为1000个,更为高档的专用服务器能够支持3000-5000个并发访问,这样的能力还是无法满足负载较大的网站的要求,尤其是网络请求具有突发性,当某些重大事件发生时,网络访问就会急剧上升,从而造成网络瓶颈。因此,必须采用多台服务器提供网络服务,并将网络请求分配给这些服务器分担,才能提供处理大量并发服务的能力。目前利用多台服务器实现大负载情况下的负载均衡,主要有以下方法一是基于特定服务器软件的负载均衡,利用网络协议支持的“重定向”功能,当服务器认为自己负载较大时,送回一个重定向指令,使浏览器去服务器集群中的其他服务器获得响应,这种方式不易实现负载的均衡,且容易发生多台服务器重复发送重定向指令而造成死循环;二是基于域名服务器(DNS)的负载均衡,通过DNS服务中的随机名字解析来实现,即在DNS服务器中,为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析时获得其中一个地址,不同的客户机可能得到不同的地址,从而访问不同的服务器,以达到负载均衡的目的,这种方式的优点是简单、易行,并且服务器可以位于互联网的任意位置上,但是为保证DNS数据及时更新,一般都要将DNS的刷新时间设置的较小,由此造成较大的额外网络流量,并且更改了DNS数据后也不能立即生效,同时,DNS负载均衡方法无法得知服务器之间的差异,不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况;三是利用反向代理实现负载均衡,即客户机的请求通过代理服务器均匀转发给多台内部的WEB服务器之一,以达到负载均衡的目的,但由于每次代理,代理服务器必须打开对外和对内两个连接,当连接请求数量非常大时,代理服务器的负载也就非常大了,到最后反向代理服务器会成为服务的瓶颈;四是基于网络地址转换的负载均衡技术。网络地址转换一般用于内部地址和外部地址间的转换,使得具备内部地址的计算机能访问外部网络,当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上,因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载分担的目的。这种负载均衡方式可以用软件或硬件方式实现,可以解决服务器瓶颈问题,但是,一方面,网络的传输能力受到网络连接带宽的限制,目前很多站点的互联网连接带宽总共不过10MB,只有极少的站点能够拥有较高速的网络连接,采用这种技术无法解决由于网络带宽造成的限制;另一方面,所有的网络连接都必须通过中心负载均衡器,如果负载特别大,以至于后台的服务器数量不是几台、十几台,而是上百台甚至更多时,即使是使用性能优秀的硬件交换机也会遇到瓶颈。上述几种方法,用于WEB站点、Email等逻辑运算较少的系统,有各自的效果,也存在所述的缺点,而当用于在线游戏、数字定位、数字地图等逻辑复杂、运算量庞大的系统时,几乎没有什么很有效的解决办法。
技术实现思路
本专利技术目的是提供一种多客户端互动的负载均衡方法,可以把服务器分布在不同的地址或网段,且用于控制的前置机不易发生瓶颈阻塞;本专利技术的另一个目的是提供一种实现上述方法的系统,以有效地实现复杂逻辑及大运算量下的并发访问请求的负载均衡。为达到上述目的,本专利技术采用的技术方案是一种多客户端互动的负载均衡方法,通过多个客户端、一台前置机和多个逻辑运算服务器以及它们之间的连接实现,包括下列步骤把系统负载根据逻辑范围分配到多个逻辑运算服务器上,并把各个逻辑运算服务器的状态信息存储在前置机内;如果有新接入的客户端,则由其向前置机发出请求,如果原有客户端的交互信息超出某一逻辑运算服务器的控制范围,则由该逻辑运算服务器将其请求交给前置机,由前置机根据请求信息找到相应的逻辑运算服务器;判断该逻辑运算服务器是否在最大负载运转,如是,启用备用逻辑运算服务器,缩小原逻辑运算服务器的控制范围,将其余的范围交由备用逻辑运算服务器控制,并移交相应的客户信息及连接,由前置机重新确定客户端的请求所对应的逻辑运算服务器;建立客户端与该逻辑运算服务器的直接连接,成功后断开客户端与前置机的连接,更新前置机中逻辑运算服务器的状态信息;上述过程中,如果没有备用逻辑运算服务器或者连接失败,则返回相应的失败信息。上述技术方案中,所述的“前置机”是一台负责接入和控制的服务器,而“逻辑运算服务器”是为响应客户端的请求而进行逻辑判断、分析和运算的服务器,根据负载的大小及逻辑运算的复杂程度,可以有十几台、几十台、上百台甚至更多数量的逻辑运算服务器;所述“客户端”是向服务器提供请求信息并由服务器向其提供显示页面信息、运算结果等返回信息的计算机或其他专用设备,客户端可以通过互联网接入,其数量可以是成千上万的,新接入的客户端总是建立与前置机间的连接并向其发出请求,由前置机判断后连接某一逻辑运算服务器,此后,客户端与前置机间的连接将被断开,因此,与前置机连接的始终只有新接入的客户端以及正在改变连接的逻辑运算服务器的客户端。上述技术方案中,对于新接入的客户端请求,如果连接返回失败信息,则由前置机控制连接其他的逻辑运算服务器,同时向客户端发送当前逻辑运算服务器忙,更换其他服务器的信息;对于原有客户端的交互信息超出某一逻辑运算服务器的控制范围时,如果试图连接对应逻辑运算服务器时返回失败信息,则前置机控制客户机返回原来的逻辑运算服务器,并向客户机发送相邻区域忙的信息。上述技术方案中,还可以设置一个数据库,用于存储管理各逻辑运算服务器共同使用的逻辑信息。上述技术方案中,进行初始负载分配时,可以根据预计的负载流量设定使用的逻辑运算服务器的个数,把其余的逻辑运算服务器设定为备用逻辑运算服务器。上述技术方案中,还可以设定一个初始运行时间,经过该初始运行时间后,当2台或以上的逻辑运算服务器的负载明显很轻时,可以将其逻辑范围及连接的客户端合并到其中一个逻辑运算服务器上,更改前置机上的状态信息,把其余的逻辑运算服务器设定为备用逻辑运算服务器,使其进入待机状态。上述技术方案中,所述的逻辑运算服务器可以分布在互联网的不同网段或不同地理位置,并通过互联网实现与前置机及客户端的互通。为实现本专利技术另一个目的的技术方案是一种多客户端互动的负载均衡系统,包括客户机、前置机和逻辑运算服务器,其中前置机由一台服务器构成,前置机与每个逻辑运算服务器之间分别连接,每一客户机可以分别与前置机和逻辑运算服务器建立连接,所述前置机内存储有每个逻辑运算服务器的状态信息。上述技术方案中,所述逻辑运算服务器的状态信息包括最大负载量、现有负载量、逻辑控制范围和逻辑位置。上述技术方案中,实际上存在着三本文档来自技高网
...

【技术保护点】
一种多客户端互动的负载均衡方法,其特征在于:通过多个客户端、一台前置机和多个逻辑运算服务器以及它们之间的连接实现,包括下列步骤:把系统负载根据逻辑范围分配到多个逻辑运算服务器上,并把各个逻辑运算服务器的状态信息存储在前置机内;如果有 新接入的客户端,则由其向前置机发出请求,如果原有客户端的交互信息超出某一逻辑运算服务器的控制范围,则由该逻辑运算服务器将其请求交给前置机,由前置机根据请求信息找到相应的逻辑运算服务器;判断该逻辑运算服务器是否在最大负载运转,如是,启用备 用逻辑运算服务器,缩小原逻辑运算服务器的控制范围,将其余的范围交由备用逻辑运算服务器控制,并移交相应的客户信息及连接,由前置机重新确定客户端的请求所对应的逻辑运算服务器;建立客户端与该逻辑运算服务器的直接连接,成功后断开客户端与前置机的 连接,更新前置机中逻辑运算服务器的状态信息;上述过程中,如果没有备用逻辑运算服务器或者连接失败,则返回相应的失败信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:李杰
申请(专利权)人:苏州市蜗牛电子有限公司
类型:发明
国别省市:32[中国|江苏]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利