一种直播流量突发的应对方法及系统与流程

文档序号:22506558发布日期:2020-10-13 09:44阅读:179来源:国知局
一种直播流量突发的应对方法及系统与流程

本发明涉及直播领域,具体涉及一种直播流量突发的应对方法及系统。



背景技术:

目前,直播类应用都面临异常突发流量时的服务可用性保障问题。如流量明星突然开播、微博官宣、热点事件等,这类流量的特点是流量突发性较高,增速较快。

现有技术多是通过流量感知的方式进行弹性扩容,当检测到流量异常增长或达到系统扩容阈值时,运维系统进行自动扩容来提升服务的容量。

在实现本发明过程中,申请人发现现有技术中至少存在如下问题:

现有技术中,虽然是通过流量感知进行自动扩容,快速增加服务的容量,对于类似微博直播产品特有的流量特征--流量大、增速快,在容量保证上还是有些困难的。

受限于时间:扩容期间,流量增长过快,已经超过系统的瓶颈,导致系统的可用性降低。

受限于扩容机器储备:扩容所需服务器不足,导致扩容失败。如果跨区扩容存在网络延迟问题,影响服务性能。



技术实现要素:

本发明实施例提供一种直播流量突发的应对方法及系统,不受限于扩容的时间,机器储备以及成本,提供最大的可用性保障;异常流量突发时,能够对后端的系统做有效的保护,避免产生雪崩效应。

为达上述目的,一方面,本发明实施例提供一种直播流量突发的应对方法,包括:

实时监控并获取直播服务后端关于直播服务响应的异常频率;

当获取到用户发起的热度直播观看请求时,将直播服务后端关于直播服务响应的异常频率与预设的第一阈值进行比对,根据比对结果将该热度直播观看请求转发给直播服务后端或者代理单元。

另一方面,本发明实施例提供一种直播流量突发的应对系统,包括:

异常监控单元,用于实时监控并获取直播服务后端关于直播服务响应的异常频率;

异常判断转发单元,用于当获取到用户发起的热度直播观看请求时,将直播服务后端关于直播服务响应的异常频率与预设的第一阈值进行比对,根据比对结果将该热度直播观看请求转发给直播服务后端或者代理单元。

上述技术方案具有如下有益效果:不受限于扩容的时间,机器储备以及成本,提供最大的可用性保障;异常流量突发时,能够对后端的系统做有效的保护,避免产生雪崩效应。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种直播流量突发的应对方法的流程图;

图2是本发明实施例的一种直播流量突发的应对系统的结构图;

图3是本发明实施例的代理保障系统的架构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,结合本发明的实施例,提供一种直播流量突发的应对方法,包括:

s101:实时监控并获取直播服务后端24关于直播服务响应的异常频率;

s102:当获取到用户发起的热度直播观看请求时,将直播服务后端24关于直播服务响应的异常频率与预设的第一阈值进行比对,根据比对结果将该热度直播观看请求转发给直播服务后端24或者代理单元26。

优选地,还包括:

s103:当直播服务后端24关于直播服务响应的异常频率小于第一阈值时,将该热度直播观看请求转发给直播服务后端24,由直播服务后端24提供该热度直播观看请求相应的服务数据;

s104:当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,将该热度直播观看请求转发给代理单元26,代理单元26自临时存储单元28获取该热度直播观看请求相应的服务数据并提供该热度直播观看请求相应的服务数据。

优选地,还包括:

s105:任务单元27周期性自直播服务后端24获取正在进行的直播的主播数据,基于热度对主播进行排序得到热度主播,生成热度直播的服务数据,所述热度直播的服务数据是指热度主播所进行的直播相应的服务数据;

s106:将任务单元27生成的热度直播的服务数据保存在临时存储单元28。

优选地,还包括:

s107:当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,触发直播服务后端24的熔断机制,使得直播服务后端24自该热度直播观看请求起暂停提供直播服务数据。

优选地,还包括:

s108:当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,触发直播服务后端24的降级机制,使得直播服务后端24降级提供正在进行的直播所需的服务数据减少提供给用户的直播服务内容。

