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

文档序号:11156741阅读:902来源:国知局
一种负载均衡方法及相关装置、系统与制造工艺

本发明涉及通信领域,具体涉及一种负载均衡方法及相关装置、系统。



背景技术:

近几年,随着用户量和数据量的爆发性增长,分布式架构越来越成为众多信息技术(英文全称:Information Technology,缩写:IT)企业平台的基础架构。通过堆叠大规模的、廉价的计算服务器、存储服务器,构建低成本的、可靠的大型平台,比如分布式计算平台、分布式存储系统等等。在这些大型平台中,集群是其中最核心的技术之一。

集群是一种分布式协作技术,通过将大规模的节点组成协同工作的团队,快速地、可靠地完成规模庞大的目标任务。而由于基于团队化运作,集群必须考虑故障节点上的任务迁移以及节点之间的负载均衡,以此确保集群团队长时间可靠地工作。而故障迁移和负载均衡技术中,最核心的是其中的调度算法,比如:故障迁移算法、负载均衡算法,算法将决定集群团队中各个节点之间的压力平衡,不会因为个别节点的故障或者过载,导致整个集群的故障或者长时间过载运行。

细分到安防监控领域,为了满足平安城市和大型园区的大规模组网需求,会将很多的网络视频录像机(英文全称:Network Video Recorder,缩写:NVR)进行堆叠,进行统一的管理和维护。而随着用户对视频录像的可靠性提出更高的要求时,会在堆叠的基础上进一步组建共同协作的集群,形成可靠的大容量的视频监控云。

目前,在视频监控领域,整体分为前端和后端,如图1a所示:前端为因特网协议摄像机(英文全称:Internet Protocol Camera,缩写:IPC),用于采集实时图像,并将视频流传输到后端的NVR进行转发和存储。后端为NVR,用于集中接入和控制多个IPC,获取IPC的视频流转发、分发给监控平台的多个用户。同时,NVR自带大容量存储或者外加大型磁阵,可将视频录像存储在监控平台中,供后续回放、下载、备份使用。

可以看出,所有的IPC都会接入到NVR中,并且将自身采集的码流传输到 NVR中进行录像存储,这就要求NVR本身有较强的接入能力和足够的存储空间。特别是存储空间,随着高清化、4K化、智能化,NVR占用的存储空间越来越多,单个NVR已经无法满足大规模的摄像机的码流存储,这就衍生了堆叠的组网方式,如图2所示,堆叠组网将所有的NVR进行集中管理,并提供统一的业务入口,解决了在大型平安城市项目中,业务统一访问、设备统一管理等难题。此外,堆叠组网还提供横向扩展、动态伸缩的能力,当IPC数量增加时,可添加新的NVR用于接入新的IPC,而当IPC数量收缩时,用户可减少现有的NVR,降低运营成本。

但是,由于各个NVR之间的计算能力、存储空间也不尽相同,堆叠组网下无法根据所有NVR的既有能力进行负载平衡。



技术实现要素:

本发明实施例提供了一种负载均衡方法及相关装置、系统,用于解决现有技术中负载不均衡的问题,实现视频监控系统中各个设备间的负载均衡,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源的问题。

本发明第一方面提供一种负载均衡方法,所述负载均衡方法应用于视频监控系统,所述视频监控系统包括多个设备,包括:

当所述视频监控系统中的第一设备检测到所述第一设备和所述视频监控系统中的第二设备的负载不均衡时,所述第一设备获取所述第一设备和所述第二设备的第一状态信息;

当所述第一设备和所述第二设备的第一状态信息都不大于预设阈值时,所述第一设备获取所述第一设备和所述第二设备的第二状态信息;

所述第一设备根据所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

所述第一设备根据所述第一设备和所述第二设备的空间占比确定均衡策略;

所述第一设备根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

可见,第一设备利用第一设备和第二设备的空间占比确定均衡策略,根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是第一设备自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得每个设备的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

在本发明中,空间占比用于表示预期占用的存储空间与总存储空间的比率,例如:第一设备预期占用的存储空间是通过接入其他设备而确定,则第一设备的空间占比表示为在第一设备上预期接入的其他设备所占用的存储空间与第一设备的总存储空间的比率,当然,在实际应用中,当第一设备预期没有接入其他设备,第一设备预期自身存储资源占用了第一设备的存储空间,则第一设备的空间占比表示为第一设备预期自身存储资源所占用的存储空间与第一设备的总存储空间的比率。

