CN117749520A - 一种网络流量调度管理方法及系统 - Google Patents
一种网络流量调度管理方法及系统 Download PDFInfo
- Publication number
- CN117749520A CN117749520A CN202311865192.8A CN202311865192A CN117749520A CN 117749520 A CN117749520 A CN 117749520A CN 202311865192 A CN202311865192 A CN 202311865192A CN 117749520 A CN117749520 A CN 117749520A
- Authority
- CN
- China
- Prior art keywords
- lvs
- current
- flow
- data
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000002159 abnormal effect Effects 0.000 claims description 101
- 230000008569 process Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 4
- 230000003068 static effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络安全防护技术领域,提供一种网络流量调度管理方法及系统。所述方法包括实时获取不同节点各个LVS的回溯数据;基于所述回溯数据和预设流量调度判断条件,判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库;将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件。本发明能够自适应地应对流量和服务的变化,实现快速的流量调度。
Description
技术领域
本发明属于网络安全防护技术领域,具体涉及一种网络流量调度管理方法及系统。
背景技术
随着信息化技术的飞速发展,Web网站在日常生活中越来越重要,Web网站安全问题甚至影响到国家、企业和公民的安全和利益。目前,网站流量攻击也变得越来越频繁和猖獗,攻击者会通过控制的肉鸡或者扫描器发起DDOS、CC攻击,这给网站服务器带来了巨大的压力。在这种情况下,如何有效地调度和管理后端负载均衡服务集群,以应对恶意流量的冲击,成为了一个严峻的挑战。
发明内容
为了解决背景技术中的至少一个技术问题,本发明提出了一种网络流量调度管理方法及系统,能够有效地调度和管理后端负载均衡(LVS)服务集群,以应对恶意流量的冲击。
根据本发明的第一个方面,本发明首先提供一种网络流量调度管理方法,所述方法包括:
实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。
进一步地,所述方法包括:
获取用户输入的初始配置参数,所述初始配置参数包括虚拟服务器IP和端口、后端服务器IP和端口、IP地址类型、后端服务器心跳检测方法、配置下发目标区域;
基于所述初始配置参数生成各个LVS的初始配置文件,以使各个LVS根据所述初始配置文件首次执行流量调度。
进一步地,所述请求异常的状态码比例的获取过程包括:
根据LVS负载均衡日志,获取每个LVS负载均衡后端服务器返回的所有http状态码;
根据所述http状态码计算单个用户在当前LVS请求异常的状态码比例以及预设间隔时间内在当前LVS请求异常的状态码比例。
进一步地,所述基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度,包括:
根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;
基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS的异常状态码比例分值;
基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;
基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
计算所述请求流量分值、单个LVS请求异常状态码比例分值、单个节点内所有LVS请求异常状态码比例分值以及单个用户在当前LVS请求异常状态码比例分值的总和,得到当前LVS的总分值;
根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
进一步地,所述根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度,包括:
预先定义第一阈值、第二阈值,且第二阈值大于第一阈值;
若所述当前LVS的总分值小于所述第一阈值,则判断当前LVS无需调度,保持当前状态;或者,
若所述当前LVS的总分值大于或等于所述第一阈值,且小于所述第二阈值,则判断当前LVS的流量调度方式为同一节点流量跨LVS调度;或者,
若所述当前LVS的总分值大于所述第二阈值,则判断当前LVS的流量调度方式为流量跨节点调度。
进一步地,若需要进行流量调度,则根据不同的流量调度方式更新主数据仓库当前LVS配置数据,包括:
若当前LVS的流量调度方式为同一节点流量跨LVS调度,则自动删除所述主数据仓库中当前故障LVS的相关信息;或者,
若当前LVS的流量调度方式为流量跨节点调度,则自动删除所述主数据仓库中当前故障节点的相关信息。
进一步地,根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件,包括:
获取每一LVS当前配置数据从本地数据仓库的读取时间;
判断所述本地数据仓库的数据更新时间是否大于所述读取时间,若大于,则自动触发LVS配置文件更新信号。
进一步地,在所述依据所述配置数据生成更新后的LVS配置文件之后,所述方法包括:
检查所述更新后的LVS配置文件是否生效;
若未生效,则触发告警信号。
根据本发明的第二个方面,本发明还提供了一种网络流量调度管理系统,包括:
获取模块,用于实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
分析模块,用于基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
同步模块,用于将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
动态更新模块,用于根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。
进一步地,所述分析模块还包括请求流量分值计算单元、异常状态码比例分值计算单元、总分值计算单元以及判断单元;
所述根据请求流量分值计算单元,用于根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;
所述异常状态码比例分值计算单元,用于基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS请求异常状态码比例分值;基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
所述总分值计算单元,用于计算所述请求流量分值、单个LVS请求异常状态码比例分值、单个节点内所有LVS请求异常状态码比例分值以及单个用户在当前LVS请求异常状态码比例分值的总和,得到当前LVS的总分值;
所述判断单元,用于根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
通过本发明技术方案,可以获得如下技术效果:
本发明提供的网络流量调度管理方法及系统,能够自适应地应对流量和服务的变化,实现快速的流量调度,不仅支持人工手动调度,还可以根据请求异常状态码比例自动进行流量调度;其次,能够在单个页面上进行多个负载均衡配置,操作简单方便,并支持多集群、多节点的动态更新,实现了流量的自主调度,从而为提高负载均衡系统的性能和可靠性提供了有力的支持。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络流量调度管理方法的流程示意图;
图2为本发明实施例提供的首次执行流量调度的流程示意图;
图3为本发明实施例提供的基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度的流程示意图;
图4为本发明实施例提供根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件的方法流程图;
图5为本发明另一实施例提供的一种网络流量调度管理系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
相关技术中,针对LVS流量负载均衡更新方法主要有以下几个方面:
(1)通过修改LVS的配置文件,例如修改负载均衡算法、添加或删除服务器等,来更新LVS集群的配置。
(2)LVS集群更新一般采用滚动升级的方式,即逐个节点地更新,以避免影响整个LVS集群的正常运行。
具体的,申请号为202310930919.X的专利申请,其包括:获取网关(lvs)的状态,根据状态和状态对应的权重打分,确定各个lvs的优先级,根据优先级进行流量分配。然而该方案存在以下不足:如何合理设置状态和权重是一个挑战,不合理的设置会导致流量分配不均衡,服务器数量或者性能发生变化时,需要重新计算状态和权重,无法快速完成流量调度管理,过程可能需要人工操作,相对复杂。
申请号为202310581552.5的专利申请,其包括:通过keepalived静态文件定义两台后端服务器,如果其中一台宕机,流量会走到另外一台后端服务器。然而该方案存在以下不足:配置复杂,每台后端服务器编写一个独立的配置文件,增加了配置的复杂性,维护困难,当需要修改后端服务器的配置时,需要分别修改两台服务器的配置文件,可能导致配置不一致的问题,可扩展性差,如果需要增加或减少后端服务器,需要手动修改配置文件,增加了系统的可扩展性难度。
申请号为202211521541.X的专利申请,其包括:获取LVS集群数据指标和负载权重进行计算,根据计算结果进行流量的分配。然而该方案存在以下不足:动态调整能力不足,当集群服务器数量或者性能发生变化时,需要重新计算负载权重并重新调整流程分配,这个过程可能涉及到配置文件的手动修改,操纵较为繁琐。
综上,本发明提供一种网络流量调度管理方法和系统,以应对web流量弹性调度和管理,旨在实现流量的感知和跨机器、跨地域的调度。
根据本发明的一个实施例,图1示出了本发明提供的一种网络流量调度管理方法的流程示意图,如图1所示,本发明实施例提供一种网络流量调度管理方法,可部署于LVS(负载均衡器)中,通过实时获取上一时刻LVS的回溯数据来判断是否动态更新LVS当前配置,从而达到一个动态更新配置的目的。所述方法包括以下步骤:
S200,实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
该步骤同时获取多个LVS的回溯数据,每一个LVS对应一组回溯数据。其中,所述不同节点是指不同地域,一个地域视为一个节点,例如北京节点、上海节点,每个节点设有多个LVS,不同LVS之间的回溯数据是相互独立,互不影响。所述回溯数据可以以一分钟和一小时为时间粒度进行统计。
其中,所述请求异常的状态码比例的计算过程包括:根据LVS负载均衡日志,获取每个LVS负载均衡后端服务器返回的所有http状态码;根据所述http状态码计算单个用户在当前LVS请求异常的状态码比例以及预设间隔时间内在当前LVS请求异常的状态码比例。也就是说,从两个方面来考虑请求异常状态码比例,第一方面是根据单个用户计算每个LVS请求异常的状态码比例,第二方面是根据预设间隔时间计算每个LVS请求异常的状态码比例。本实施例中,针对单个用户的计算,可以根据域名来区分用户,一个域名视为一个用户,相同的根域视为一个用户。
所述请求异常的状态码可以根据http协议规范规定判定,本实施例中,将以数字5开头的状态码认为是异常状态码,该异常状态码用于标识LVS服务器异常。所述请求异常的状态码比例是指异常状态码个数占总个数的百分比。
由于本发明实施例提供的网络流量调度管理方法是基于回溯数据进行管理,当首次启动网络流量调度管理时,此时并不存在回溯数据,因此,本发明实施例提供手动配置负载均衡配置输入项,以便能够进行首次流量调度,该过程亦实现了多个LVS在单个页面轻松配置的目的,配置过程简单、方便。具体的,如图2所示,所述方法进一步包括:
S100,获取用户输入的初始配置参数,所述初始配置参数包括虚拟服务器IP和端口、后端服务器IP和端口、IP地址类型、后端服务器心跳检测方法、配置下发目标区域;其中,所述IP地址类型同时支持ipv4和ipv6;所述配置下发目标区域支持单个和多个LVS集群同时生效,所述配置下发目标区域的目的是使不同地域用户流量迁移至就近节点。
S110,基于所述初始配置参数生成各个LVS的初始配置文件,以使各个LVS根据所述初始配置文件首次执行流量调度。
该步骤中,当用户手动配置后,每个LVS从所述初始配置参数中只读取与本集群相关的配置数据,忽略其他集群的数据;根据读取的配置数据生成相应的初始配置文件,每个LVS加载自身的初始配置文件进行负载均衡,从而产生第一次的回溯数据。
需要说明的是,在其它实施例中,若中途其他客户需要加入当前负载均衡系统时,亦可以通过所述手动配置负载均衡配置输入项进行有目的的配置,以使新客户能够应用该管理功能。
S400,基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
该步骤是基于返回的回溯数据进行分析判断的过程,用以判断是否进行流量调度以及进行流量调度的方式,不同的流量调度方式对应不同的调度处理。本实施例中,所述流量调度方式包括同一节点流量跨LVS调度、流量跨节点调度(即跨地域调度)。
图3示出了基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度的方法流程图。如图3所示,所述基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度,包括:
S410,根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;该步骤基于进出流量的总带宽进行计算。本实施例中,所述预设关系包括预先定义流量大小与分值的映射关系,流量越大分值越大,例如将分值划分为1-10这十个等级;LVS内核统计每个LVS的进入流量和出去流量,根据所述预设关系得到进入流量的分值a1和出去流量的分值a2,a1和a2的总和即为当前LVS的请求流量分值。
S420,基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS请求异常状态码比例分值;
该步骤S420至S440是基于单个LVS机器、单个节点和单个用户三方面考虑计算请求异常状态码比例的分值b。
步骤S420中预先定义有请求异常状态码比例等级与分值预设关系;根据当前请求的流量次数匹配所述请求异常状态码比例的等级,例如高危、中危、低危三个等级,不同等级对应不同分值,等级越高分值越大,最终得到单个LVS请求异常状态码比例分值b1。举例说明,若一分钟内有100次请求,当请求异常状态码比例小于5%时认为请求异常状态码比例等级为低级,大于5%且小于20%则认为请求异常状态码比例等级为中级,大于20%则认为请求异常状态码比例等级为高级。
S430,基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;
该步骤根据上述预先定义的请求异常状态码比例等级与分值预设关系,得到每个LVS的异常状态码比例分值,之后将同一节点内所有LVS的请求异常的状态码比例分值进行累加,得到单个节点内所有LVS的异常状态码比例分值b2。
在其它可选的实施例中,可以考虑区分来源,计算单个节点所有LVS的同一来源请求的异常状态码比例,并给予分值。
S440,基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
该步骤综合评估单个用户在不同LVS的请求异常状态码比例等级,并根据上述预先定义的请求异常状态码比例等级与分值预设关系得到单个用户在当前LVS的异常状态码比例分值b3。举例说明,若三个LVS上报了某一个用户异常状态码比例不一致,分别是5%、30%、10%,那么判断异常状态码比例为30%的这个LVS服务器异常可能性高,当然还有考虑其他因素,比如上报的用户异常比例都很高,各个LVS的异常状态码比例数据都趋向一致,那么机房和源站异常的可能性高,这个时候还会综合其他用户的异常统计作为参考,从而得到单个用户在当前LVS请求异常状态码比例等级,进而得到对应的分值。
S450,计算所述请求流量分值、单个LVS的异常状态码比例分值、单个节点内所有LVS的异常状态码比例分值以及单个用户在当前LVS的异常状态码比例分值的总和,得到当前LVS的总分值;该步骤得到总分值X=a+b,a代表请求流量大小得分,b代表请求异常状态码比例得分,其中,a=a1+a2,b=b1+b2+b3。所述a和b的取值范围根据实际需求设定,例如a的取值范围为0~10,b的取值范围为0~5。
S460,根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
该步骤中所述阈值可以根据实际需求进行设置,并且亦可以动态调整,所述阈值主要用于判断是单个LVS发生故障还是单个节点发生故障;具体根据阈值实际大小,对X的值进行判断,从而决定是否需要进行流量调度。具体的,所述步骤S460包括:
预先定义第一阈值、第二阈值,且第二阈值大于第一阈值;
若所述当前LVS的总分值小于所述第一阈值,则判断当前LVS无需调度,保持当前状态;
若所述当前LVS的总分值大于或等于所述第一阈值,且小于所述第二阈值,则判断当前LVS的流量调度方式为同一节点流量跨LVS调度;
若所述当前LVS的总分值大于所述第二阈值,则判断当前LVS的流量调度方式为流量跨节点调度。
可以理解为:如果X小于第一阈值,则认为一切正常,无需进行调度;如果X大于或等于第二阈值,则进行流量跨节点调度;如果X大于或等于第一阈值,且X小于第二阈值,则进行同一节点流量跨LVS调度。通过这样的计算和判断,可以有效地管理和调度流量,确保系统运行稳定。
步骤S400中,在判断出是否需要进行流量调度及对应的流量调度方式后,则自动修改主数据仓库的配置数据,具体的,若需要进行流量调度,则根据不同的流量调度方式更新主数据仓库当前LVS配置数据包括:
若当前LVS的流量调度方式为同一节点流量跨LVS调度,则自动删除所述主数据仓库中当前故障LVS的相关信息;本实施例中,删除故障LVS的过程包括:一个节点有多个LVS,这多个LVS均配置相同的vip地址,即主数据仓库的ip地址;通过ospf协议将请求到vip的流量迁移到LVS中,当判断LVS故障时将LVS的vip地址删掉,用户的请求就不会到达这个故障LVS了。
若当前LVS的流量调度方式为流量跨节点调度,则自动删除所述主数据仓库中当前故障节点的相关信息。
也就是说,不管哪种流量调度方式,本发明并不考虑流量跨调度时具体调度至哪台机器,关注的只是删除故障LVS或故障节点,拿掉故障的机器后,新的请求会自动走到剩下可用节点或者机器。
S600,将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
该步骤中,修改的所有配置数据均存在于主数据仓库,每个LVS的本地数据仓库会自动从所述主数据仓库同步数据,实现了数据容灾的需求,当主数据仓库数据丢失时,还有多个备份,但是各个LVS只会更新和自身节点有关的数据。本实施例中,所述主数据仓库中存储有各个LVS对应的标识,每个LVS根据自身的标识来更新本地数据仓库数据。
其中,每个LVS本地数据仓库同步数据的时候,不是必然有更新时间,同步数据时不会修改数据更新时间,只有本地数据仓库内的数据本身发生修改时才会有对应的更新时间,此时记录当前时间为数据更新时间。
S800,根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。上述步骤修改主数据仓库后,该步骤S800判断是否需要动态更新当前LVS的配置数据,最终根据更新后的配置数据进行流量调度。图4示出了所述根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件的方法流程图,如图4所示,所述根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件包括:
S810,获取每一LVS当前配置数据从本地数据仓库的读取时间;本实施例中,每个LVS从本地数据仓库读取相关的配置数据时,会同时记录本次读取时间并保留到本地静态文件中,故从本地静态文件中获取即可。
S820,判断所述本地数据仓库的数据更新时间是否大于所述读取时间,若大于,则自动触发LVS配置文件更新信号。
该步骤中,由于本地数据仓库的数据发生更新,其数据更新时间必然大于当前本地静态文件中保存的读取时间,因此可以定期对比本地数据仓库的数据更新时间和本地静态文件中保存时间的差异,来决定是否进行动态更新。
需要说明的是,该步骤S810-S820将作为守护进程持续在后台运行,定期每分钟对比数据仓库更新时间和本地静态文件中保存时间的差异。
步骤S800中,若需要更新当前LVS配置文件,则依据读取的配置数据导入模板引擎生成LVS配置文件;并将所述LVS配置文件移动到LVS程序加载路径,LVS会自动触发Keepalived reload指令。该指令会从配置文件中读取新的配置,并将其逐一加载到内核文件中,这个过程会建立LVS与upstream(后端服务器)之间的映射关系,以确保流量能够被正确地转发到相应的服务器上。一旦新的映射对应关系建立完成,LVS就会开始按照新的配置进行流量的转发。这个过程是自动完成的,不需要人工干预,通过这种方式,LVS可以快速适应流量和服务的变化,确保系统的可靠性和稳定性。
作为一种可选的实施例,在所述依据所述配置数据生成更新后的LVS配置文件之后,所述进一步包括:
检查所述更新后的LVS配置文件是否生效;若未生效,则触发告警信号。本实施例中,定期检查一次动态更新的配置生效情况,具体可通过对比本地数据仓库的数据更新时间与本地静态文件中保存的当前读取时间,若读取时间大于所述数据更新时间,则表示LVS配置文件已生效;如果读取时间小于所述数据更新时间,则向客户端进行告警,例如通过弹窗、提示音等形式进行告警。
本发明提供的网站流量调度管理方法,能够自适应地应对流量和服务的变化,实现快速的流量调度,不仅支持人工手动调度,还可以根据请求异常状态码比例自动进行流量调度;其次,能够在单个页面上进行负载均衡配置,操作简单方便,并支持多集群、多节点的动态更新,实现了流量的自主调度,从而为提高负载均衡系统的性能和可靠性提供了有力的支持。
根据本发明的第二个方面,本发明还提供了上述方法实施例对应的装置实施例,相同部分在此不再赘述。图5示出了本申请实施例提供的一种网站流量调度管理系统的结构示意图,如图5所示,所述系统包括:
获取模块10,用于实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
分析模块20,用于基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
同步模块30,用于将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
动态更新模块40,用于根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。
进一步地,所述分析模块20还包括请求流量分值计算单元21、异常状态码比例分值计算单元22、总分值计算单元23以及判断单元24;
所述根据请求流量分值计算单元21,用于根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;
所述异常状态码比例分值计算单元22,用于基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS请求异常状态码比例分值;基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
所述总分值计算单元23,用于计算所述请求流量分值、单个LVS请求异常状态码比例分值、单个节点内所有LVS请求异常状态码比例分值以及单个用户在当前LVS请求异常状态码比例分值的总和,得到当前LVS的总分值;
所述判断单元24,用于根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
进一步地,所述判断单元24还用于预先定义第一阈值、第二阈值,且第二阈值大于第一阈值;若所述当前LVS的总分值小于所述第一阈值,则判断当前LVS无需调度,保持当前状态;或者,若所述当前LVS的总分值大于或等于所述第一阈值,且小于所述第二阈值,则判断当前LVS的流量调度方式为同一节点流量跨LVS调度;或者,若所述当前LVS的总分值大于所述第二阈值,则判断当前LVS的流量调度方式为流量跨节点调度。
进一步地,所述分析模块30还包括调度单元25,所述调度单元25用于:若当前LVS的流量调度方式为同一节点流量跨LVS调度,则自动删除所述主数据仓库中当前故障LVS的相关信息;或者,若当前LVS的流量调度方式为流量跨节点调度,则自动删除所述主数据仓库中当前故障节点的相关信息。
进一步地,所述系统还包括配置模块50,该配置模块50用于获取用户输入的初始配置参数,所述初始配置参数包括虚拟服务器IP和端口、后端服务器IP和端口、IP地址类型、后端服务器心跳检测方法、配置下发目标区域;以及基于所述初始配置参数生成各个LVS的初始配置文件,以使各个LVS根据所述初始配置文件首次执行流量调度。
进一步地,所述系统还包括回溯模块60,所述回溯模块60用于根据LVS负载均衡日志,获取每个LVS负载均衡后端服务器返回的所有http状态码;根据所述http状态码计算单个用户在当前LVS请求异常的状态码比例以及预设间隔时间内在当前LVS请求异常的状态码比例。
进一步地,所述动态更新模块40还用于:获取每一LVS当前配置数据从本地数据仓库的读取时间;判断所述本地数据仓库的数据更新时间是否大于所述读取时间,若大于,则自动触发LVS配置文件更新信号。
进一步地,所述系统还包括检查模块70,所述检查模块70用于检查所述更新后的LVS配置文件是否生效;若未生效,则触发告警信号。
本发明提供的网站流量调度管理系统,能够自适应地应对流量和服务的变化,实现快速的流量调度,不仅支持人工手动调度,还可以根据请求异常状态码比例自动进行流量调度;其次,能够在单个页面上进行负载均衡配置,操作简单方便,并支持多集群、多节点的动态更新,实现了流量的自主调度,从而为提高负载均衡系统的性能和可靠性提供了有力的支持。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。
本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
应理解,本发明的发明内容及实施例中各步骤的序号的大小并不绝对意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
Claims (10)
1.一种网络流量调度管理方法,其特征在于,所述方法包括:
实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。
2.根据权利要求1所述的网络流量调度管理方法,其特征在于,所述方法进一步包括:
获取用户输入的初始配置参数,所述初始配置参数包括虚拟服务器IP和端口、后端服务器IP和端口、IP地址类型、后端服务器心跳检测方法、配置下发目标区域;
基于所述初始配置参数生成各个LVS的初始配置文件,以使各个LVS根据所述初始配置文件首次执行流量调度。
3.根据权利要求1所述的网络流量调度管理方法,其特征在于,所述请求异常的状态码比例的获取过程包括:
根据LVS负载均衡日志,获取每个LVS负载均衡后端服务器返回的所有http状态码;
根据所述http状态码计算单个用户在当前LVS请求异常的状态码比例以及预设间隔时间内在当前LVS请求异常的状态码比例。
4.根据权利要求1所述的网络流量调度管理方法,其特征在于,所述基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度,包括:
根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;
基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS的异常状态码比例分值;
基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;
基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
计算所述请求流量分值、单个LVS请求异常状态码比例分值、单个节点内所有LVS请求异常状态码比例分值以及单个用户在当前LVS请求异常状态码比例分值的总和,得到当前LVS的总分值;
根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
5.根据权利要求4所述的网络流量调度管理方法,其特征在于,所述根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度,包括:
预先定义第一阈值、第二阈值,且第二阈值大于第一阈值;
若所述当前LVS的总分值小于所述第一阈值,则判断当前LVS无需调度,保持当前状态;或者,
若所述当前LVS的总分值大于或等于所述第一阈值,且小于所述第二阈值,则判断当前LVS的流量调度方式为同一节点流量跨LVS调度;或者,
若所述当前LVS的总分值大于所述第二阈值,则判断当前LVS的流量调度方式为流量跨节点调度。
6.根据权利要求5所述的网络流量调度管理方法,其特征在于,若需要进行流量调度,则根据不同的流量调度方式更新主数据仓库当前LVS配置数据,包括:
若当前LVS的流量调度方式为同一节点流量跨LVS调度,则自动删除所述主数据仓库中当前故障LVS的相关信息;或者,
若当前LVS的流量调度方式为流量跨节点调度,则自动删除所述主数据仓库中当前故障节点的相关信息。
7.根据权利要求1所述的网络流量调度管理方法,其特征在于,根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件,包括:
获取每一LVS当前配置数据从本地数据仓库的读取时间;
判断所述本地数据仓库的数据更新时间是否大于所述读取时间;若大于,则自动触发LVS配置文件更新信号。
8.根据权利要求1所述的网络流量调度管理方法,其特征在于,在所述依据所述配置数据生成更新后的LVS配置文件之后,进一步包括:
检查所述更新后的LVS配置文件是否生效;若未生效,则触发告警信号。
9.一种网络流量调度管理系统,其特征在于,包括:
获取模块,用于实时获取不同节点各个LVS流量调度过程中的回溯数据,所述回溯数据包括LVS的进出流量大小以及请求异常的状态码比例;
分析模块,用于基于所述回溯数据和预设流量调度判断条件,分别判断每一LVS是否需要进行流量调度;若需要进行流量调度,则根据不同的流量调度方式动态更新主数据仓库当前LVS配置数据;
同步模块,用于将所述主数据仓库当前LVS配置数据同步至不同节点各个LVS的本地数据仓库;以及当所述本地数据仓库的数据发生更新时,记录本地数据仓库的数据更新时间;
动态更新模块,用于根据所述本地数据仓库的数据更新时间,判断是否更新当前LVS配置文件;若更新,则从所述本地数据仓库中读取与当前LVS相关的配置数据;并依据所述配置数据生成更新后的LVS配置文件,以使当前LVS根据更新后的LVS配置文件进行流量调度。
10.根据权利要求9所述的网络流量调度管理系统,其特征在于,所述分析模块还包括请求流量分值计算单元、异常状态码比例分值计算单元、总分值计算单元以及判断单元;
所述根据请求流量分值计算单元,用于根据所述LVS的进出流量大小,以及流量大小与分值的预设关系,得到每个LVS的请求流量分值;
所述异常状态码比例分值计算单元,用于基于预设间隔时间内请求的流量次数和当前LVS请求异常的状态码比例,得到单个LVS请求异常状态码比例分值;基于同一节点所有LVS请求异常的状态码比例,得到单个节点内所有LVS请求异常状态码比例分值;基于同一用户在多个LVS请求异常的状态码比例,得到单个用户在当前LVS请求异常状态码比例分值;
所述总分值计算单元,用于计算所述请求流量分值、单个LVS请求异常状态码比例分值、单个节点内所有LVS请求异常状态码比例分值以及单个用户在当前LVS请求异常状态码比例分值的总和,得到当前LVS的总分值;
所述判断单元,用于根据所述当前LVS的总分值与阈值的预设关系,判断当前LVS是否需要进行流量调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865192.8A CN117749520B (zh) | 2023-12-29 | 2023-12-29 | 一种网络流量调度管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865192.8A CN117749520B (zh) | 2023-12-29 | 2023-12-29 | 一种网络流量调度管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117749520A true CN117749520A (zh) | 2024-03-22 |
CN117749520B CN117749520B (zh) | 2024-09-24 |
Family
ID=90259261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311865192.8A Active CN117749520B (zh) | 2023-12-29 | 2023-12-29 | 一种网络流量调度管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749520B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855764A (zh) * | 2019-11-04 | 2020-02-28 | 杭州迪普科技股份有限公司 | 网络流量调度方法、装置、电子设备 |
CN113157440A (zh) * | 2021-03-23 | 2021-07-23 | 北京云上曲率科技有限公司 | 应用于移动端的自适应负载均衡和保证高可用的方法 |
CN113703950A (zh) * | 2021-09-10 | 2021-11-26 | 国泰君安证券股份有限公司 | 实现服务器集群流量调度处理的系统、方法、装置、处理器及其计算机可读存储介质 |
CN115412610A (zh) * | 2022-08-29 | 2022-11-29 | 中国工商银行股份有限公司 | 故障场景下的流量调度方法及装置 |
CN116846900A (zh) * | 2022-11-30 | 2023-10-03 | 天翼数字生活科技有限公司 | 一种负载均衡智能调度方法、装置及设备 |
WO2023193631A1 (zh) * | 2022-04-06 | 2023-10-12 | 北京字节跳动网络技术有限公司 | 一种请求调度方法、装置、计算机设备和存储介质 |
-
2023
- 2023-12-29 CN CN202311865192.8A patent/CN117749520B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855764A (zh) * | 2019-11-04 | 2020-02-28 | 杭州迪普科技股份有限公司 | 网络流量调度方法、装置、电子设备 |
CN113157440A (zh) * | 2021-03-23 | 2021-07-23 | 北京云上曲率科技有限公司 | 应用于移动端的自适应负载均衡和保证高可用的方法 |
CN113703950A (zh) * | 2021-09-10 | 2021-11-26 | 国泰君安证券股份有限公司 | 实现服务器集群流量调度处理的系统、方法、装置、处理器及其计算机可读存储介质 |
WO2023193631A1 (zh) * | 2022-04-06 | 2023-10-12 | 北京字节跳动网络技术有限公司 | 一种请求调度方法、装置、计算机设备和存储介质 |
CN115412610A (zh) * | 2022-08-29 | 2022-11-29 | 中国工商银行股份有限公司 | 故障场景下的流量调度方法及装置 |
CN116846900A (zh) * | 2022-11-30 | 2023-10-03 | 天翼数字生活科技有限公司 | 一种负载均衡智能调度方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117749520B (zh) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442836B2 (en) | Method and system for real-time correlation of disparate sources of topological information to create a unified topological model of a distributed information system | |
US10785131B2 (en) | Method and system for synchronous and asynchronous monitoring | |
CN111092786B (zh) | 网络设备安全认证服务可靠性增强系统 | |
US5938729A (en) | System and method for monitoring server performance at a client computer | |
CN101102288B (zh) | 一种实现大型即时通信的方法及系统 | |
CN108712464A (zh) | 一种面向集群微服务高可用的实现方法 | |
US8719386B2 (en) | System and method for providing configuration synchronicity | |
US20070130330A1 (en) | System for inventing computer systems and alerting users of faults to systems for monitoring | |
WO2009064623A1 (en) | A network device and method for monitoring of backend transactions in data centers | |
CN113220723B (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN107729205B (zh) | 用于业务系统的故障处理方法和装置 | |
CN109787827B (zh) | 一种cdn网络监控的方法及装置 | |
CN111597099B (zh) | 一种监测部署于云平台的应用运行质量的无侵入仿真方法 | |
US20200092157A1 (en) | Method And System For Clustered Real-Time Correlation Of Trace Data Fragments Describing Distributed Transaction Executions | |
CN113347037B (zh) | 一种数据中心访问方法及装置 | |
CN110061876B (zh) | 运维审计系统的优化方法及系统 | |
US8117181B2 (en) | System for notification of group membership changes in directory service | |
CN117749520B (zh) | 一种网络流量调度管理方法及系统 | |
CN106790610A (zh) | 一种云系统消息分发方法,装置和系统 | |
CN116647572B (zh) | 访问端点切换方法、装置、电子设备及存储介质 | |
CN116886286A (zh) | 大数据认证服务自适应方法、装置和设备 | |
CN110569238A (zh) | 一种基于大数据的数据治理方法、系统、存储介质和服务端 | |
CN106209602B (zh) | 跨数据中心多路径高可靠性消息传输系统 | |
CN106571943A (zh) | 分布式架构集群扩容方法及装置 | |
CN112153130A (zh) | 一种业务资源访问方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |