一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种流媒体负载均衡方法、装置及系统与流程

2022-10-26 19:29:02 来源:中国专利 TAG:


1.本技术涉及流媒体技术领域,特别涉及一种流媒体负载均衡方法、装置及系统。


背景技术:

2.在流媒体技术中,常通过流媒体节点集群提供流媒体服务。这里,流媒体集群包含多个流媒体节点(也称流媒体服务器)。在应用中,负载均衡服务器会运用负载均衡方法从流媒体节点集群中的可用流媒体节点中选择一个当前最优的流媒体节点提供服务。这里,可用流媒体节点是排除出现故障的流媒体节点。
3.目前,流媒体节点是否故障,完全依赖于流媒体节点与负载均衡服务器之间的连接,比如,连接失败,确认流媒体节点故障,连接成功,确认流媒体节点可用。然而,由于流媒体节点集群结构复杂,简单地依赖于流媒体节点与负载均衡服务器之间的连接是不能直接确认流媒体节点故障的,常常,受限于流媒体节点本地磁盘、流媒体节点集群网络等,即使流媒体节点与负载均衡服务器之间的连接成功,也不能直接确认流媒体节点可用。现有这种简单依赖于流媒体节点与负载均衡服务器之间的连接来确认流媒体节点是否故障的方法,常常会引起节点负载不均衡。


技术实现要素:

