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

一种视频流限流方法和装置与流程

2021-10-26 19:24:00 来源:中国专利 TAG:
一种视频流限流方法和装置与流程

本发明涉及物联网中的网络与通讯技术领域,尤其涉及一种视频流限流方法和装置。

背景技术

在金融行业安保业务中,为能够第一时间实现快速安防、及时协查,对于通过移动端查看重点部位(如网点)以及历史监控记录的需求日益强烈,在查看视频的过程中也极大增加了服务带宽的压力,目前主要基于系统调用次数(方式一)或网络流控设备(方式二)进行管理。

方式一:流提供方提供流控组件,流调用方基于流控组件向流提供方申请调用视频流,流提供方在限流服务作用下,限制流调用方请求流接口。方式二:在重点部位安装流控设备,当重点部位流量超限时,通过设备监控流量进行限流。

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

1、方式一的本质是对开流请求次数进行限流,而非对请求的实际视频流限流,造成限流的准确度不高;

2、方式二的本质是对所有视频流进行流量限制,但在实际业务场景中,各类型的视频流本质上因为业务差异拥有不同的优先级,而现有方案无法针对不同业务属性优先级的视频流进行限流。另外,该种方式需采购流控设备,增加采购成本。



技术实现要素:

有鉴于此,本发明实施例提供一种视频流限流方法和装置,至少能够解决现有技术中限流准确度低或成本高的现象。

为实现上述目的,根据本发明实施例的一个方面,提供了一种视频流限流方法,包括:接收流调用方对目标视频流的开流请求,根据所述目标视频流的主要信息,获取所述目标视频流的流向经过路径;其中,流向经过路径包括重点部位和监控中心;获取重点部位当前的第一开流信息,基于优先级排序和重点部位的限流条件处理所述第一开流信息,以将所述目标视频流传输给监控中心;获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,以将所述目标视频流传输给所述流调用方。

可选的,在所述接收流调用方对目标视频流的开流请求之前,还包括:将每个视频流的主要信息传输给限流服务组件进行存储;其中,主要信息包括重点部位信息、下级监控中心信息、上级监控中心信息、视频流优先级。

可选的,还包括:获取每个视频流所属的业务属性,按照不同业务属性之间预设的优先级顺序,确定每个视频流的优先级。

可选的,在所述接收流调用方对目标视频流的开流请求之前,还包括:将每个重点部位当前的开流信息和开流总流量大小,传输给限流服务组件进行存储;以及将每个监控中心当前开流的出入流量大小,传输给限流服务组件进行存储。

可选的,所述基于优先级排序和重点部位的限流条件处理所述第一开流信息,包括:依据所述第一开流信息统计当前开流的总流量大小,结合所述目标视频流的流量需求量,得到第一流量需求总量;判断所述第一流量需求总量是否大于重点部位的开流上限,若判断结果为否,则对所述第一开流信息不做处理;若判断结果为是,则从所述第一开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

可选的,从所述第一开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理,包括:计算所述第一流量需求总量与所述开流上限的差值,从所述第一开流信息中筛选出优先级最低的视频流;判断视频流的流量需求量是否大于或等于所述差值,若判断结果为是,则对视频流进行关闭处理;若判断结果为否,则按照优先级从低到高的顺序,累加多个视频流,直至累加的流量需求量大于或等于所述差值为止,对累加的多个视频流进行关闭处理。

可选的,从所述第一开流信息中筛选出优先级最低的视频流,包括:从所述第一开流信息和所述目标视频流中,筛选出优先级最低的视频流;判断视频流中是否包含所述目标视频流,若包含,则结束对所述目标视频流的操作流程。

可选的,流调用方为下级监控中心;所述基于优先级排序和监控中心的限流条件处理所述第二开流信息,包括:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息。

可选的,所述基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,包括:依据所述第三开流信息统计当前开流的总流量大小,结合所述目标视频流的流量,得到第二流量需求总量;判断所述第二流量需求总量是否大于下级监控中心入口的开流上限,若判断结果为否,则对所述第三开流信息不做处理;若判断结果为是,则从所述第三开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