在一些可选的实现方式中,所述第一设备根据所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比包括:

所述第一设备根据在所述第一设备上接入的IPC的Cn,Br和Sd计算出所述第一设备的空间占比;

所述第一设备根据在所述第二设备上分别接入的IPC的Cn,Br和Sd计算出所述第二设备的空间占比。

可见,将接入的IPC的通道数(英文全称:Channel number,缩写:Cn),码率(英文全称:Bit rate,缩写:Br)和留存期(英文全称:Storage Day,缩写:Sd)作为第一状态信息的参考因素从而计算出相应的空间占比。由于负载均衡的目的是使得每个设备的空间占比趋于一致,例如负载能力强的设备承载较重的负载,负载能力弱的设备承载较轻的负载,使得每个设备在有限的能力范围内承载相应的负载,总之,每个设备的空间占比趋于一致,即:没有超负荷的设备。考虑到第一设备和第二设备接入IPC后,IPC会传输码流至第一设备和第二设备从而形成录像,供用户回放和下载,由于录像会占用第一设备和第二设备的存储空间,而影响录像的主要因素为通道数,码率和 留存期,其中,在本发明的技术领域中,录像是核心需求,录像的核心参数包括录像的码率、录像的时长。其他的参数如帧率、分辨率等都会反映到码率的变化上。码率与录像时长则反映了IPC对第一设备和第二设备的存储空间的占用。如果是多通道设备,还需要考虑每个通道对存储空间的占用。这三个核心要素最终形成了每个IPC所占用的存储空间。由于第一设备和第二设备的存储空间有限,所以在本发明中,就需要考虑平衡第一设备和第二设备的存储空间占用,尽量满足不同的IPC对存储空间的需求。

在一些可选的实现方式中,所述第一设备根据所述第一设备和所述第二设备的空间占比确定均衡策略包括:

所述第一设备根据所述第一设备和所述第二设备所在的区域位置确定第一区域和第二区域;

所述第一设备将第一区域所在的设备的空间占比进行大小值排序;

所述第一设备根据所述第一区域所在的设备的空间占比进行大小值排序的结果确定第一目标设备和第二目标设备;

所述第一设备将第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中;

当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差变小时,所述第一设备将所述第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中确定为所述均衡策略;

当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差没有变小时,所述第一设备将第二区域所在的设备的空间占比进行大小值排序确定第三目标设备;

所述第一设备将所述第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中,以使得所述第一目标设备的空间占比与所述第三目标设备的空间占比的绝对差变小;

所述第一设备将第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中确定为所述均衡策略。

可见,先根据第一区域所在的设备的空间占比进行大小值排序,确定第一目标设备和第二目标设备,例如:第一目标设备为空间占比最大的设备, 第二设备为空间占比最小的设备时,将空间占比最大的设备中的至少一个目标IPC预调度到空间占比最小的设备中。其中,至少一个目标IPC用于表示在所述空间占比最大的设备中接入的预占用的存储空间相对较小或者较大的设备,例如:空间占比最大的设备中接入多个IPC,根据该多个IPC的预占用的存储空间的大小值进行排序确定存储空间相对较小的IPC为目标IPC。在实际应用中,初次预调度时,空间占比最大的设备将一个存储空间相对较小的IPC预调度到空间占比最小的设备中,或者,空间占比最大的设备将多个存储空间相对较小的IPC预调度到空间占比最小的设备中,或者,空间占比最大的设备将一个存储空间相对较大的IPC预调度到空间占比最小的设备中,具体可根据实际应用而定,此处不做限定。

本发明第二方面提供一种负载均衡装置,所述负载均衡装置应用于视频监控系统,所述视频监控系统包括多个设备,包括:

检测模块,用于检测所述视频监控系统中的第一设备和所述视频监控系统中的第二设备的负载是否均衡;

获取模块,用于当所述检测模块检测到所述第一设备和第二设备的负载不均衡时,获取所述第一设备和所述第二设备的第一状态信息;

所述获取模块,还用于当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备和所述第二设备的第二状态信息;

计算模块,用于根据所述获取模块获取的所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

确定模块,用于根据所述计算模块计算出的所述第一设备和所述第二设备的空间占比确定均衡策略;