并且,当检测到直播服务后端24关于直播服务响应的异常频率恢复到小于第一阈值时,在直播服务后端24,停止服务后端24的降级机制,恢复提供正在进行的直播所需的服务数据。

优选地,还包括:

s109:实时采集代理单元26的负载状态;

s110:当代理单元26的负载不小于设定的第二阈值时,触发代理单元26的降级机制,使得代理单元26降级提供正在进行的直播所需的服务数据减少提供给用户的直播服务内容。并且,当代理单元26的负载恢复到小于第二阈值时,停止代理单元26的降级机制,恢复提供正在进行的直播所需的服务数据。

如图2所示,结合本发明的实施例,提供一种直播流量突发的应对系统,包括:

异常监控单元21,用于实时监控并获取直播服务后端24关于直播服务响应的异常频率;

异常判断转发单元22,用于当获取到用户发起的热度直播观看请求时,将直播服务后端24关于直播服务响应的异常频率与预设的第一阈值进行比对,根据比对结果将该热度直播观看请求转发给直播服务后端24或者代理单元26。

优选地,所述异常判断转发单元,具体包括第一转发子单元和第二转发子单元,其中:

第一转发子单元23,用于当直播服务后端24关于直播服务响应的异常频率小于第一阈值时,将该热度直播观看请求转发给直播服务后端24;

直播服务后端24,当接收到第一转发子单元23转发的热度直播观看请求,提供该热度直播观看请求相应的服务数据;

优选地,包括:

第二转发子单元25,用于当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,将该热度直播观看请求转发给代理单元26;

代理单元26,用于接收到第二转发子单元25转发的热度直播观看请求时,自临时存储单元28获取该热度直播观看请求相应的服务数据并提供该热度直播观看请求相应的服务数据。

优选地,还包括:

任务单元27,用于周期性自直播服务后端24获取正在进行的直播的主播数据,基于热度对主播进行排序得到热度主播,生成热度直播的服务数据,所述热度直播的服务数据是指热度主播所进行的直播相应的服务数据;

临时存储单元28,用于保存任务单元27生成的热度直播的服务数据。

优选地,还包括:

熔断单元28,用于当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,触发直播服务后端24的熔断机制,使得直播服务后端24自该热度直播观看请求起暂停提供直播服务数据。

优选地,还包括:

第一降级单元29,用于当直播服务后端24关于直播服务响应的异常频率不小于第一阈值时,触发直播服务后端24的降级机制,使得所述直播服务后端24降级提供正在进行的直播所需的服务数据减少提供给用户的直播服务内容。

优选地,还包括:

负载监控单元210,用于实时采集代理单元26的负载状态;

第二降级单元220,用于当代理单元26的负载不小于设定的第二阈值时,触发代理单元26的降级机制,使得代理单元26降级提供正在进行的直播所需的服务数据减少提供给用户的直播服务内容。

本发明所取得的有益效果为:

1.基于代理层服务系统负载的系统保护设计,不受限于扩容的时间、机器储备以及成本,能够提供最大的可用性保障;

2.响应状态分析统计的后端过载保护设计,当异常流量突发时,能够对服务后端的系统做有效的保护,避免产生雪崩效应。

3.基于base理论的最终一致性设计,当后端系统出现容量问题时,允许损失部分的可用性,提供给用户端降级的服务,此时系统处于基本可用状态。同时,后端系统通过扩容或自动修复恢复服务,经过一段时间后达到最终一致性,给用户端提供正常的服务。代理层保障系统通过集群的方式部署,规避单点问题,提升了系统的可用性。

下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。

本发明为针对热度直播服务应对突发流量的代理层保障系统,如图3所示,用以解决热度直播异常突发流量的服务可用性问题,通过流量感知、熔断、过载保护等方式,提升服务的可用性。

关于直播服务应对突发流量的代理层保障系统的使用,其具体操作步骤如下:

步骤一:请求转发

1.用户通过点击push、热搜等方式进入直播app,针对热度直播观看请求先达到代理层保障系统;