可选的,还包括:在流调用方为下级监控中心的情况下,不建立下级监控中心出口与上级监控中心入口之间的级联关系。

可选的,流调用方为上级监控中心;所述获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,包括:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息,以将所述目标视频流传输给上级监控中心入口;获取上级监控中心入口当前的第五开流信息,基于上级监控中心入口的限流条件和优先级排序处理所述第五开流信息,以将所述目标视频传输给上级监控中心出口;获取上级监控中心出口当前的第六开流信息,基于上级监控中心出口的限流条件和优先级排序处理所述第六开流信息。

可选的,还包括:在流调用方为上级监控中心的情况下,建立下级监控中心出口与上级监控中心入口之间的级联关系。

可选的,还包括:确定接收上一个开流请求的时间,计算所述时间与接收所述开流请求的时间的间隔;判断所述间隔是否大于或等于预设间隔,若判断结果为是,则处理所述开流请求;若判断结果为否,则在处理完毕所述上一个开流请求、并更新重点部位和监控中心的开流信息后,再处理所述开流请求。

可选的,还包括:在处理所述开流请求的过程中,若发生异常,则触发回滚操作,以将重点部位和监控中心的开流信息回滚到未处理所述开流请求时的状态。

可选的,还包括:基于所述目标视频流,更新待反馈视频流列表。

为实现上述目的,根据本发明实施例的另一方面,提供了一种视频流限流装置,包括:视频流信息存储模块,用于接收流调用方对目标视频流的开流请求,根据所述目标视频流的主要信息,获取所述目标视频流的流向经过路径;其中,流向经过路径包括重点部位和监控中心;重点部位流控模块,用于获取重点部位当前的第一开流信息,基于优先级排序和重点部位的限流条件处理所述第一开流信息,以将所述目标视频流传输给监控中心;监控中心流控模块,用于获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,以将所述目标视频流传输给所述流调用方。

可选的,所述视频流信息存储模块,还用于:将每个视频流的主要信息传输给限流服务组件进行存储;其中,主要信息包括重点部位信息、下级监控中心信息、上级监控中心信息、视频流优先级。

可选的,还包括优先级计算模块,用于:获取每个视频流所属的业务属性,按照不同业务属性之间预设的优先级顺序,确定每个视频流的优先级。

可选的,所述视频流信息存储模块,还用于:将每个重点部位当前的开流信息和开流总流量大小,传输给限流服务组件进行存储;以及将每个监控中心当前开流的出入流量大小,传输给限流服务组件进行存储。

可选的,所述重点部位流控模块,用于:依据所述第一开流信息统计当前开流的总流量大小,结合所述目标视频流的流量需求量,得到第一流量需求总量;判断所述第一流量需求总量是否大于重点部位的开流上限,若判断结果为否,则对所述第一开流信息不做处理;若判断结果为是,则从所述第一开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

可选的,所述重点部位流控模块,用于:计算所述第一流量需求总量与所述开流上限的差值,从所述第一开流信息中筛选出优先级最低的视频流;判断视频流的流量需求量是否大于或等于所述差值,若判断结果为是,则对视频流进行关闭处理;若判断结果为否,则按照优先级从低到高的顺序,累加多个视频流,直至累加的流量需求量大于或等于所述差值为止,对累加的多个视频流进行关闭处理。

可选的,所述重点部位流控模块,用于:从所述第一开流信息和所述目标视频流中,筛选出优先级最低的视频流;判断视频流中是否包含所述目标视频流,若包含,则结束对所述目标视频流的操作流程。

可选的,流调用方为下级监控中心;所述监控中心流控模块,用于:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息。

可选的,所述监控中心流控模块,用于:依据所述第三开流信息统计当前开流的总流量大小,结合所述目标视频流的流量,得到第二流量需求总量;判断所述第二流量需求总量是否大于下级监控中心入口的开流上限,若判断结果为否,则对所述第三开流信息不做处理;若判断结果为是,则从所述第三开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

可选的,还包括:在流调用方为下级监控中心的情况下,不建立下级监控中心出口与上级监控中心入口之间的级联关系。