调度模块,用于根据所述确定模块确定的所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

可见,确定模块利用第一设备和第二设备的空间占比确定均衡策略,调度模块根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得各个设备 间的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

本发明第三方面提供一种负载均衡装置,所述负载均衡装置应用于视频监控系统,所述视频监控系统包括多个设备,所述负载均衡装置包括:存储器,处理器,发射器与接收器;

其中,所述发射器与所述接收器连接,所述存储器与所述处理器连接,所述处理器与所述发射器连接,所述处理器与所述接收器连接;

通过调用所述存储器中存储的操作指令,所述处理器用于当检测到所述视频监控系统中的第一设备和所述视频监控系统中的第二设备的负载不均衡时,获取所述第一设备和所述第二设备的第一状态信息;

所述处理器还用于当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备和所述第二设备的第二状态信息;

所述处理器还用于所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

所述处理器还用于根据所述第一设备和所述第二设备的空间占比确定均衡策略;

所述处理器还用于根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

所述第一状态信息包括:

内存占有率、中央处理器CPU占有率以及输入输出I/O占有率中的至少一个。

可见,处理器利用第一设备和第二设备的空间占比确定均衡策略,根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是处理器自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得各个设备间的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

本发明第四方面提供一种视频监控系统,所述视频监控系统包括第一设备和第二设备,其中,所述第二设备有多个;

所述第一设备,用于当检测到所述第一设备和所述第二设备的负载不均衡时,获取所述第一设备和所述第二设备的第一状态信息;

所述第一设备,还用于当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备和所述第二设备的第二状态信息;

所述第一设备,还用于根据所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

所述第一设备,还用于根据所述第一设备和所述第二设备的空间占比确定均衡策略;

所述第一设备,还用于根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

可见,视频监控系统中的第一设备利用第一设备和视频监控系统中的第二设备的空间占比确定均衡策略,根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是视频监控系统中的第一设备自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得各个设备间的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

附图说明

图1a为现有技术中NVR与IPC连接的一个结构示意图;

图1b为本发明实施例中视频监控系统的一个结构示意图;

图1c为本发明实施例中设备的一个结构示意图;

图1d为本发明实施例中设备间互联的一个实施例示意图;

图2为本发明实施例中负载均衡方法的一个实施例示意图;

图3a为本发明实施例中负载均衡应用场景的一个实施例示意图;

图3b为本发明实施例中负载均衡应用场景的另一个实施例示意图;

图3c为本发明实施例中负载均衡应用场景的另一个实施例示意图;

图4为本发明实施例中负载均衡装置的另一个结构示意图;

图5为本发明实施例中负载均衡装置的又一个结构示意图;

图6为本发明实施例中视频监控系统的另一个结构示意图。

具体实施方式

本发明实施例提供了一种负载均衡方法及相关装置、系统,用于解决现有技术中负载不均衡的问题,实现视频监控系统中各个设备间的负载均衡,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源的问题。

首先,介绍本发明的技术方案应用的视频监控系统,如图1b所示,所述视频监控系统包括多个设备,例如:第一设备和第二设备,其中,第一设备上和第二设备上都接入IPC(例如:IPC),第一设备作为管理设备,第二设备作为被管理设备,第二设备有多个,在实际应用中,可选择任意一个设备作为管理设备。其中,第一设备和第二设备都为NVR,通过多个NVR组建成一个协同工作的大平台,整个视频监控系统内部自行运作,管理设备NVR将视频监控系统中所有NVR的计算资源和存储资源统一管理,形成庞大的计算资源池和存储资源池,以满足大型平安城市项目的需求。

为了组建集群,在每个NVR上引入集群管理单元(英文全称:Cluster Management Unit,缩写:CMU)和状态上报单元(英文全称:Status Reporter,缩写:SR),其中,CMU完成集群内部所有设备的互联和集群管理,SR完成集群内所有设备的状态信息采集和上报,如图1c所示,每个NVR都包括CMU和SR以及其他业务软件,例如:视频监控业务软件等。

