专利名称:一种服务器负载平衡系统及方法
技术领域:
本发明涉及负载平衡领域,具体涉及一种服务器负载平衡系统及方法。
背景技术:
为了提高服务器的运行速度,现有的方法是采用读写分离技术,建立主服务器与从属服务器,主服务器用于响应用户的写入数据请求,从属服务器用于响应用户的读取数据请求。但这种方法在使用过程中经常出现的问题是,由于从属服务器的负载或网络拥堵等因素的影响,主、从服务器的数据不一致。问题严重时,主、从服务器的延迟时间可以达到上百秒甚至上千秒,严重的影响了数据的正确读取。在现有的解决方法是设立多个从属服务器,每个从属服务器进行轮换使用。这样虽然可以一定限度的实现服务器的负载平衡,但在其中一台从属服务器出现服务器故障时,不能智能的判断故障节点,数据请求还将会根据其原有的分配原则被分配至故障节点,导致读取数据请求得不到响应。
发明内容
本发明提供了一种服务器负载平衡系统。此外,本发明还提供了一种服务器负载平衡方法。使用本发明提供了的服务器负载平衡系统及方法能够有效避免读取数据请求被分配到出现故障的从属服务器。为了达到上述目的,本发明的技术方案是这样实现的,一种服务器负载平衡系统, 包括用户输入装置,用于接收用户发出的请求并进行分析;当请求为读取数据请求时,将请求发送给负载平衡服务器;当请求为写入数据请求时,将请求发送给主服务器;负载平衡服务器,用于接收从属服务器的状态信息并进行分析;选择一个运行正常的从属服务器响应用户输入装置发送过来的读取数据请求;主服务器,用于响应用户的写入数据请求,接收用户写入的数据,并将写入的数据同步复制给各从属服务器;从属服务器,用于响应用户的读取数据请求,以及收集并发送自身的状态信息。前述的服务器负载平衡系统中,所述负载平衡服务器进一步包括信息接收装置,用于接收用户输入装置发送的用户请求和从属服务器的状态信息;决策装置,用于根据信息接收装置接收的从属服务器状态信息选择正常运行的从属服务器响应用户的读取数据请求。前述的服务器负载平衡系统中,所述从属服务器的状态信息包括运行状态信息和延迟时间信息;所述决策装置进一步包括
第一比较装置,用于比较各运行正常的从属服务器的延迟时间;选择装置,用于选择延迟时间最短的从属服务器响应用户请求。前述的服务器负载平衡系统中,所述决策装置进一步包括标准延迟时间设定装置,用于设定或更改标准延迟时间值;第二比较装置,用于将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较;选择装置进一步用于当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最短的来相应用户请求或随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。前述的服务器负载平衡系统中,所述用户输入装置进一步包括数据存储装置,用于接收用户发出的请求并进行分析;数据分析装置,用于对用户发出的请求进行分析,并判断请求种类;数据发送装置,当请求为读取数据请求时,将请求发送给负载平衡服务器;当请求为写入数据请求时,将请求发送给主服务器。一种服务器负载平衡方法,包括下列步骤接收用户发出的请求;对用户发出的请求种类进行分析;若请求为写入数据请求,则进行下列步骤由主服务器响应用户的写入数据请求并接收数据;将用户写入的数据同步复制给各从属服务器;若请求为读取数据请求,则进行下列步骤分析各从属服务器的运行状态;选择一个运行正常的从属服务器响应用户的读取数据请求。前述的服务器负载平衡方法中,所述从属服务器的状态信息包括运行状态信息和延迟时间信息;所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括比较各运行正常的从属服务器的延迟时间,找出延迟时间最短的从属服务器;选择延迟时间最短的从属服务器响应用户的读取数据请求。前述的服务器负载平衡方法中,所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较,找出延迟时间低于标准延迟时间的从属服务器;判断是否有从属服务器的延迟时间低于标准延迟时间;当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最小的来相应用户请求或随机选择一个来响应用户请求;
当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。前述的服务器负载平衡方法中,在从属服务器的延迟时间与标准延迟时间进行比较前先进行下列步骤对标准延迟时间进行设定或更改。前述的服务器负载平衡方法中,所述分析各从属服务器的运行状态的步骤进一步包括将状态异常的从属服务器进行标记。与现有技术相比,本发明通过对从属服务器的运行状态进行分析,将状态异常的从属服务器排除在分配方案之外,只用运行正常的从属服务器响应用户请求,能够有效避免读取数据请求被分配到故障的从属服务器。此外,本发明所提供的服务器负载平衡系统及方法还具有下列技术效果(1)将各运行正常的从属服务器的延迟时间进行比较,选择延迟时间最小的从属服务器响应用户请求,这样可以使用户的请求得到更快速地响应,提高用户访问效率;(2)增加标准延迟时间,将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较,从延迟时间低于标准延迟时间的从属服务器中随机选择来响应用户请求,这种方式可在保证用户请求能得到快速响应的前提下进一步优化服务器的负载平衡;(3)标准延迟时间可根据需要自由设定,灵活度跟高。
为了更清楚地说明本发明具体实施方式
或现有技术中的技术方案,下面将对具体实施方式
或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明具体实施例中所述服务器负载平衡系统的系统结构图;图2为本发明具体实施例中所述服务器负载平衡方法的方法流程图。附图标记1-用户输入装置,2-负载平衡服务器,3-主服务器,4-从属服务器, 5-信息接收装置,6-决策装置,7-第一比较装置,8-标准延迟时间设定装置,9-第二比较装置,10-选择装置,11-数据存储装置,12-数据分析装置,13-数据发送装置。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述,基于本发明中的具体实施方式
,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。一种服务器负载平衡系统,包括用户输入装置,用于接收用户发出的请求并进行分析;当请求为读取数据请求时,将请求发送给负载平衡服务器;当请求为写入数据请求时,将请求发送给主服务器;负载平衡服务器,用于接收从属服务器的状态信息并进行分析;选择一个运行正常的从属服务器响应用户输入装置发送过来的读取数据请求;主服务器,用于响应用户的写入数据请求,接收用户写入的数据,并将写入的数据同步复制给各从属服务器;从属服务器,用于响应用户的读取数据请求,以及收集并发送自身的状态信息。具体实施时,所述负载平衡服务器进一步包括信息接收装置,用于接收用户输入装置发送的用户请求和从属服务器的状态信息;决策装置,用于根据信息接收装置接收的从属服务器状态信息选择正常运行的从属服务器响应用户的读取数据请求。这样通过对从属服务器的运行状态进行分析,将状态异常的从属服务器排除在分配方案之外,只用运行正常的从属服务器响应用户请求,能够有效避免读取数据请求被分配到故障的从属服务器。在本发明的各个实施方式中,作为优选方案,所述从属服务器的状态信息包括运行状态信息和延迟时间信息;所述决策装置进一步包括第一比较装置,用于比较各运行正常的从属服务器的延迟时间;选择装置,用于选择延迟时间最短的从属服务器响应用户请求。这样可以使用户的请求得到更快速地响应,提高用户访问效率。在本发明的各个实施方式中,作为优选方案,所述决策装置进一步包括标准延迟时间设定装置,用于设定或更改标准延迟时间值;第二比较装置,用于将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较;选择装置进一步用于当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最短的来相应用户请求或随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。这种方式可在保证用户请求能得到快速响应的前提下进一步优化服务器的负载平衡。在本发明的各个实施方式中,作为优选方案,所述用户输入装置进一步包括数据存储装置,用于接收用户发出的请求并进行分析;数据分析装置,用于对用户发出的请求进行分析,并判断请求种类;数据发送装置,当请求为读取数据请求时,将请求发送给负载平衡服务器;当请求为写入数据请求时,将请求发送给主服务器。这样可以先行将用户发出的请求进行分类,再根据类别选择发送对象;提高工作效率。一种服务器负载平衡方法,包括下列步骤接收用户发出的请求;对用户发出的请求种类进行分析;
若请求为写入数据请求,则进行下列步骤由主服务器响应用户的写入数据请求并接收数据;将用户写入的数据同步复制给各从属服务器;若请求为读取数据请求,则进行下列步骤分析各从属服务器的运行状态;选择一个运行正常的从属服务器响应用户的读取数据请求。这样能够将状态异常的从属服务器排除在分配方案之外,只用运行正常的从属服务器响应用户请求,有效避免读取数据请求被分配到故障的从属服务器。在本发明的各个实施方式中,作为优选方案,所述从属服务器的状态信息包括运行状态信息和延迟时间信息;所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括比较各运行正常的从属服务器的延迟时间,找出延迟时间最短的从属服务器;选择延迟时间最短的从属服务器响应用户的读取数据请求。这样可以使用户的请求得到更快速地响应,提高用户访问效率。在本发明的各个实施方式中,作为优选方案,所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较,找出延迟时间低于标准延迟时间的从属服务器;判断是否有从属服务器的延迟时间低于标准延迟时间;当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最小的来相应用户请求或随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。这样可在保证用户请求能得到快速响应的前提下进一步优化服务器的负载平衡。在本发明的各个实施方式中,作为优选方案,在从属服务器的延迟时间与标准延迟时间进行比较前先进行下列步骤对标准延迟时间进行设定或更改。这样标准延迟时间可根据需要自由设定,灵活度跟高。在本发明的各个实施方式中,作为优选方案,所述分析各从属服务器的运行状态的步骤进一步包括将状态异常的从属服务器进行标记。这样管理员可快速获知哪些从属服务器出现异常,并进行及时修复。为更好的解释本发明,下面提供具体实施例进行说明。
具体实施例如图1所示,一种服务器负载平衡系统,包括用户输入装置1、负载平衡服务器2、 主服务器3和从属服务器4 ;
所述用户输入装置1进一步包括数据存储装置11、数据分析装置12和数据发送装置13 ;所述数据存储装置11用于接收用户发出的请求并进行分析;所述数据分析装置12用于对用户发出的请求进行分析,并判断请求种类;所述数据发送装置13用于将用户请求中的读取数据请求发送给负载平衡服务器 2,以及将用户请求中的写入数据请求发送给主服务器3。所述负载平衡服务器2进一步包括信息接收装置5和决策装置6 ;所述信息接收装置5用于接收用户输入装置1发送的用户请求和从属服务器4的状态信息;所述决策装置6用于根据信息接收装置5接收的从属服务器4状态信息选择正常运行的从属服务器4响应用户的读取数据请求;所述决策装置6进一步包括第一比较装置7、标准延迟时间设定装置8、第二比较装置9和选择装置10 ;所述第一比较装置7用于比较各运行正常的从属服务器4的延迟时间;所述标准延迟时间设定装置8用于设定或更改标准延迟时间值;所述第二比较装置9用于将各运行正常的从属服务器4的延迟时间与标准延迟时间进行比较;所述选择装置10用于当有从属服务器4的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器4中随机选择一个来响应用户请求;当所有从属服务器4的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器4响应用户请求。所述主服务器3用于响应用户发出的写入数据请求,接收用户写入的数据,并将写入的数据同步复制给各从属服务器4 ;所述从属服务器4用于响应用户发出的读取数据请求,以及收集并发送自身的状态信息,所述状态信息包括运行状态信息和延迟时间信息。如图2所示,一种服务器负载平衡方法,包括下列步骤101)接收用户发出的请求;102)对用户发出的请求种类进行分析;若请求为写入数据请求,则进行下列步骤103)主服务器响应用户的写入数据请求并接收数据;104)将用户写入的数据同步复制给各从属服务器;若请求为读取数据请求,则进行下列步骤105)分析各从属服务器的运行状态;106)将状态异常的从属服务器进行标记;107)对标准延迟时间进行设定或更改;108)将各运行正常的从属服务器的延迟时间进行比较,找出延迟时间最短的从属服务器;109)将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较,找出延迟时间低于标准延迟时间的从属服务器;110)判断是否有从属服务器的延迟时间低于标准延迟时间;
9
当有从属服务器的延迟时间低于标准延迟时间时,则进行下列步骤111)在低于标准延迟时间的从属服务器中随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,则进行下列步骤112)选择延迟时间最短的从属服务器响应用户请求。最后应说明的是以上实施方式及实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式及实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述实施方式或实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施方式或实施例技术方案的精神和范围。
权利要求
1.一种服务器负载平衡系统,其特征在于,包括 用户输入装置,用于接收用户发出的请求并进行分析;当请求为读取数据请求时,将请求发送给负载平衡服务器; 当请求为写入数据请求时,将请求发送给主服务器;负载平衡服务器,用于接收从属服务器的状态信息并进行分析;选择一个运行正常的从属服务器响应用户输入装置发送过来的读取数据请求;主服务器,用于响应用户的写入数据请求,接收用户写入的数据,并将写入的数据同步复制给各从属服务器;从属服务器,用于响应用户的读取数据请求,以及收集并发送自身的状态信息。
2.如权利要求1所述的服务器负载平衡系统,其特征在于,所述负载平衡服务器进一步包括信息接收装置,用于接收用户输入装置发送的用户请求和从属服务器的状态信息; 决策装置,用于根据信息接收装置接收的从属服务器状态信息选择正常运行的从属服务器响应用户的读取数据请求。
3.如权利要求2所述的服务器负载平衡系统,其特征在于,所述从属服务器的状态信息包括运行状态信息和延迟时间信息;所述决策装置进一步包括第一比较装置,用于比较各运行正常的从属服务器的延迟时间; 选择装置,用于选择延迟时间最短的从属服务器响应用户请求。
4.如权利要求3所述的服务器负载平衡系统,其特征在于,所述决策装置进一步包括 标准延迟时间设定装置,用于设定或更改标准延迟时间值;第二比较装置,用于将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较;选择装置进一步用于当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最短的来相应用户请求或随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。
5.如权利要求1至4中任意一项所述的服务器负载平衡系统,其特征在于,所述用户输入装置进一步包括数据存储装置,用于接收用户发出的请求并进行分析;数据分析装置,用于对用户发出的请求进行分析,并判断请求种类;数据发送装置,当请求为读取数据请求时,将请求发送给负载平衡服务器; 当请求为写入数据请求时,将请求发送给主服务器。
6.一种服务器负载平衡方法,其特征在于,包括下列步骤 接收用户发出的请求;对用户发出的请求种类进行分析; 若请求为写入数据请求,则进行下列步骤 由主服务器响应用户的写入数据请求并接收数据;将用户写入的数据同步复制给各从属服务器; 若请求为读取数据请求,则进行下列步骤 分析各从属服务器的运行状态;选择一个运行正常的从属服务器响应用户的读取数据请求。
7.如权利要求6所述的服务器负载平衡方法,其特征在于,所述从属服务器的状态信息包括运行状态信息和延迟时间信息; 所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括 比较各运行正常的从属服务器的延迟时间,找出延迟时间最短的从属服务器; 选择延迟时间最短的从属服务器响应用户的读取数据请求。
8.如权利要求7所述的服务器负载平衡方法,其特征在于,所述选择一个运行正常的从属服务器响应用户的读取数据请求的步骤进一步包括 将各运行正常的从属服务器的延迟时间与标准延迟时间进行比较,找出延迟时间低于标准延迟时间的从属服务器;判断是否有从属服务器的延迟时间低于标准延迟时间;当有从属服务器的延迟时间低于标准延迟时间时,在低于标准延迟时间的从属服务器中选择延迟时间最小的来相应用户请求或随机选择一个来响应用户请求;当所有从属服务器的延迟时间均高于标准延迟时间时,选择延迟时间最短的从属服务器响应用户请求。
9.如权利要求8所述的服务器负载平衡方法,其特征在于,在从属服务器的延迟时间与标准延迟时间进行比较前先进行下列步骤对标准延迟时间进行设定或更改。
10.如权利要求6至9中任意一项所述的服务器负载平衡方法,其特征在于,所述分析各从属服务器的运行状态的步骤进一步包括将状态异常的从属服务器进行标记。
全文摘要
本发明涉及负载平衡领域,具体涉及一种服务器负载平衡系统及方法。所述服务器负载平衡系统包括用户输入装置、负载平衡服务器、主服务器和从属服务器。所述服务器负载平衡方法,包括下列步骤接收用户发出的请求;对用户发出的请求种类进行分析;若请求为写入数据请求,则主服务器响应用户的写入数据请求并接收数据;将用户写入的数据同步复制给各从属服务器;若请求为读取数据请求,则分析各从属服务器的运行状态,排除状态异常的从属服务器;选择一个运行正常的从属服务器响应用户的读取数据请求。与现有技术相比,本发明通过将状态异常的从属服务器排除在分配方案之外,能够有效避免读取数据请求被分配到发生故障的从属服务器。
文档编号H04L12/56GK102546652SQ20121002035
公开日2012年7月4日 申请日期2012年1月29日 优先权日2012年1月29日
发明者沈文策 申请人:沈文策