可选的,流调用方为上级监控中心;所述监控中心流控模块,用于:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息,以将所述目标视频流传输给上级监控中心入口;获取上级监控中心入口当前的第五开流信息,基于上级监控中心入口的限流条件和优先级排序处理所述第五开流信息,以将所述目标视频传输给上级监控中心出口;获取上级监控中心出口当前的第六开流信息,基于上级监控中心出口的限流条件和优先级排序处理所述第六开流信息。

可选的,还包括:在流调用方为上级监控中心的情况下,建立下级监控中心出口与上级监控中心入口之间的级联关系。

可选的,还包括开流请求处理模块,用于:确定接收上一个开流请求的时间,计算所述时间与接收所述开流请求的时间的间隔;判断所述间隔是否大于或等于预设间隔,若判断结果为是,则处理所述开流请求;若判断结果为否,则在处理完毕所述上一个开流请求、并更新重点部位和监控中心的开流信息后,再处理所述开流请求。

可选的,还包括异常处理模块,用于:在处理所述开流请求的过程中,若发生异常,则触发回滚操作,以将重点部位和监控中心的开流信息回滚到未处理所述开流请求时的状态。

可选的,还包括:基于所述目标视频流,更新待反馈视频流列表。

为实现上述目的,根据本发明实施例的再一方面,提供了一种视频流限流电子设备。

本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的视频流限流方法。

为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的视频流限流方法。

根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:多级开流之后,根据上级监控中心、下级监控中心、各个重点部位和不同优先级的视频流,快速计算待关闭的低优先级视频流,实现流量分析梳理,同时提高处理准确度,降低限流成本。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是不同监控中心调阅视频流的业务流程示意图;

图2是根据本发明实施例的一种视频流限流方法的主要流程示意图;

图3是根据本发明实施例的一种可选的视频流限流方法的流程示意图;

图4(a)和(b)是重点部位流控组件处理开流信息前后示意图;

图5是根据本发明实施例的另一种可选的视频流限流方法的流程示意图;

图6是根据本发明实施例的又一种可选的视频流限流方法的流程示意图;

图7(a)和(b)是下级监控中心入口流控组件处理开流信息前后示意图;

图8是根据本发明实施例的又一种可选的视频流限流方法的流程示意图;

图9是限流服务组件中的模块示意图;

图10是根据本发明实施例的一种视频流限流装置的主要模块示意图;

图11是本发明实施例可以应用于其中的示例性系统架构图;

图12是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

对于本方案涉及的词语,做解释如下:

视频流:指将一连串视频压缩后,经过网上分段发送数据,在网上即时传输影音以供查看的一种技术与过程,此技术使得数据包得以像流水一样发送。

帧:动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。

码率:视频流传输编码格式带来单位时间内传输的视频数据清晰度。

监控中心:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。

级联:在金融行业场景中,由于组织机构呈现出上、下级视频监控中心,其中上级监控由于管理业务,需要从下级监控中心进行调阅视频流。

重点部位:金融行业中,处于安全保卫管理需求,将一定的场所在系统中作为重点部位为概念进行管理。

流量优先级:视频流本身的业务属性,不同优先级的视频流需要根据优先级的高低进行有效的管理。

参见图1,示出了不同监控中心调阅视频流的业务流程示意图:

1、下级监控中心调阅视频流,视频流的流向经过路径为重点部位->下级监控中心,流量受限于重点部位出口限制、下级监控中心入口限制和下级监控中心出口限制;

2、上级监控中心调阅视频流,视频流的流向经过路径为重点部位->下级监控中心->上级监控中心,流量受限于重点部位出口限制、下级监控中心入口限制、下级监控中心出口限制、上级监控中心入口限制和上级监控中心出口限制。

参见图2,示出的是本发明实施例提供的一种视频流限流方法的主要流程图,包括如下步骤:

S201:接收流调用方对目标视频流的开流请求,根据所述目标视频流的主要信息,获取所述目标视频流的流向经过路径;其中,流向经过路径包括重点部位和监控中心;