在实际应用中,如图1d所示,集群中的所有NVR通过各自的CMU互联形成集群通讯网络,同时管理设备CMU Master还承担集群管理的功能,包括状态缓存、调度计算、调度执行等等,是集群的核心支撑单元。集群中的每个NVR中的SR定时采集自身状态数据并通过各自的CMU上报给CMU Master,作为调度计算的基础数据,如图1d所示,NVR D为集群中的管理设备Master,NVR A,NVR B和NVR C作为集群中的被管理设备Slave,所有的Slave都会定期上报自身状态信息给Master,Master将所有集群成员的状态信息缓存在 节点状态表中,以此获知整个视频监控系统的整体状态,并作为调度算法的基础数据。

结合上述图1a至图1d所示,请参阅图2,为本发明实施例中负载均衡方法的一个流程图,所述负载均衡方法应用于图1b所示的视频监控系统,所述视频监控系统包括多个设备,该实施例包括:

步骤201、当所述视频监控系统第一设备检测到所述第一设备和所述视频监控系统的第二设备的负载不均衡时,所述第一设备获取所述第一设备和所述第二设备的第一状态信息,其中,所述第二设备有多个。

首先,第一设备作为管理者获取第一设备和第二设备的负载,当判断第一设备和第二设备的负载不均衡时,获取第一设备和第二设备的状态信息,其中,第一设备提前设置一个空间占比差阈值,如果第一设备和第二设备的空间占比差大于该空间占比差阈值时,则确定第一设备和第二设备的负载不均衡,或者第一设备提前设置一个空间占比阈值,当第一设备和第二设备的空间占比都大于该空间占比阈值时,则确定第一设备和第二设备的负载不均衡。

在实际应用中,第二设备作为被管理设备通过第二设备自身的SR采集到第二设备自身的状态信息,并通过第二设备自身的CMU上报给第一设备的CMU,当然,第一设备也通过第一设备自身的SR采集到的第一设备自身的状态信息,并上报给第一设备自身的CMU。

在一些可选的实施例中,第一状态信息包括内存占有率、中央处理器(英文全称:Central Processing Unit,缩写:CPU)占有率以及输入输出(英文全称:I nput/Output,缩写:I/O)占有率中的至少一个,当然,第一状态信息还可以包括其他与设备的存储空间相关的信息,比如:图形处理器(英文全称:Graphics Processing Unit,缩写:GPU)使用率等,此处不做具体限定。

步骤202、当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,所述第一设备获取所述第一设备和所述第二设备的第二状态信息。

在一些可选的实施例中,第一设备和第二设备的内存占有率,CPU占有率, I/O占有率中的任意一个值大于或者等于预设阈值时,对应的设备将会被过滤掉,然后再进行存储空间占比为核心的调度。例如:某个第二设备的CPU占有率大于80%,在负载均衡过程中,不能接受新的任务,或者某个第二设备的内存占有率大于80%,在负载均衡过程中,不能接受新的任务。

在发明实施例中,预设阈值为整个视频监控系统预先设置好的阈值,具体可根据整个视频监控系统中每个设备的状态参数进行设置,当第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,所述第一设备获取所述第一设备和所述第二设备的第二状态信息。

在一些可选的实施例中,所述第一设备获取所述第一设备的第二状态信息,其中,所述第一设备的第二状态信息包括在所述第一设备上接入的IPC的通道数Cn,码率Br以及留存期Sd中的至少一个;

所述第一设备获取所述第二设备的第二状态信息,其中,所述第二设备的第二状态信息包括在所述第二设备上接入的IPC的Cn,Br以及Sd中的至少一个。

当然,在实际应用中第二状态信息除了上述几种信息外,还可以包括带宽等,此处不做具体限定。

需要说明的是,作为影响第一设备或者第二设备的存储空间的主要参考因素,在优选的实现方式中,第二状态信息包括接入的IPC的Cn,Br以及Sd。

在实际应用中,IPC可以为IPC,用于采集实时图像,并将视频流传输到NVR进行转发和存储。

步骤203、第一设备根据所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比。

在一些可选的实施例中,当第二状态信息包括IPC的Cn,Br和Sd时,则所述第一设备根据在所述第一设备上接入的IPC的Cn,Br和Sd计算出所述第一设备的空间占比;

所述第一设备根据在所述第二设备上接入的IPC的Cn,Br和Sd计算出所述第二设备的空间占比。