2.代理层保障系统根据服务的容量情况,处理用户的热度直播观看请求。

步骤二:流量转发

1.接收后端服务返回的信息,如果返回的信息与达到后端正常的预设条件,如果后端服务正常,代理层保障系统将会把流量(热度直播观看请求)转发给后端服务;比如:后端服务返回200,并且httpbody不为空,则判断服务为正常。

当后端长期异常,比如20%的请求都非200,则作为熔断处理,接下来5s内的请求将不会转发给后端。

2.记录后端的响应状态,用来分析判断后端服务的容量与负载。

步骤三:服务降级

代理层设定后端服务响应异常的频率的阈值,当具有多个服务池时,以每个服务池中所有请求的异常为统计标准来具体设定后端服务响应异常的频率的阈值。当步骤二.2中采集后端响应异常的频率达到阈值时,将视为后端服务异常或负载过高,此时将会触发熔断,即后端服务不再接受新的热度直播观看请求,同时并降级对应的服务,降级的数据依然由后端服务提供,可以是有损的数据或过时的数据,最大程度降低对用户的影响。

异常的原因包含负载过高,但是前端不能直接获取到后端的负载。而后端负载过高,表现给代理层就是接口超时或非200的状态,是定性结论,所以没有具体的数字标准。

异常可以理解为是出现问题但是负载未达到最高,比如cpu利用率80左右时,会有偶尔超时,但当cpu利用率100%时,90%的请求可能都会失败。

1.在熔断期间内,新的热度直播观看请求将不会转发给原有后端服务来提供服务,原有在后端的直播服务,则直接通过降级的方式返回给用户降级的数据,此处的降级是指针对同一请求,服务的内容减少,保证基本观看需求或者是保证提供节目的主要性能服务。针对引起熔断的这个请求,采用两种方式处理:1)由后端提供一个高速接口,为该请求提供的数据或者内容少,或者缺少一些不必要信息,但是对后端资源的消耗小;2)通过一个缓存获取数据,不请求后端服务。

2.采集代理保障系统本身的负载情况,当代理层保障系统本身服务过载时,将触发过载保护,将会返回给用户端降级的数据以提升系统的容量。

步骤四:服务恢复

1.服务后端会自行恢复,具体为或者扩容或者修复。当后端服务的系统过载或异常问题修复时,代理层系统可以感知到后端服务的恢复情况,当修复完毕后,后端服务会返回给代理层系统负载正常或者问题异常修复完毕的定性结论,比如:基于http返回状态码或者responsebody。

当负载过载时,恢复负载正常所采取的措施为:后端进行了扩容;或者后端做了其他处理,比如手动关闭了些非必要的功能,使得他本身的负载恢复。

2.当后端服务恢复后,代理层系统会解除对后端服务的降级设置,提供给正在使用后端服务的用户正常的数据,保证了最终一致性。

并且解除降级时,原来由代理层提供服务数据依然由代理层提供服务数据,只是将新接受的请求转发送给后端服务,以达到最终一致性。最终一致性:不同业务标准不同,如果频道列表,那就是最新的feed列表数据;如果是直播间,那就是直播间的所有功能可用。

3.当代理系统本身负载恢复后,代理层服务也会解除降级,提供给正在使用代理系统的用户正常数据,保障了最终一致性。

本发明所取得的有益效果为:

1.基于代理层服务系统负载的系统保护设计,不受限于扩容的时间、机器储备以及成本,能够提供最大的可用性保障;

2.响应状态分析统计的后端过载保护设计,当异常流量突发时,能够对服务后端的系统做有效的保护,避免产生雪崩效应。

3.基于base理论的最终一致性设计,当后端系统出现容量问题时,允许损失部分的可用性,提供给用户端降级的服务,此时系统处于基本可用状态。同时,后端系统通过扩容或自动修复恢复服务,经过一段时间后达到最终一致性,给用户端提供正常的服务。代理层保障系统通过集群的方式部署,规避单点问题,提升了系统的可用性。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1