S202:获取重点部位当前的第一开流信息,基于优先级排序和重点部位的限流条件处理所述第一开流信息,以将所述目标视频流传输给监控中心;

S203:获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,以将所述目标视频流传输给所述流调用方。

上述实施方式中,对于步骤S101,本方案适用于需监控视频流的场景,如在全国设有大量类似机构的银行、电信/移动/联通等,此处的视频流是监控系统内的视频流,包括但不限于监控设备拍摄到的视频。且本方案不涉及视频流内容的保存,仅涉及流控组件中各个视频流的状态的保存。

每次开流前,系统将每个视频流的主要信息一同传输给限流服务组件,如重点部位信息、下级监控中心信息、上级监控中心信息、视频流优先级、码率。

限流服务组件包括多个流控组件,不同流控组件设置在不同级机构上。限流服务组件自身保存如下核心信息:

1、当前处于开流状态的所有视频流信息;

2、当前全部重点部位开流的总流量大小以及开流信息(按照优先级从小到大进行排列)。例如,日常巡检的视频流和紧急报警(如着火、抢劫)的视频流,虽都是视频流,但业务属性不同,因此优先级也不同,当流量不足或达到上限时,优先关闭优先级较低的视频流。

3、当前所有监控中心开流的出入流量大小(按照优先级从小到大进行排列)。

通过流调用方发起对目标视频流的开流请求时,开流请求进入限流服务组件。限流服务组件首先根据目标视频流的主要信息,查看其流向经过路径,包括经过重点部位流控组件、下级监控中心入口流控组件、下级监控中心出口流控组件、上级监控中心入口流控组件(级联情况下)、上级监控中心出口流控组件(级联情况下)。

对于步骤S102,重点部位流控组件计算当前重点部位上已有的视频流合计,得到当前已开流流量,结合与目标视频流的流量,得到第一流量需求总量。若第一流量需求总量超出该重点部位流控组件的开流上限,则从已有的视频流中筛选出优先等级最低的视频流,作为待关闭的视频流。

实施例一,参见图3所示:

S301:计算第一流量需求总量与所述开流上限的差值,从所述第一开流信息中筛选出优先级最低的视频流;

S302:判断视频流的流量需求量是否大于或等于所述差值,若判断结果为是,则对视频流进行关闭处理;

S303:若判断结果为否,则按照优先级从低到高的顺序,累加多个视频流,直至累加的流量需求量大于或等于所述差值为止,对累加的多个视频流进行关闭处理。

参见图4(a)所示,重点部位A当前已经开了3路流,分别为4M、1M和2M,累加得到带宽为7M/S。目标视频流为8M,与7M之和为15M。但重点部位A的开流上限为12M,若需开8M流,需关闭部分现有的视频流,按照优先级优先关闭1路4M的视频流,参见图4(b)所示。有些情况下可能需要关闭多个视频流,如新开视频流大于9M小于等于10M时,如10M、9.5M,需要关闭1路4M的视频流和2路1M的视频流。如新开视频流大于10M小于12M时,需关闭当前已开的所有视频流。

该实施方式中,为开流目标视频流,仅从重要部位已有的开流信息中筛选优先级最低的视频流,并进行关闭处理,此处并未考虑目标视频流的优先级高低。

实施例二,参见图5所示:

S501:计算第一流量需求总量与所述开流上限的差值,从所述第一开流信息和所述目标视频流中,筛选出优先级最低的视频流;

S502:判断视频流中是否包含所述目标视频流,若包含,则结束对所述目标视频流的操作流程,否则继续后续操作;

S503:判断视频流的流量需求量是否大于或等于所述差值,若判断结果为是,则对视频流进行关闭处理;

S504:若判断结果为否,则按照优先级从低到高的顺序,累加多个视频流,直至累加的流量需求量大于或等于所述差值为止,对累加的多个视频流进行关闭处理。

有些情况下,目标视频流的优先级也较低,甚至低于重要部位已有开流信息中优先级最低的视频流,此时会结束对目标视频流的操作流程。例如重要部位已有的视频流为紧急报警(如着火、抢劫)视频流,目标视频流为日常巡检的视频流,此时不会对原有视频流进行关闭处理。