在实际应用中,具体的计算过程包括:所述第一设备和所述第二设备的 的空间占比分别都表示为Rt,其中,其中,Da为所述第一设备的总存储空间,Di为所述第一设备上接入的IPC的预期的存储空间,n表示所述第一设备上接入的IPC的总个数;或者Da为所述第二设备的总存储空间,Di为所述第二设备上接入的IPC的预期的存储空间,n表示所述第二设备上接入的IPC的总个数,其中,i=1,…,n,n为正整数,j表示通道数编号。

例如:第一设备上接入3个IPC(当然,在实际应用中第一设备上可能接入更多的IPC,该举例只是为了参考说明),其中,3个IPC的预期的存储空间分别为D1,D2和D3,Da为第一设备的总存储空间,则第一设备的空间占比Rt=(D1+D2+D3)/Da,其中,例如:第一设备上接入的其中一个IPC的通道数Cn的总个数为2时,则D1=Br1*Sd1+Br2*Sd2。在实际应用中,第二设备的空间占比的计算与第一设备的空间占比的计算相似,具体可参阅第一设备的空间占比的计算,此处不再赘述。

当然,在实际应用中,第二状态信息发生改变时,对应的计算方法相似,具体可参阅根据第二状态信息包括IPC的Cn,Br和Sd时关于第一设备的空间占比的计算,此处不再赘述。

当然,在实际应用中,第一设备或者第二设备上接入的单个IPC的Br和Sd都一致时,对应的IPC的预期的存储空间的计算方法也相应简单,例如:第一设备上接入1个IPC的Br和Sd都一致,则IPC的D1=Br*Sd*3,可见,当第一设备或者第二设备上接入的IPC的Cn,Br和Sd都一致时,整个计算方法变得简单。

步骤204、第一设备根据所述第一设备和所述第二设备的空间占比确定均衡策略。

在本发明实施例中,所述第一设备根据所述第一设备和所述第二设备的空间占比确定均衡策略包括:

所述第一设备根据所述第一设备和所述第二设备所在的区域位置确定第一区域和第二区域;

所述第一设备将第一区域所在的设备的空间占比进行大小值排序;

所述第一设备根据所述第一区域所在的设备的空间占比进行大小值排序的结果确定第一目标设备和第二目标设备;

所述第一设备将第一目标设备中接入的至少一个目标IPC预调度到所述 第二目标设备中;

当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差变小时,所述第一设备将所述第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中确定为所述均衡策略;

当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差没有变小时,所述第一设备将第二区域所在的设备的空间占比进行大小值排序确定第三目标设备;

所述第一设备将所述第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中,以使得所述第一目标设备的空间占比与所述第三目标设备的空间占比的绝对差变小;

所述第一设备将第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中确定为所述均衡策略。

在实际应用中,假设有一个第一设备,有N个第二设备,N为大于1的整数,首先将第一设备和N个第二设备所在的区域位置进行划分,确定第一区域和第二区域,一般而言,将距离较近的多个设备划分为一个区域,为了后续调度时实现距离调度和可靠调度,即:调度时偏向于将IPC调度到最相近的第一设备上或者第二设备上,或者调度时偏向于将IPC调度到网络质量较好的第一设备上或者第二设备上,从而保证了IPC与第一设备或者第二设备间的业务质量。

进一步,将第一区域上所在的设备的空间占比进行大小值排序,在实际应用中,还可以首先将第二区域所在的设备的空间占比进行大小值排序,或者同时将第二区域所在的设备的空间占比进行大小值排序,具体可根据实际情况而定,此处不做限定。

例如:将第一区域上的4个设备的空间占比进行大小值排序,空间占比从大到小对应的设备分别为:设备2>设备3>设备1>设备4,那么确定第一目标设备为设备2,第二目标设备为设备4,在实际应用中,第一目标设备和第二目标设备分别为空间占比最大的设备和空间占比最小的设备。当然在实际应用中,如果存在多个最大空间占比的设备,则任意选择其中的一个作为第一目标设备。或者如果存在多个最小空间占比的设备,则任意选择其中的一 个作为第二目标设备,此处不做限定。