4.本技术公开了一种流媒体负载均衡方法、装置及系统,以避免因基于流媒体节点与负载均衡服务器之间的连接来确认流媒体节点是否故障引起的负载不均衡。
5.本技术实施例提供一种流媒体负载均衡方法,所述方法应用于负载均衡服务器,包括:
6.获得第一流媒体节点集群中流媒体节点的健康状态信息;所述流媒体节点的健康状态信息至少包括所述流媒体节点在正常时的节点入口成功率、节点出口成功率;所述节点入口成功率依据同一单位时间内第一数量和第二数量确定;所述节点出口成功率依据所述单位时间内的第三数量和所述第二数量确定;所述第一数量是指所述单位时间内由负载均衡服务器分配允许访问该流媒体节点的客户端的数量k1;所述第二数量是指所述单位时间内向该流媒体节点实际发起请求的客户端的数量k2;所述第三数量是指所述单位时间内该流媒体节点响应的客户端的数量k3;
7.根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态;在确定出流媒体节点的状态为可用状态时,确定流媒体节点的当前实际失效负载failload,根据流媒体节点支持的最大负载maxload、实际使用负载usedload以及当前实际失效负载failload确定流媒体节点的当前可用负载useableload,流媒体节点的当前可用负载useableload作为负载均衡调度流媒体节点的依据。
8.一种流媒体负载均衡装置,所述装置应用于负载均衡服务器,包括:
9.获得单元,用于获得第一流媒体节点集群中流媒体节点的健康状态信息;所述流媒体节点的健康状态信息至少包括所述流媒体节点在正常时的节点入口成功率、节点出口
成功率;所述节点入口成功率依据同一单位时间内第一数量和第二数量确定;所述节点出口成功率依据所述单位时间内的第三数量和所述第二数量确定;所述第一数量是指所述单位时间内由负载均衡服务器分配允许访问该流媒体节点的客户端的数量k1;所述第二数量是指所述单位时间内向该流媒体节点实际发起请求的客户端的数量k2;所述第三数量是指所述单位时间内该流媒体节点响应的客户端的数量k3;
10.负载均衡单元,用于根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态;在确定出流媒体节点的状态为可用状态时,确定流媒体节点的当前实际失效负载failload,根据流媒体节点支持的最大负载maxload、实际使用负载usedload以及当前实际失效负载failload确定流媒体节点的当前可用负载useableload,流媒体节点的当前可用负载useableload作为负载均衡调度流媒体节点的依据。
11.一种流媒体负载均衡系统,其特征在于,所述系统包括:
12.第一流媒体节点集群,其包含多个流媒体节点和负载均衡服务器;
13.流媒体节点,用于在正常时与所述负载均衡服务器进行交互,以使负载均衡服务器执行如上方法的步骤;
14.所述负载均衡服务器用于执行如上方法的步骤。
15.一种电子设备,该电子设备包括:处理器和存储器;
16.其中,所述存储器,用于存储机器可执行指令;
17.所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上方法。
18.由以上技术方案可知,本实施例中,负载均衡服务器在检测与流媒体节点之间的连接的基础上,引入流媒体节点的入口成功率、出口成功率来动态评估流媒体节点是否存在单点故障,保证在节点单点故障时不再继续大量分配负载,避免因单点故障导致机房成功率降低,实现自动摘除故障节点;
19.进一步地,在本实施例中,其在进行负载均衡时,通过实时确定流媒体节点的当前实际失效负载,保证负载均衡的有效性和均衡性。
20.进一步地,在本实施例中,还可基于第一流媒体节点集群中流媒体节点故障进一步判断第一流媒体节点集群的故障情况,并实现自动判定集群故障与恢复与否,做到自动处置。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
23.图1为本技术实施例提供的方法流程图;
24.图2为本技术实施例提供的流媒体节点集群结构图;
25.图3为本技术实施例提供的流媒体节点集群切换结构图;
26.图4为本技术实施例提供的系统结构图;
27.图5是本技术实施例提供的装置结构示意图;
28.图6是本技术实施例提供的图5所示装置的硬件结构示意图。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
30.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
31.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
32.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,并使本技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术实施例中技术方案作进一步详细的说明。
33.参见图1,图1为本技术实施例提供的方法流程图。该方法应用于负载均衡服务器。可选地,在本实施例中,负载均衡服务器可用于按照负载均衡方式调度流媒体节点集群中的流媒体节点转发流量。作为一个实施例,负载均衡服务器可部署在流媒体节点集群中。图2举例示出了流媒体节点集群结构。
34.如图1所示,该流程可包括以下步骤:
35.步骤101,获得第一流媒体节点集群中流媒体节点的健康状态信息。
36.这里,第一流媒体节点集群可为负载均衡服务器用于负责负载均衡控制的流媒体节点集群,比如负载均衡服务器所处的流媒体节点集群,本实施例只是为便于描述而进行的命名,并非用于限定。
37.在本实施例中,流媒体节点的健康状态信息至少包括所述流媒体节点在正常时的节点入口成功率(nodeinsuccrate)、节点出口成功率(nodeoutsuccrate)。下面描述节点入口成功率、节点出口成功率如何确定:
38.如图2所示,第一流媒体节点集群中各流媒体节点与负载均衡服务之间保持长连接,流媒体节点在正常时会周期(其可为单位时间比如1分钟等)上报本流媒体节点的节点信息。这里的节点信息至少包括:第二数量和第三数量。第二数量是指单位时间内向该流媒体节点实际发起请求的客户端的数量k2。第三数量是指上述单位时间内该流媒体节点响应的客户端的数量k3。在本实施例中,上述单位时间内可为流媒体节点当前上报上述节点状态信息的当前周期(比如1分钟等)的上一周期,本实施例并不具体。在本实施例中,当客户端向其被分配的流媒体节点发起请求后,流媒体节点在接收到请求后会响应该客户端。这里,k3为流媒体节点在上述单位时间内响应的客户端的数量。k3小于或等于k2。
39.可选地,在本实施例中,上述节点信息或者负载均衡服务器本地会记录上述单位时间内的第一数量。这里,第一数量是指上述单位时间内由负载均衡服务器分配允许访问该流媒体节点的客户端的数量k1。也即,在上述单位时间内,负载均衡服务器会分配允许k1个客户端访问该流媒体节点,以由该流媒体节点负责该k1个客户端的流媒体流量。在本实施例中,客户端在分配流媒体节点后,其会向被分配的流媒体节点发起请求。但也可能由于网络等原因,客户端在被分配流媒体节点后,并没有向被分配的流媒体节点发起请求。这里,k2是单位时间内实际向该流媒体节点发起请求的客户端的数量。k2小于或等于k1。
40.基于上述第一数量和第二数量,则可选地,负载均衡服务器会依据上述单位时间内的第一数量和第二数量确定节点入口成功率。可选地,在本实施例中,节点入口成功率可通过下式表示:
41.节点入口成功率=k2/k1。
42.基于上述第二数量和第三数量,则可选地,负载均衡服务器会依据上述单位时间内的第二数量和第三数量确定节点出口成功率。作为一个实施例,节点出口成功率可通过下式表示:节点出口成功率=k3/k2。
43.在本实施例中,负载均衡服务器还可借助于心跳检测来获得与第一流媒体节点集群中各流媒体节点之间的连接信息,一旦通过心跳检测发现与流媒体节点之间的连接异常,则负载均衡服务器确定该流媒体节点不可用,此时意味着获得该流媒体节点的健康状态信息。该健康状态信息可包含用于表示该流媒体节点不可用的不可用标识。
44.步骤102,根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态。
45.可选地,若上述健康状态信息包括上述节点入口成功率和上述节点出口成功率,则本步骤102中,根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态可包括以下步骤a1至步骤a2:
46.步骤a1:依据流媒体节点的节点入口成功率和节点出口成功率,确定流媒体节点的节点成功率。
47.作为一个实施例,这里,节点成功率(nodesuccrate)可通过下式表示:
48.节点成功率=节点入口成功率*节点出口成功率。
49.步骤a2,若所述节点成功率小于设定阈值,则确定流媒体节点的状态为故障,否则,确定流媒体节点的状态为可用状态。
50.可选地,作为另一实施例,若在本实施例中,流媒体节点的健康状态信息至少包括用于表示流媒体节点不可用的不可用标识,则本步骤102中,根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态包括:若所述流媒体节点的健康状态信息包括不可用标识,则确定流媒体节点的状态为故障。
51.步骤103,在确定出流媒体节点的状态为可用状态时,确定流媒体节点的当前实际失效负载failload,根据流媒体节点支持的最大负载maxload、实际使用负载usedload以及当前实际失效负载failload确定流媒体节点的当前可用负载useableload;各流媒体节点的当前可用负载useableload作为负载均衡调度流媒体节点的依据。
52.本实施例中,确定流媒体节点的当前实际失效负载failload的方式有很多,比如:检测当前时间是否为失效负载更新时间,如果是,依据当前失效负载周期内基于该流媒体
节点每次上报的健康状态信息计算出的失效负载,确定当前实际失效负载,如果否,确定当前实际失效负载为上一失效负载周期确定出的历史实际失效负载。
53.作为一个实施例,当前失效负载周期的时长可被预先设置,比如被设置为n个上述单位时间。n大于或等于1。
54.作为另一个实施例,当前失效负载周期也可按照幂次退避方式动态设置,比如按照如下式设置:failloadinterval*2^failurestepinterval。初始,failloadinterval为流媒体节点上报健康状态信息的周期时长(比如1分钟),在非初始,failloadinterval为上一个失效负载周期的时长,failurestepinterval为设定步长,该设定步长可为固定值,也可为与各失效负载周期相匹配的步长,比如,第一个失效负载周期,failurestepinterval为1,第二个失效负载周期,failurestepinterval为2,依次类推。
55.在上面描述中,检测当前时间是否为失效负载更新时间有很多方式,比如检测当前时间距离当前失效负载周期的结束时间之间的时间差是否小于或等于设定时间差阈值,如果是,确定当前时间为失效负载更新时间,否则,确定当前时间不为失效负载更新时间。
56.作为一个实施例,上述依据当前失效负载周期内基于该流媒体节点每次上报的健康状态信息计算出的失效负载,确定当前实际失效负载有很多实现方式:
57.比如:当前失效负载周期的时长为一个上述单位时间,则依据当前接收到的健康状态信息确定出的流媒体节点的节点成功率确定对应的失效负载,具体可基于下式确定失效负载:失效负载=(1-nodesuccrate)*第一数量。将该确定的失效负载确定为当前实际失效负载。
58.再比如:当前失效负载周期的时长为n个上述单位时间的时长,则可将每一单位时间内收到的健康状态信息确定出该单位时间对应的失效负载(具体参见上述确定失效负载的计算公式),将n个单位时间对应的失效负载进行指定运算比如平均值运算等,若已记录当前实际失效负载(此时为上一失效负载周期确定出的实际失效负载或者默认值),则将已记录当前实际失效负载更新为该运算结果,否则,直接将该运算结果作为当前实际失效负载并记录。
59.之后,可根据流媒体节点支持的最大负载maxload、实际使用负载usedload以及当前实际失效负载failload确定流媒体节点的当前可用负载useableload,以便在在后续接收到来自客户端的流量请求时,根据各流媒体节点的当前可用负载useableload优选当前可用负载取值最大的流媒体节点。
60.至此,完成图1所示流程。
61.通过图1所示流程可以看出,在本实施例中,负载均衡服务器在检测与流媒体节点之间的连接的基础上,引入流媒体节点的入口成功率、出口成功率来动态评估流媒体节点是否存在单点故障,保证在节点单点故障时不再继续大量分配负载,避免因单点故障导致机房成功率降低,实现自动摘除故障节点;
62.进一步地,在本实施例中,其在进行负载均衡时,实时确定流媒体节点的当前实际失效负载,保证负载均衡的有效性和均衡性。
63.进一步地,在本实施例中,还可基于第一流媒体节点集群中流媒体节点故障进一步判断第一流媒体节点集群的故障情况,并实现自动判定集群故障与恢复与否,做到自动处置。具体地,在本实施例中,可实时或周期统计第一流媒体节点集群中被确定为故障的流
媒体节点的数量,若所述数量大于设定阈值,则确定所述第一流媒体节点集群故障,触发用于管理流媒体节点集群的管理服务器执行流媒体节点集群切换,以将原本通过所述第一流媒体节点集群提供的服务切换至第二流媒体节点集群。图3举例示出流媒体节点集群的切换示意图。
64.可选地,在本实施例中,若在检测到第一流媒体节点集群从故障恢复时,将原本通过所述第一流媒体节点集群提供的服务从所述第二流媒体节点集群切换至所述第一流媒体节点集群;这里,第一流媒体节点集群从故障恢复是指所述第一流媒体节点集群中故障的流媒体节点的数量大于或等于所述设定阈值。最终实现了自动处置集群故障与恢复。
65.以上对本技术实施例提供的方法进行了描述,下面对本技术实施例提供的系统和装置进行描述:
66.参见图4,图4为本技术实施例提供的系统结构图。如图4所示,所述系统包括:
67.第一流媒体节点集群,其包含多个流媒体节点和负载均衡服务器;
68.所述负载均衡服务器用于执行如图1所述的方法步骤;
69.流媒体节点用于在正常时与负载均衡服务器,以使负载均衡服务器执行如图1所述的方法步骤.
70.可选地,所述系统还包括:用于管理流媒体节点集群的管理服务器;
71.所述管理服务器,用于在第一流媒体节点集群故障时执行流媒体节点集群切换,以将原本通过所述第一流媒体节点集群提供的服务切换至第二流媒体节点集群;以及在第一流媒体节点集群从故障恢复时,将原本通过所述第一流媒体节点集群提供的服务从所述第二流媒体节点集群切换至所述第一流媒体节点集群。
72.至此,完成图4所示系统的结构描述。
73.参见图5,图5为本技术实施例提供的装置结构图。所述装置应用于负载均衡服务器,如图5所示,该装置可包括:
74.获得单元,用于获得第一流媒体节点集群中流媒体节点的健康状态信息;所述流媒体节点的健康状态信息至少包括所述流媒体节点在正常时的节点入口成功率、节点出口成功率;所述节点入口成功率依据同一单位时间内第一数量和第二数量确定;所述节点出口成功率依据所述单位时间内的第三数量和所述第二数量确定;所述第一数量是指所述单位时间内由负载均衡服务器分配允许访问该流媒体节点的客户端的数量k1;所述第二数量是指所述单位时间内向该流媒体节点实际发起请求的客户端的数量k2;所述第三数量是指所述单位时间内该流媒体节点响应的客户端的数量k3;
75.负载均衡单元,用于根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态;在确定出流媒体节点的状态为可用状态时,确定流媒体节点的当前实际失效负载failload,根据流媒体节点支持的最大负载maxload、实际使用负载usedload以及当前实际失效负载failload确定流媒体节点的当前可用负载useableload,流媒体节点的当前可用负载useableload作为负载均衡调度流媒体节点的依据。
76.可选地,所述节点入口成功率为所述第二数量与所述第一数量的比值;
77.所述节点出口成功率为所述第三数量与所述第二数量的比值。
78.可选地,若所述健康状态信息包括所述节点入口成功率和所述节点出口成功率;
79.所述根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流
媒体节点的状态包括:
80.依据流媒体节点的节点入口成功率和节点出口成功率,确定流媒体节点的节点成功率;
81.若所述节点成功率小于设定阈值,则确定流媒体节点的状态为故障,否则,确定流媒体节点的状态为可用状态。
82.可选地,所述流媒体节点的健康状态信息至少包括用于表示所述流媒体节点不可用的不可用标识;
83.所述根据获得的所述第一流媒体节点集群中流媒体节点的健康状态信息,确定流媒体节点的状态包括:
84.若所述流媒体节点的健康状态信息包括不可用标识,则确定流媒体节点的状态为故障。
85.可选地,所述确定流媒体节点的当前实际失效负载包括:
86.检测当前时间是否为失效负载更新时间,如果是,依据当前失效负载周期内基于该流媒体节点每次上报的健康状态信息计算出的失效负载,确定当前实际失效负载,如果否,确定当前实际失效负载为上一失效负载周期确定出的历史实际失效负载。
87.可选地,负载均衡单元进一步统计所述第一流媒体节点集群中状态为故障的流媒体节点的数量;若所述数量大于设定阈值,则确定所述第一流媒体节点集群故障,触发用于管理流媒体节点集群的管理服务器执行流媒体节点集群切换,以将原本通过所述第一流媒体节点集群提供的服务切换至第二流媒体节点集群,并在检测到第一流媒体节点集群从故障恢复时,将原本通过所述第一流媒体节点集群提供的服务从所述第二流媒体节点集群切换至所述第一流媒体节点集群;
88.其中,第一流媒体节点集群从故障恢复是指所述第一流媒体节点集群中故障的流媒体节点的数量大于或等于所述设定阈值。
89.至此,完成图5所示装置的结构描述。
90.对应地,本技术实施例还提供了一种电子设备的硬件结构图,具体如图6所示,该电子设备可以为上述实施负载均衡方法的硬件设备。如图6所示,该硬件结构包括:处理器和存储器。
91.其中,所述存储器,用于存储机器可执行指令;
92.所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的方法实施例。
93.作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是ram(radom access memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
94.至此,完成图6所示电子设备的描述。
95.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献