进一步的,重点部位流控组件还可以将待关闭的视频流,以列表形式传输给流调用方,告知其为开流目标视频流所关闭的其他视频流信息。或者在关闭视频流之前/之后,将当前视频流的信息以列表形式告知流调用方。

对于步骤S103,根据图1所示,无论是下级监控中心调阅视频流还是上级监控中心调阅视频流,目标视频流都会经过下级监控中心,因此首先对下级监控中心入口流控组件进行判断。

实施例,参见图6所示:

S601:获取下级监控中心入口当前的第三开流信息,依据所述第三开流信息统计当前开流的总流量大小,结合所述目标视频流的流量,得到第二流量需求总量;

S602:判断所述第二流量需求总量是否大于下级监控中心入口的开流上限,若判断结果为否,则对所述第三开流信息不做处理;

S603:若判断结果为是,则从所述第三开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

同重点部位流控组件,首先计算当前下级监控中心入口上已有的视频流合计,得到当前已开流流量,结合目标视频流的流量,得到第二流量需求总量。若第二流量需求总量超出该下级监控中心入口流控组件的开流上限,则从已有的视频流中筛选出优先等级最低的视频流,作为待关闭的视频流。进一步的,也可以从已有视频流和目标视频流中,筛选出优先等级最低的视频流,作为待关闭的视频流。

参见图7(a)所示,下级监控中心B当前已开了3路流,分别为4M、1M和2M,累加得到带宽为7M/S。目标视频流为8M,与8M之和为15M。但当前下级监控中心入口的开流上限为14M,若需开8M流,需关闭部分现有的视频流,按照优先级优先关闭1路4M的视频流,参见图7(b)。有些情况下可能需要关闭多个视频流,如新开视频流大于12M小于等于13M时,如13M、12.5M,需要关闭1路5M的视频流和2路1M的视频流。如新开视频流大于13M小于15M时,需关闭已开的所有视频流。

进一步的,下级监控中心入口流控组件还可以将待关闭的视频流,以列表形式传输给流调用方,告知其为开流目标视频流所关闭的其他视频流信息。或者在关闭视频流之前/之后,将当前视频流的信息以列表形式告知流调用方。

同理,对于下级监控中心出口流控组件,计算当前下级监控中心出口上已有的第四开流信息合计,结合目标视频流的流量需求量,计算流量需求总量。如果超出开流上限,需要从第四开流信息(和目标视频流)中筛选优先等级较低的视频流,返回当前监控中心待关闭的视频流列表。

以上为在流调用方仅为下级监控中心的情况,对于流调用方为上级监控中心的场景,还需要经过上级监控中心入口和出口的限制,具体地,参见图8所示:

S801:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;

S802:获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息,以将所述目标视频流传输给上级监控中心入口;

S803:获取上级监控中心入口当前的第五开流信息,基于上级监控中心入口的限流条件和优先级排序处理所述第五开流信息,以将所述目标视频传输给上级监控中心出口;

S804:获取上级监控中心出口当前的第六开流信息,基于上级监控中心出口的限流条件和优先级排序处理所述第六开流信息。

在流调用方为下级监控中心的情况下,不建立下级监控中心出口与上级监控中心入口之间的级联关系,但若流调用方为上级监控中心,下级监控中心出口与上级监控中心入口之间存在级联关系。

本发明实施例所提供的方法,设计一款限流服务组件,根据业务属性灵活定义各类视频流的优先级,基于视频流的优先级而非简单调用开流接口业务信息进行限流,实现流量快速分析梳理,同时提高处理准确度,降低限流成本。

本方案中重点部位和中心数据结构类似,核心工作包含以下几个方面:

1、选择合适的数据结构和存储机制用于存储和检索。

2、当核心流程中的一个操作步骤发生异常时,如一个开流请求开流失败,需将之前所有涉及到的操作回滚,以将重点部位和监控中心的开流信息回滚到未处理开流请求时的状态,必要时可以放弃重新处理该开流请求。