进一步,将设备2中的至少一个目标IPC预调度到设备4中,判断设备2和设备4的空间占比的绝对差是否变小。在实际应用中,目标IPC一般是存储空间较小的IPC,例如:将设备2上接入的存储空间最小的IPC预调度到设备4中,比较设备2和设备4的空间占比的绝对差是否变小。例如:设备2初始的空间占比的值为m,设备4初始的空间占比的值为n,那么初始的空间占比的绝对差为|m-n|,当设备2将设备2上接入的存储空间最小的IPC预调度到设备4中,设备2和设备4的空间占比发生了改变,例如:预调度后设备2的空间占比为M,预调度后设备4的空间占比为N,那么预调度后的空间占比的绝对差为|M-N|,判断|M-N|是否小于|m-n|,如果是,认为预调度成功,并将设备2上接入的存储空间最小的IPC预调度到设备4中作为均衡策略,通过这次预调度后,设备2和设备4的空间占比发生改变,继续将预调度后的第一区域上的4个设备的空间占比进行大小值排序,进一步按照上述方法确定后续的均衡策略,最终使得每个设备的空间占比趋于一致。

需要说明的是,每次预调度成功后,并没有立刻执行均衡策略,而是将每次预调度成功的均衡策略存储在调度决策表中,只有将所有的均衡策略完毕后,才批量实施均衡策略,保证了每个均衡策略都是根据内存中的状态数据进行确定的,使得每个设备的负载趋于平衡。

当然,如果|M-N|没有小于|m-n|时,在一种可选的方式中,将设备2从平衡列表中删除,然后将剩余的设备按照上述方法继续进行空间占比的排序以及后续的预调度,在另一种可选的方式中,假设将设备2中的至少一个目标IPC预调度到设备4中,设备2和设备4的空间占比的绝对差没有变小时,将第二区域所在的设备的空间占比进行大小值排序,假设第二区域上存在3个第二设备,分别为设备5,设备6和设备7,其中,空间占比从大到小对应的设备分别为:设备6>设备7>设备5,则将空间占比最小的设备5作为第三目标设备。

进一步,将设备2上接入的存储空间最小的IPC预调度到设备5中,判断比较设备2和设备5的空间占比的绝对差是否变小,如果是,将设备2上接入的存储空间最小的IPC预调度到设备5确定为均衡策略,如果不是,将 该设备2从平衡列表中删除,对剩余的设备进行上述方法确定均衡策略,直到整个平衡列表中只剩余一个设备或者没有剩余的设备,即完成了所有设备的预调度,进一步根据调度决策表批量执行均衡策略。

步骤205、第一设备根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

可见,通过每个设备的空间占比确定均衡策略,并根据该均衡策略进行调度,使得第一设备和第二设备的负载均衡,实现视频监控系统中各个设备的负载均衡,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源的问题。

在实际应用中,如图3a所示,需要添加IPC时,管理设备Master中的CMU根据各个Slave成员设备中的CMU上报的状态信息,并存储在节点状态表中,通过负载调度算法计算出用于接入该IPC的目标NVR,然后将IPC添加到目标NVR中,最终实现IPC在各个设备间的平衡分配。

如图3b所示,集群运行过程时,管理设备Master中的CMU会收集各个Slave成员设备中的CMU上报的状态信息,判断过载和空载的设备成员,通过负载调度算法计算出IPC在集群内的均衡策略案,最终实现设备成员间的平衡分配。

在实际应用中,如图3c所示,即:通过实施均衡策略后,每个设备的空间占比从初始的不一致趋于一致,使得每个设备的负载均衡,从而避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源的问题。

结合图2所示的方法实施例,进一步参阅图4,为本发明实施例中负载均衡装置400的一个结构示意图,所述负载均衡装置400应用于视频监控系统,所述视频监控系统包括多个设备,所述负载均衡装置400包括:检测模块401,获取模块402,计算模块403,确定模块4304以及调度模块405。

检测模块401,用于检测所述视频监控系统中的第一设备和所述视频监控系统中的第二设备的负载是否均衡;

获取模块402,用于当所述检测模块401检测到所述第一设备和第二设备的负载不均衡时,获取所述第一设备和所述第二设备的第一状态信息;

所述获取模块402,还用于当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备和所述第二设备的第二状态信息;

计算模块403,用于根据所述获取模块402获取的所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

确定模块404,用于根据所述计算模块403计算出的所述第一设备和所述第二设备的空间占比确定均衡策略;

调度模块405,用于根据所述确定模块404确定的所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