3、解决高速开关流场景下的数据不一致问题:如对于同一个重点部位,预先设置处理开流请求的时间间隔,若在极短时间内收到两个开流请求,可能会在处理第二个开流请求时,第一个开流请求还未处理完毕,即重要部位、监控中心处的开流信息还未更新完毕,进而导致第二个开流请求处理不准确,两者发生冲突。针对该情况,可以在第一个开流请求处理完毕、更新开流信息后,再处理第二个开流请求,或者不处理第二个开流请求。

其中维护数据的一致性对于流控组件保存视频流信息和计算流控规则至关重要,同时又要兼顾高频开关流的效率问题。

参见图9所示,限流服务组件主要包括四个模块:重点部位流控模块、监控中心流控模块、视频流信息存储模块和优先级计算模块:

1、重点部位流控模块,当流调用方发起对目标视频的开流请求时,确定目标视频流主要信息中的重点部位信息,调用视频流信息存储模块与目标视频流所需流量进行比对,在流量超出时,调用优先级排序模块优先关闭优先级最低的视频流。

2、监控中心流控模块,当流调用方发起对目标视频的开流请求时,确定目标视频流主要信息中的监控中心信息,调用视频流信息存储模块与目标视频流所需流量进行比对,在流量超出时,调用优先级排序模块优先关闭优先级最低的视频流。

3、视频流信息存储模块,保存各类视频流信息,并按照监控中心和重点部位进行归并。

4、优先级计算模块,根据视频流优先级的高低,快速排序视频流;

5、排序模块属于辅助模块,目前已有非常成熟的流优先级排序算法。

参见图10,示出了本发明实施例提供的一种视频流限流装置1000的主要模块示意图,包括:

视频流信息存储模块1001,用于接收流调用方对目标视频流的开流请求,根据所述目标视频流的主要信息,获取所述目标视频流的流向经过路径;其中,流向经过路径包括重点部位和监控中心;

重点部位流控模块1002,用于获取重点部位当前的第一开流信息,基于优先级排序和重点部位的限流条件处理所述第一开流信息,以将所述目标视频流传输给监控中心;

监控中心流控模块1003,用于获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,以将所述目标视频流传输给所述流调用方。

本发明实施装置中,所述视频流信息存储模块1001,还用于:

将每个视频流的主要信息传输给限流服务组件进行存储;其中,主要信息包括重点部位信息、下级监控中心信息、上级监控中心信息、视频流优先级。

本发明实施装置还包括优先级计算模块,用于:

获取每个视频流所属的业务属性,按照不同业务属性之间预设的优先级顺序,确定每个视频流的优先级。

本发明实施装置中,所述视频流信息存储模块1001,还用于:

将每个重点部位当前的开流信息和开流总流量大小,传输给限流服务组件进行存储;以及

将每个监控中心当前开流的出入流量大小,传输给限流服务组件进行存储。

本发明实施装置中,所述重点部位流控模块1002,用于:

依据所述第一开流信息统计当前开流的总流量大小,结合所述目标视频流的流量需求量,得到第一流量需求总量;

判断所述第一流量需求总量是否大于重点部位的开流上限,若判断结果为否,则对所述第一开流信息不做处理;

若判断结果为是,则从所述第一开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

本发明实施装置中,所述重点部位流控模块1002,用于:

计算所述第一流量需求总量与所述开流上限的差值,从所述第一开流信息中筛选出优先级最低的视频流;

判断视频流的流量需求量是否大于或等于所述差值,若判断结果为是,则对视频流进行关闭处理;

若判断结果为否,则按照优先级从低到高的顺序,累加多个视频流,直至累加的流量需求量大于或等于所述差值为止,对累加的多个视频流进行关闭处理。

本发明实施装置中,所述重点部位流控模块1002,用于:

从所述第一开流信息和所述目标视频流中,筛选出优先级最低的视频流;

判断视频流中是否包含所述目标视频流,若包含,则结束对所述目标视频流的操作流程。

本发明实施装置中,流调用方为下级监控中心;

所述监控中心流控模块1003,用于:获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;

获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息。

本发明实施装置中,所述监控中心流控模块1003,用于:

依据所述第三开流信息统计当前开流的总流量大小,结合所述目标视频流的流量,得到第二流量需求总量;

判断所述第二流量需求总量是否大于下级监控中心入口的开流上限,若判断结果为否,则对所述第三开流信息不做处理;

若判断结果为是,则从所述第三开流信息中,筛选出优先级最低的一个或多个视频流进行关闭处理。

本发明实施装置还包括:在流调用方为下级监控中心的情况下,不建立下级监控中心出口与上级监控中心入口之间的级联关系。

本发明实施装置中,流调用方为上级监控中心;

所述监控中心流控模块1003,用于:

获取下级监控中心入口当前的第三开流信息,基于优先级排序和下级监控中心入口的限流条件处理所述第三开流信息,以将所述目标视频流传输给下级监控中心出口;

获取下级监控中心出口当前的第四开流信息,基于优先级排序和下级监控中心出口的限流条件处理所述第四开流信息,以将所述目标视频流传输给上级监控中心入口;

获取上级监控中心入口当前的第五开流信息,基于上级监控中心入口的限流条件和优先级排序处理所述第五开流信息,以将所述目标视频传输给上级监控中心出口;

获取上级监控中心出口当前的第六开流信息,基于上级监控中心出口的限流条件和优先级排序处理所述第六开流信息。

本发明实施装置还包括:在流调用方为上级监控中心的情况下,建立下级监控中心出口与上级监控中心入口之间的级联关系。

本发明实施装置还包括开流请求处理模块,用于:

确定接收上一个开流请求的时间,计算所述时间与接收所述开流请求的时间的间隔;

判断所述间隔是否大于或等于预设间隔,若判断结果为是,则处理所述开流请求;

若判断结果为否,则在处理完毕所述上一个开流请求、并更新重点部位和监控中心的开流信息后,再处理所述开流请求。

本发明实施装置还包括异常处理模块,用于:

在处理所述开流请求的过程中,若发生异常,则触发回滚操作,以将重点部位和监控中心的开流信息回滚到未处理所述开流请求时的状态。

本发明实施装置还包括:基于所述目标视频流,更新待反馈视频流列表。

另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。

图11示出了可以应用本发明实施例的示例性系统架构1100,包括终端设备1101、1102、1103,网络1104和服务器1105(仅仅是示例)。

终端设备1101、1102、1103可以是具有显示屏并且支持网页浏览的各种电子设备,安装有各种通讯客户端应用,用户可以使用终端设备1101、1102、1103通过网络1104与服务器1105交互,以接收或发送消息等。

网络1104用以在终端设备1101、1102、1103和服务器1105之间提供通信链路的介质。网络1104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

服务器1105可以是提供各种服务的服务器,用于执行接收开流请求,比对开流需求量和开流上限,筛选优先级最低的视频流并关闭操作。

需要说明的是,本发明实施例所提供的方法一般由服务器1105执行,相应地,装置一般设置于服务器1105中。

应该理解,图11中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图12,其示出了适于用来实现本发明实施例的终端设备的计算机系统1200的结构示意图。图12示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图12所示,计算机系统1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统1200操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。

以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括视频流信息存储模块、重点部位流控模块、监控中心流控模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,监控中心流控模块还可以被描述为“上下级监控中心流控模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:

接收流调用方对目标视频流的开流请求,根据所述目标视频流的主要信息,获取所述目标视频流的流向经过路径;其中,流向经过路径包括重点部位和监控中心;

获取重点部位当前的第一开流信息,基于优先级排序和重点部位的限流条件处理所述第一开流信息,以将所述目标视频流传输给监控中心;

获取监控中心当前的第二开流信息,基于优先级排序和监控中心的限流条件处理所述第二开流信息,以将所述目标视频流传输给所述流调用方。

根据本发明实施例的技术方案,设计一款限流服务组件,根据业务属性灵活定义各类视频流的优先级,在多级开流之后,根据上级监控中心、下级监控中心、各个重点部位和不同优先级的视频流,计算待关闭的低优先级视频流,以此实现视频流的流量快速分析。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