在一些可选的实施例中,所述获取模块402,具体用于获取所述第一设备的第二状态信息,其中,所述第一设备的第二状态信息包括在所述第一设备上接入的IPC的通道数Cn,码率Br以及留存期Sd中的至少一个。

所述获取模块402,具体用于获取所述第二设备的第二状态信息,其中,所述第二设备的第二状态信息包括在所述第二设备上接入的IPC的Cn,Br以及Sd中的至少一个。

在一些可选的实施例中,所述计算模块403,具体用于根据在所述第一设备上接入的IPC的Cn,Br和Sd计算出所述第一设备的空间占比;

所述计算模块403,具体用于根据在所述第二设备上接入的IPC的Cn,Br和Sd计算出所述第二设备的空间占比。

在一些可选的实施例中,所述第一设备和所述第二设备的的空间占比分别都表示为Rt,其中,其中,Da为所述第一设备的总存储空间,Di为所述第一设备上接入的IPC的预期的存储空间,n表示所述第一设备上接入的IPC的总个数;或者Da为所述第二设备的总存储空间,Di为所述第二设备上接入的IPC的预期的存储空间,n表示所述第二设备上接入的IPC的总个数,其中,i=1,…,n,n为正整数,j表示通道数编号。

在一些可选的实施例中,所述确定模块404,具体用于根据所述第一设备和所述第二设备所在的区域位置确定第一区域和第二区域,将第一区域所在的设备的空间占比进行大小值排序,根据所述第一区域所在的设备的空间占比进行大小值排序的结果确定第一目标设备和第二目标设备,将第一目标设 备中接入的至少一个目标IPC预调度到所述第二目标设备中,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差变小时,将所述第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中确定为所述均衡策略,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差没有变小时,将第二区域所在的设备的空间占比进行大小值排序确定第三目标设备,将所述第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中,以使得所述第一目标设备的空间占比与所述第三目标设备的空间占比的绝对差变小,将第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中确定为所述均衡策略。

在一些可选的实施例中,所述第一状态信息包括:

内存占有率、中央处理器CPU占有率以及输入输出I/O占有率中的至少一个。

图4所示的实施例从功能模块的角度介绍了负载均衡装置的具体结构,请参阅图5,从硬件角度介绍一下负载均衡装置500,所述负载均衡装置500应用于视频监控系统,所述视频监控系统包括多个设备,所述负载均衡装置500包括:存储器501,处理器502,发射器503与接收器504通过总线505连接;其中,所述存储器501与所述处理器502通过总线505连接,所述处理器502与所述发射器503通过总线505连接,所述处理器502与所述接收器504通过总线505连接;

通过调用所述存储器501中存储的操作指令,所述处理器502用于当检测到所述视频监控系统中的第一设备和所述视频监控系统中的第二设备的负载不均衡时,获取所述第一设备和所述第二设备的第一状态信息,其中,所述第二设备有多个;

在一些可选的实施例中,所述第一状态信息包括:

内存占有率、中央处理器CPU占有率以及输入输出IO占有率中的至少一个。

所述处理器502还用于当所述第一设备和所述第二设备的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备和所述第二设备的第二状态信息;

所述处理器502还用于所述第一设备和所述第二设备的第二状态信息分别计算出所述第一设备和所述第二设备的空间占比;

所述处理器502还用于根据所述第一设备和所述第二设备的空间占比确定均衡策略;

所述处理器502还用于根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。

确定模块利用第一设备和第二设备的空间占比确定均衡策略,调度模块根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得每个设备的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

在一些可选的实施例中,所述处理器502具体用于获取所述第一设备的第二状态信息,其中,所述第一设备的第二状态信息包括在所述第一设备上接入的IPC的通道数Cn,码率Br以及留存期Sd中的至少一个;

获取所述第二设备的第二状态信息,其中,所述第二设备的第二状态信息包括在所述第二设备上接入的IPC的Cn,Br以及Sd中的至少一个。

在一些可选的实施例中,所述处理器502具体用于根据在所述第一设备上接入的IPC的Cn,Br和Sd计算出所述第一设备的空间占比;

根据在所述第二设备上接入的IPC的Cn,Br和Sd计算出所述第二设备的空间占比。

在一些可选的实施例中,所述第一设备和所述第二设备的的空间占比分别都表示为Rt,其中,其中,Da为所述第一设备的总存储空间,Di为所述第一设备上接入的IPC的预期的存储空间,n表示所述第一设备上接入的IPC的总个数;或者Da为所述第二设备的总存储空间,Di为所述第二设备上接入的IPC的预期的存储空间,n表示所述第二设备上接入的IPC的总个数,其中,i=1,…,n,n为正整数,j表示通道数编号。

在一些可选的实施例中,所述处理器502具体用于根据所述第一设备和所述第二设备所在的区域位置确定第一区域和第二区域,将第一区域所在的设备的空间占比进行大小值排序,根据所述第一区域所在的设备的空间占比 进行大小值排序的结果确定第一目标设备和第二目标设备,将第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差变小时,将所述第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中确定为所述均衡策略,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差没有变小时,所述第一设备将第二区域所在的设备的空间占比进行大小值排序确定第三目标设备,将所述第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中,以使得所述第一目标设备的空间占比与所述第三目标设备的空间占比的绝对差变小,将第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中确定为所述均衡策略。

可见,处理器利用第一设备和第二设备的空间占比确定均衡策略,根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是处理器自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得每个设备的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

请参阅图6,提供一种视频监控系统600,所述视频监控系统包括第一设备601和第二设备602。

所述第一设备601,用于当检测到所述第一设备601和所述第二设备602的负载不均衡时,获取所述第一设备601和所述第二设备602的第一状态信息,其中,所述第二设备602有多个(例如:第二设备1,第二设备2,…第二设备N,其中,N为大于1的整数);

所述第一设备601,还用于当所述第一设备601和所述第二设备602的第一状态信息对应的值都不大于预设阈值时,获取所述第一设备601和所述第二设备602的第二状态信息;

所述第一设备601,还用于根据所述第一设备601和所述第二设备602的第二状态信息分别计算出所述第一设备601和所述第二设备602的空间占比;

所述第一设备601,还用于根据所述第一设备601和所述第二设备的空间占比确定均衡策略;

所述第一设备601,还用于根据所述均衡策略进行调度,以使得所述第一设备601和所述第二设备602的负载均衡。

在一些可选的实施例中,

所述第一设备601,具体用于获取所述第一设备601的第二状态信息,其中,所述第一设备601的第二状态信息包括在所述第一设备601上接入的因特网协议摄像机IPC的通道数Cn,码率Br以及留存期Sd中的至少一个;

所述第一设备601,具体用于获取所述第二设备602的第二状态信息,其中,所述第二设备的第二状态信息包括在所述第二设备上接入的IPC的Cn,Br以及Sd中的至少一个。

在另一些可选的实施例中,

所述第一设备601,具体用于根据在所述第一设备601上接入的IPC的Cn,Br和Sd计算出所述第一设备的空间占比;

所述第一设备601,具体用于根据在所述第二设备602上接入的IPC的Cn,Br和Sd计算出所述第二设备的空间占比。

在另一些可选的实施例中,

所述第一设备601,具体用于根据所述第一设备601和所述第二设备602所在的区域位置确定第一区域和第二区域,将第一区域所在的设备的空间占比进行大小值排序,根据所述第一区域所在的设备的空间占比进行大小值排序的结果确定第一目标设备和第二目标设备,将第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差变小时,将所述第一目标设备中接入的至少一个目标IPC预调度到所述第二目标设备中确定为所述均衡策略,当所述第一目标设备的空间占比与所述第二目标设备的空间占比的绝对差没有变小时,将第二区域所在的设备的空间占比进行大小值排序确定第三目标设备;将所述第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中,以使得所述第一目标设备的空间占比与所述第三目标设备的空间占比的绝对差变小,将第一目标设备中接入的至少一个目标IPC预调度到所述第三目标设备中确定为所述均衡策略。

可见,视频监控系统中的第一设备601利用第一设备601和视频监控系 统中的第二设备602的空间占比确定均衡策略,根据所述均衡策略进行调度,以使得所述第一设备和所述第二设备的负载均衡。可见,在本发明中无需根据设备的负载能力进行手动规划,而是视频监控系统中的第一设备自动根据当前第一设备和第二设备的空间占比确定均衡策略,使得各个设备间的负载均衡,大量节省成本,避免设备由于负载过重而导致的生命周期短或者由于负载过轻而导致的浪费存储空间资源,从而最大限度满足用户需求。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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