CN110062199A - 负载均衡方法、装置及计算机可读存储介质 - Google Patents

负载均衡方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110062199A
CN110062199A CN201810054177.8A CN201810054177A CN110062199A CN 110062199 A CN110062199 A CN 110062199A CN 201810054177 A CN201810054177 A CN 201810054177A CN 110062199 A CN110062199 A CN 110062199A
Authority
CN
China
Prior art keywords
memory node
video recording
node
performance
recording plan
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
Application number
CN201810054177.8A
Other languages
English (en)
Other versions
CN110062199B (zh
Inventor
陈广
龙映雪
付磊磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810054177.8A priority Critical patent/CN110062199B/zh
Priority to PCT/CN2019/072376 priority patent/WO2019141247A1/zh
Publication of CN110062199A publication Critical patent/CN110062199A/zh
Application granted granted Critical
Publication of CN110062199B publication Critical patent/CN110062199B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本发明公开了一种负载均衡方法、装置及计算机可读存储介质,属于数据存储领域。应用于视频监控***中的管理节点,所述方法包括:确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点。本发明按照各个存储节点的性能评分下发多个录像计划,从而提高实现负载均衡的效果。

Description

负载均衡方法、装置及计算机可读存储介质
技术领域
本发明涉及数据存储领域,特别涉及一种负载均衡方法、装置及计算机可读存储介质。
背景技术
随着技术的发展,视频监控***的应用越来越广泛,比如,可以应用在安全防范、远程监控、远程教学、远程会议等领域。目前,视频监控***中通常包括多个摄像装置和多个存储节点,一个存储节点可以对应至少一个摄像装置,用于存储该至少一个摄像装置录制的视频流。但是,当一个存储节点对应的摄像装置较多时,该存储节点存储的视频流的数据量较大,从而会给该存储节点的运行带来负担。因此,需要其他存储节点分担一些视频流,也即是,需要在该多个存储节点之间进行负载均衡。
当实现该多个存储节点之间的负载均衡时,视频监控***中还可以包括管理节点。这样,当管理节点接收到任一摄像装置的录像指令时,管理节点可以确定该多个存储节点中该摄像装置对应的各个存储节点的使用率,并通过使用率最低的存储节点存储该摄像装置录制的视频流,以实现负载均衡。
但是,当通过使用率最低的存储节点存储该摄像装置录制的视频流时,虽然该存储节点的使用率最低,但是当该存储节点的硬件性能较差时,通过该存储节点继续存储视频流同样会导致该存储节点运行负担过重,从而导致负载均衡的实现效果较差。
发明内容
本发明实施例提供了一种负载均衡方法、装置及计算机可读存储介质,用于解决现有技术中负载均衡实现效果差的问题。所述技术方案如下:
一方面,提供了一种负载均衡方法,应用于视频监控***中的管理节点,所述方法包括:
确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;
基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;
按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,包括:
将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
将所述多个录像计划的个数乘以所述各个存储节点的评分权重,得到分配给所述各个存储节点的录像计划的分配个数。
可选地,所述按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点,包括:
获取所述多个录像计划的优先级;
按照所述多个录像计划的优先级顺序和确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,所述将所述多个录像计划分配给所述多个存储节点,包括:
对于所述多个录像计划中的任一录像计划,获取所述任一录像计划的历史执行轨迹,所述历史执行轨迹用于描述所述任一录像计划历史被执行的存储节点以及执行的详情信息;
基于所述历史执行轨迹,从所述多个存储节点中确定执行所述任一录像计划时未失败的存储节点;
将所述任一录像计划分配给所述未失败的存储节点。
可选地,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数之前,还包括:
将所述多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,
将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
可选地,所述方法还包括:
将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
可选地,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数之前,还包括:
当检测到所述多个存储节点中任一存储节点发生运行故障时,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤;或者,
每隔第一预设时长,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤。
可选地,所述确定所述视频监控***中的多个存储节点当前的性能评分之后,还包括:
确定所述多个存储节点中当前正在执行的录像计划的执行总个数;
基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态;
当所述多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
可选地,所述基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态,包括:
将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
将所述多个存储节点的执行总个数分别乘以所述各个存储节点的评分权重,得到所述各个存储节点当前正在执行的录像计划的理论个数;
当所述多个存储节点中存在当前正在执行的录像计划的实际个数与所述理论个数不相同的存储节点时,确定所述多个存储节点中存在负载状态为所述不均衡状态的存储节点。
可选地,所述对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配,包括:
对于处于所述不均衡状态的存储节点中的任一存储节点,确定所述任一存储节点对应的超载个数或者缺载个数;
其中,所述超载个数是指所述任一存储节点当前正在执行的录像计划的实际个数多于所述任一存储节点当前正在执行的录像计划的理论个数的数量,所述缺载个数是指所述任一存储节点当前正在执行的录像计划的实际个数少于所述任一存储节点当前正在执行的录像计划的理论个数的数量;
从所述任一存储节点当前正在执行的录像计划中移出个数为所述超载个数的录像计划,或者,基于处于所述不均衡状态的存储节点中的其他存储节点中移出的录像计划,向所述任一存储节点分配个数为所述缺载个数的录像计划。
可选地,所述确定所述视频监控***中的多个存储节点当前的性能评分,包括:
对于所述多个存储节点中的任一存储节点,基于所述任一存储节点上报的多个性能指标的详情信息,确定所述任一存储节点中所述多个性能指标的评分;
当所述任一存储节点中所述多个性能指标的评分均高于预设评分时,将所述多个性能指标的评分相加,得到所述任一存储节点当前的性能评分;
当所述任一存储节点中所述多个性能指标的评分不全高于所述预设评分时,将所述多个性能指标中评分最低的性能指标的评分确定为所述任一存储节点当前的性能评分。
可选地,所述确定所述多个存储节点中当前正在执行的录像计划的执行总个数之前,还包括:
每隔第二预设时长,执行所述确定所述多个存储节点中当前正在执行的录像计划的执行总个数的步骤。
另一方面,提供了一种负载均衡装置,应用于视频监控***中的管理节点,所述装置包括:
第一确定模块,用于确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;
第二确定模块,用于基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;
第一分配模块,用于按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,所述第二确定模块包括:
第一计算子模块,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第二计算子模块,用于将所述多个录像计划的个数乘以所述各个存储节点的评分权重,得到分配给所述各个存储节点的录像计划的分配个数。
可选地,所述第一分配模块包括:
第一获取子模块,用于获取所述多个录像计划的优先级;
第一分配子模块,用于按照所述多个录像计划的优先级顺序和确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,所述第一分配模块包括:
第二获取子模块,用于对于所述多个录像计划中的任一录像计划,获取所述任一录像计划的历史执行轨迹,所述历史执行轨迹用于描述所述任一录像计划历史被执行的存储节点以及执行的详情信息;
第一确定子模块,用于基于所述历史执行轨迹,从所述多个存储节点中确定执行所述任一录像计划时未失败的存储节点;
第二分配子模块,用于将所述任一录像计划分配给所述未失败的存储节点。
可选地,所述装置还包括:
第三确定模块,用于将所述多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,
第四确定模块,用于将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
可选地,所述装置还包括:
删除模块,用于将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
可选地,所述装置还包括:
第一触发模块,用于当检测到所述多个存储节点中任一存储节点发生运行故障时,触发所述第一确定模块基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数;或者,
第二触发模块,用于每隔第一预设时长,触发所述第二确定模块基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数。
可选地,所述装置还包括:
第五确定模块,用于确定所述多个存储节点中当前正在执行的录像计划的执行总个数;
第六确定模块,用于基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态;
第二分配模块,用于当所述多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
可选地,所述第六确定模块包括:
第三计算子模块,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第四计算子模块,用于将所述多个存储节点的执行总个数分别乘以所述各个存储节点的评分权重,得到所述各个存储节点当前正在执行的录像计划的理论个数;
第二确定子模块,用于当所述多个存储节点中存在当前正在执行的录像计划的实际个数与所述理论个数不相同的存储节点时,确定所述多个存储节点中存在负载状态为所述不均衡状态的存储节点。
可选地,所述第二分配模块包括:
第三确定子模块,用于对于处于所述不均衡状态的存储节点中的任一存储节点,确定所述任一存储节点对应的超载个数或者缺载个数;
其中,所述超载个数是指所述任一存储节点当前正在执行的录像计划的实际个数多于所述任一存储节点当前正在执行的录像计划的理论个数的数量,所述缺载个数是指所述任一存储节点当前正在执行的录像计划的实际个数少于所述任一存储节点当前正在执行的录像计划的理论个数的数量;
移动子模块,用于从所述任一存储节点当前正在执行的录像计划中移出个数为所述超载个数的录像计划,或者,基于处于所述不均衡状态的存储节点中的其他存储节点中移出的录像计划,向所述任一存储节点分配个数为所述缺载个数的录像计划。
可选地,所述第一确定模块包括:
第四确定子模块,用于对于所述多个存储节点中的任一存储节点,基于所述任一存储节点上报的多个性能指标的详情信息,确定所述任一存储节点中所述多个性能指标的评分;
第五计算子模块,用于当所述任一存储节点中所述多个性能指标的评分均高于预设评分时,将所述多个性能指标的评分相加,得到所述任一存储节点当前的性能评分;
第五确定子模块,用于当所述任一存储节点中所述多个性能指标的评分不全高于所述预设评分时,将所述多个性能指标中评分最低的性能指标的评分确定为所述任一存储节点当前的性能评分。
可选地,所述装置还包括:
第三触发模块,用于每隔第二预设时长,触发所述第五确定模块确定所述多个存储节点中当前正在执行的录像计划的执行总个数。
另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述第一方面提供的任一所述方法的步骤。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,管理节点可以确定多个存储节点当前的性能评分,并基于待下发的多个录像计划的个数和多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数。由于性能评分可以描述存储节点当前运行资源的能力,因此,通过性能评分确定的各个存储节点的录像计划的分配个数为符合各个存储节点运行资源的能力的个数,按照确定的分配个数将多个录像计划分配给多个存储节点后,该多个存储节点之间将处于负载均衡状态,从而保证了负载均衡的准确性,提升了负载均衡的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种负载均衡***的结构示意图;
图2是本发明实施例提供的一种负载均衡方法的流程图;
图3是本发明实施例提供的另一种负载均衡方法的流程图;
图4A是本发明实施例提供的第一种负载均衡装置的结构示意图;
图4B是本发明实施例提供的一种第二确定模块的结构示意图;
图4C是本发明实施例提供的一种第一分配模块的结构示意图;
图4D是本发明实施例提供的另一种第一分配模块的结构示意图;
图4E是本发明实施例提供的第二种负载均衡装置的结构示意图;
图4F是本发明实施例提供的第三种负载均衡装置的结构示意图;
图4G是本发明实施例提供的第四种负载均衡装置的结构示意图;
图4H是本发明实施例提供的一种第六确定模块的结构示意图;
图4I是本发明实施例提供的一种第二分配模块的结构示意图;
图4J是本发明实施例提供的一种第一确定模块的结构示意图;
图5是本发明实施例提供的一种节点的结构示意图;
图6是本发明实施例提供的另一种节点的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例中涉及到的应用场景及***架构分别进行解释说明。
首先,对本发明实施例涉及的应用场景进行介绍。
目前,在视频监控***中,一个存储节点通常可以对应多个摄像装置,该存储节点可以获取并存储该多个摄像装置录制的视频流。但是,当该存储节点对应的摄像装置的数量较大时,该存储节点的运行负担将过重,从而影响该存储节点从摄像装置中获取视频流。因此,往往需要通过视频监控***中的管理节点进行负载均衡。但是,目前在进行负载均衡时,管理节点仅能通过使用率最低的存储节点获取并存储摄像装置录制的视频流。当该存储节点的硬件性能较差时,通过该存储节点继续存储视频流同样会导致该存储节点运行负担过重,从而导致负载均衡的实现效果较差。
基于这样的场景,本发明实施例提供了一种能够实现负载均衡,并提高实现负载均衡成功率的负载均衡方法。
接下来,对本发明实施例涉及的***架构进行介绍。
图1是本发明实施例提供的一种负载均衡***的架构示意图,参见图1,该***包括管理节点1,多个存储节点2和多个摄像装置3。为了方便进行描述,在图1中以3个存储节点2和6个摄像装置3为例进行描述。
其中,管理节点1和多个存储节点2均可以为服务器,也可以为诸如平板电脑等终端,且该管理节点1可以是多个存储节点2中的任一节点,或者为独立于多个存储节点2之外的能够用于进行负载均衡的节点。多个摄像装置3可以分别与管理节点1和多个存储节点2连接,管理节点1可以与多个存储节点2连接。该管理节点1可以管理多个存储节点2,以及检测多个摄像装置3发送的请求,且为了方便对该多个存储节点2进行管理,该多个存储节点2中的各个存储节点2可以将多个性能指标的详情信息上报给管理节点1,从而该管理节点1可以根据各个存储节点2上报的多个性能指标的详情信息,确定该多个存储节点2当前的性能评分。同时,为了使多个存储节点2中任一存储节点2可以从对应的摄像装置3中获取并存储视频流,该多个摄像装置3可以将多个录像计划上报给管理节点1。管理节点1在检测到多个摄像装置3上报的多个录像计划后,可以将该多个录像计划进行存储,并基于该多个录像计划的个数和多个存储节点2的性能评分,确定分配给各个存储节点2的录像计划的分配个数,按照确定的分配个数,将该多个录像计划分配给多个存储节点2。
需要说明的是,在本发明实施例中,该负载均衡***中不仅可以包括管理节点1、多个存储节点2和多个摄像装置3,还可以包括其他设备,比如,用户终端等。该用户终端可以分别与多个摄像装置3和管理节点1连接,该用户终端可以对多个摄像装置3的录像计划进行设置,并将多个摄像装置3的录像计划发送至管理节点1。也即是,该用户终端可以作为该多个摄像装置3的管理设备,从而可以设置该多个摄像装置3的录像计划。
另外,在本发明实施例中,该负载均衡***中可以仅包括一个管理节点1,也可以包括多个管理节点1。当该负载均衡***中包括多个管理节点1时,可以将该多个管理节点1中的任一管理节点1确定为主管理节点1,将该多个管理节点1中的其他管理节点1确定为多个从管理节点1。其中,主管理节点1用于管理检测到的录像计划以及多个存储节点2,多个从管理节点1用于实时同步主管理节点1中的信息。当该主管理节点1发生故障时,多个从管理节点1中的任一从管理节点1可以快速接管主管理节点1当前执行的进程,从而保证不中断对负载均衡的实现,提高了实现负载均衡的可靠性。
再者,在本发明实施例中,该负载均衡***可以包括多个域,也可以只包括一个域,且一个摄像装置和存储节点只能属于一个域,一个域可以包括多个摄像装置和多个存储节点。
在对本发明实施例的应用场景和***架构进行介绍之后,接下来将结合附图对本发明实施例提供的负载均衡方法进行详细介绍。
图2是根据一示例性实施例示出的一种负载均衡方法的流程图,参见图2,该方法应用于视频监控***中的管理节点,包括如下步骤。
步骤201:管理节点确定视频监控***中的多个存储节点当前的性能评分,该性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力。
由于多个存储节点中任一存储节点的运行资源的能力与其各个性能指标的评分有关,因此,为了实现多个存储节点之间的负载均衡,管理节点需要确定视频监控***中的多个存储节点当前的性能评分。而管理节点确定该视频监控***中的多个存储节点当前的性能评分的操作可以为:对于该多个存储节点中的任一存储节点,基于该任一存储节点上报的多个性能指标的详情信息,确定该任一存储节点中多个性能指标的评分;当该任一存储节点中多个性能指标的评分均高于预设评分时,将该多个性能指标的评分相加,得到该任一存储节点当前的性能评分;当该任一存储节点中该多个性能指标的评分不全高于该预设评分时,将该多个性能指标中评分最低的性能指标的评分确定为该任一存储节点当前的性能评分。
需要说明的是,由上述可知,为了方便管理多个存储节点,该多个存储节点中任一存储节点可以将多个性能指标的详情信息上报给管理节点,且管理节点可以将多个存储节点中任一存储节点上报的多个性能指标的详情信息进行存储,因此,管理节点可以根据各个存储节点上报的详情信息确定视频监控***中的多个存储节点当前的性能评分。
其中,该多个性能指标的详情信息可以包括CPU(Central Processing Unit,中央处理器)的利用率或空闲率、内存的利用率或空闲率、网络信道的利用率或空闲率、I/O((Input/Output,输入/输出)的利用率或空闲率、存储介质的存储容量等等。
另外,由于多个存储节点中的任一存储节点在运行过程中,该任一存储节点的多个性能指标中任一性能指标可能会发生变化,比如,网络信道可能会在上网高峰期时受到影响而发生拥堵,或者,该任一存储节点可能会在运行过程中产生额外的运行信息,导致内存利用率增加空闲率降低等。因此,为了保证该任一存储节点当前的性能评分的准确性,该任一存储节点可以每隔指定时长上报一次多个性能指标的详情信息。该指定时长可以为20秒、5分钟、30分钟等等。
还需要说明的是,由于该任一存储节点可以每隔指定时长上报一次多个性能指标的详情信息,因此,管理节点可以在每次接收到该任一存储节点上报的多个性能指标的详情信息时,确定该任一存储节点当前的性能评分。另外,由上述可知,管理节点可以接收多个摄像装置上报的多个录像计划,而通常情况下,管理节点可以将多个摄像装置上报的多个录像计划进行下发,因此,管理节点也可以在需要向多个存储节点下发多个录像计划时,根据最近一次存储的该任一存储节点的多个性能指标的详情信息,确定该任一存储节点当前的性能评分。
其中,管理节点基于该任一存储节点上报的多个性能指标的详情信息,确定该任一存储节点中多个性能指标的评分的操作可以为:当该多个性能指标的详情信息包括各个性能指标的空闲率时,管理节点可以获取每个性能指标对应的总权重评分,将该各个性能指标的总权重评分与空闲率相乘,得到各个性能指标的评分。当该多个性能指标的详情信息中包括各个性能指标的利用率时,管理节点可以将1减去各个性能指标的利用率,得到各个性能的空闲率,并获取每个性能指标对应的总权重评分,将该各个性能指标的总权重评分与空闲率相乘,得到各个性能指标的评分。
需要说明的是,该多个性能指标对应的总权重评分可以事先设置,且该多个性能指标对应的总权重评分可以相同,比如,CPU、内存、网络信道和I/O对应的总权重评分可以均为20。但是,由于该多个性能指标对存储节点运行资源的能力影响的程度不同,因此,该多个性能指标对应的总权重评分也可以不同。比如,CPU对应的总权重评分可以为20、内存对应的总权重评分可以为30、网络信道对应的总权重评分可以为10、I/O对应的总权重评分可以为15等等。
还需要说明的是,该多个性能指标对应的总权重评分可以存储在管理节点中,也可以包括于该任一存储节点上报的多个性能指标的详情信息中。当该任一存储节点的多个性能指标对应的总权重评分包括于该任一存储节点上报的多个性能指标的详情信息中时,管理节点可以从多个性能指标的详情信息中获取多个性能指标对应的总权重评分。
比如,当该多个性能指标的详情信息包括CPU的空闲率60%,内存的空闲率40%、网络信道的空闲率50%和I/O的空闲率50%时,管理节点可以获取CPU、内存、网络信道、存储空间、I/O对应的总权重评分均为20。将该CPU的总权重评分与CPU的空闲率60%相乘,得到CPU的评分为12,将该内存的总权重评分与内存的空闲率相乘,得到内存的评分为8,将该网络信道的总权重评分20与网络信道的空闲率50%相乘,得到网络信道的评分10,将该I/O的总权重评分与I/O的空闲率50%相乘,得到I/O的评分为10。
另外,由于有时候当多个性能指标中任一性能指标的空闲率较低时,即使其它性能指标的空闲率较高,该存储节点可能还是会负载过高,从而影响存储节点的运行。比如,当多个存储节点中的存储节点B的CPU的空闲率为9%时,该存储节点B已经负载过重,运行困难,即使I/O、内存、网络信道等的空闲率较高,该存储节点B也无法继续运行。因此,管理节点还需要确定该存储节点B中多个性能指标是否均高于预设评分,并当该存储节点B中多个性能指标的评分均高于预设评分时,将该多个性能指标的评分相加,得到该存储节点B当前的性能评分;当该存储节点B中该多个性能指标的评分不全高于该预设评分时,也即是,当该存储节点B中多个性能指标中至少一个性能指标的评分低于或等于该预设评分时,可以将该多个性能指标中评分最低的性能指标的评分确定为存储节点B当前的性能评分。当然在实际应用中,也可以将该预设评分确定为该存储节点B当前的性能评分。这样,可以避免出现存储节点当前实际运行资源的能力与性能评分所描述的运行资源的能力不一致的情况,保证了管理节点确定各个存储节点的性能评分的准确性,从而可以避免后续存储节点因负载过重而出现故障。
需要说明的是,该预设评分可以事先设置,比如,该预设评分可以为10分、5分、3分等等。
还需要说明的是,该任一存储节点的多个性能指标的评分有可能是逐个确定出来的,因此,当管理节点确定出该任一存储节点的多个性能指标中任一性能指标的评分不高于该预设评分时,即可确定该任一存储节点的多个性能指标中存在性能评分不高于预设评分的性能指标,此时,管理节点可以无需确定剩余性能指标的评分,而是直接将确定出的不高于预设评分的性能指标的评分确定为该任一存储节点的性能评分。
比如,该管理节点逐个确定存储节点B的CPU的评分、I/O的评分、内存的评分、存储介质的存储容量的评分,且预设评分为5分时,如果管理节点确定该存储节点B的CPU的评分为3分,则管理节点可以无需继续确定I/O、内存、存储介质的存储容量的评分,而是直接将该3分确定为该存储节点B的性能评分。
值得说明的是,由于管理节点无需确定存储节点所有性能指标的评分即可确定该存储节点的性能评分,从而加快了管理节点确定每一个存储节点的性能评分的速度,减小了管理节点的计算量,避免了管理节点因确定多个存储节点的评分而浪费资源。
再者,该任一存储节点上报的多个性能指标的详情信息不仅可以包括CPU的利用率或空闲率、内存的利用率或空闲率等信息,也可以包括其他信息,比如,该多个性能指标的详细请信息中还可以包括各个性能指标的评分。当该多个性能指标的详细请信息中包括各个性能指标的评分时,管理节点可以直接从该多个性能指标的详细请信息中获取各个性能指标的评分,并将该各个性能指标的评分相加,得到该任一存储节点当前的性能评分。
步骤202:管理节点基于待下发的多个录像计划的个数和该多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,该录像计划用于描述摄像装置录制视频流的时间信息。
由于通常情况下,当各个存储节点在接收到管理节点下发的录像计划后能够实现负载均衡,那么该多个存储节点在执行录像计划的过程中同样也会处于负载均衡状态,因此,为了实现在下发录像计划的过程中多个存储节点之间的负载均衡,管理节点可以基于待下发的多个录像计划的个数和该多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数。而管理节点基于待下发的多个录像计划的个数和多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的操作可以为:将该各个存储节点的性能评分除以该多个存储节点的性能总评分,得到各个存储节点的评分权重,该性能总评分为该多个存储节点的性能评分之和;将该多个录像计划的个数乘以该各个存储节点的评分权重,得到分配给该各个存储节点的录像计划的分配个数。
其中,录像计划用于描述摄像装置录制视频流的时间信息,也即是,录像计划可以描述存储节点什么时候从对应摄像装置中获取并存储视频流,什么时候停止获取及存储视频流。比如,录像计划可以描述为存储节点24小时不间断从对应摄像装置中获取并存储视频流,也可以描述为存储节点早6点开始从对应摄像装置中获取并存储视频流,在晚10点停止从对应摄像装置中获取并存储视频流。
值得说明的是,由于各个存储节点的评分权重可以反映各个存储节点之间运行资源的能力的比例关系,因此,管理节点根据各个存储节点的评分权重可以准确地确定出分配给各个存储节点的录像计划的分配个数,从而提高了负载均衡的准确性。
比如,当多个录像计划的个数为100个,且存储节点1的性能评分为50、存储节点2的性能评分为30,存储节点3的性能评分为20,将存储节点1、存储节点2和存储节点3的性能评分相加,得到性能总评分为100。将存储节点1的性能评分30除以性能总评分100,得到存储节点1的评分权重为0.5,将存储节点2的性能评分30除以性能总评分100,得到存储节点2的评分权重为0.3,将存储节点3的性能评分20除以性能总评分100,得到存储节点3的评分权重为0.2。将该多个录像计划的个数100乘以该各个存储节点的评分权重,得到分配给该存储节点1、2和3的录像计划的分配个数分别为50、30和20。
需要说明的是,该多个录像计划可以是管理节点检测到多个摄像装置发送的录像计划下发请求时,从该录像计划下发请求中获取得到,也可以是管理节点接收到多个存储节点中已发生运行故障的至少一个存储节点上报的故障消息时,获取的已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划。也即是,管理节点基于待下发的多个录像计划的个数和该多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数之前,可以将该多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
由于多个存储节点中任一存储节点在运行过程中可能会出现故障,一旦存储节点出现故障则该存储节点将无法从摄像装置中获取视频流,从而可能导致重要信息遗漏。因此,为了避免信息发生遗漏,当任一存储节点发生故障后,该存储节点可以向管理节点上报故障消息,管理节点在接收到该故障消息时,可以将该存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划,并执行步骤202的操作。
另外,通常情况下,当多个摄像装置向管理节点发送录像计划下发请求后,管理节点可能并不会及时处理该录像计划下发请求,而是每隔第一预设时长,检测一次摄像装置发送的请求,并在检测到该录计划下发请求时,将录像计划下发请求中携带的录像计划进行下发。也即是,管理节点可以每隔第一预设时长,执行步骤202的操作。
需要说明的是,该第一预设时长可以事先设置,比如,该第一预设时长可以为5分钟、10分钟等等。
另外,由于多个摄像装置中任一摄像装置的录像计划可能会发生更改,且当录像计划发生更改时,该摄像装置可以向管理节点发送更改请求,比如,录像计划可以向管理节点发送录像计划删除请求。当该管理节点检测到该录像计划删除请求时,可以将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
再者,由上述可知,视频监控***中可能会包括一个域,也可能会包括多个域,且一个摄像装置和存储节点只能属于一个域,一个域可以包含多个摄像装置和多个存储节点。如果视频监控***中包括多个域,则管理节点在确定分配给各个存储节点的录像计划的分配个数时,需要分别确定各个域中包括的各个存储节点的录像计划的分配个数。
其中,对于多个存储节点中任一存储节点,管理节点需要从多个存储节点中确定与该任一存储节点属于相同域的所有存储节点,将该任一存储节点的性能评分除以与该任一存储节点属于相同域的所有存储节点的性能总评分,得到该任一存储节点的评分权重,该性能总评分为与该任一存储节点属于相同域的所有存储节点的性能评分之和。
另外,由于一个摄像装置和存储节点只能属于一个域,且录像计划用于描述摄像装置录制视频流的时间信息,因此,一个录像计划也只能属于一个域,一个域中可以包括多个录像计划。因此,为了准确分配多个录像计划,管理节点还需要从多个录像计划中确定与该任一存储节点属于相同域的所有录像计划,将与该任一存储节点属于相同域的所有录像计划的个数乘以与该任一存储节点属于相同域的各个存储节点的评分权重,得到分配给与该任一存储节点属于相同域的各个存储节点的录像计划的分配个数。
步骤203:管理节点按照确定的分配个数,将该多个录像计划分配给该多个存储节点。
其中,管理节点可以直接按照确定的分配个数,将该多个录像计划分配给多个存储节点。但是,有时候当录像计划的个数过多,且网络状况不允许管理节点一次性发送大量的录像计划时,管理节点可能只能按照预设个数进行分配。此时,管理节点将多个录像计划分配给存储节点的时间将会不同,一些重要的录像计划可能会因分配不及时导致信息遗漏。因此,管理节点按照确定的分配个数,将该多个录像计划分配给该多个存储节点时,可以获取多个录像计划的优先级;按照该多个录像计划的优先级顺序和确定的分配个数,将该多个录像计划分配给该多个存储节点。
需要说明的是,该多个录像计划的优先级可以事先设置,且该多个录像计划的优先级可以按照摄像装置的位置进行设置,比如,如果视频监控***为酒店的视频监控***,则当摄像装置为酒店走廊的摄像装置时,将该摄像装置发送的录像计划的优先级设置为高,当该摄像装置为酒店大厅的摄像装置时,将该摄像装置发送的录像计划的优先级设置为中,当该摄像装置为酒店大门的摄像装置时,将该摄像装置发送的录像计划的优先级设置为低。当然,在实际应用中,也可以按照执行录像计划的时间进行设置,比如,执行录像计划A的时间为24小时不间断执行时,将该录像计划A的优先级设置为高,当执行录像计划B的时间为早6点至10点时,将该录像计划B的优先级设置为中,当执行录像计划C的时间为晚上10点至第二天6点时,将该录像计划C的优先级设置为低。
另外,由于多个录像计划可能并不是第一次分配给存储节点,也即是,某个录像计划在当前时间之前被执行过,而且执行该录像计划的存储节点在执行过程中可能还发生了故障,因此,为了保证存储节点的正常运行,避免某些录像计划在特定存储节点上取流失败的问题,管理节点将该多个录像计划分配给该多个存储节点的操作还可以为:对于该多个录像计划中的任一录像计划,获取该任一录像计划的历史执行轨迹,该历史执行轨迹用于描述该任一录像计划历史被执行的存储节点以及执行的详情信息;基于该历史执行轨迹,从该多个存储节点中确定执行该任一录像计划时未失败的存储节点;将该任一录像计划分配给未失败的存储节点。
需要说明的是,由于多个录像计划中任一录像计划都是由管理节点发送的,且多个存储节点中任一存储节点在发生运行故障时都可以向管理节点上报故障消息,因此,管理节点可以很容易获知录像计划的历史执行轨迹,以及录像计划在多个存储节点中的某个存储节点中执行时该存储节点是否发生故障等信息,从而保证了管理节点在分配录像计划时,存储节点的安全性。
再者,由于视频监控***中可能会包括多个域,因此,管理节点在对各个存储节点分配录像计划时,将与各个存储节点属于相同域的录像计划,按照确定的分配个数分配给各个存储节点。
进一步地,当多个存储节点中的任一存储节点接收到管理节点分配的录像计划后,该任一存储节点可以确定分配的录像计划所描述的时间信息,并在检测到当前时间到达执行录像计划的时间时,从录像计划所描述的摄像装置中获取并存储视频流。
更进一步地,由上述可知,视频监控***中可以包括一个主管理节点和多个从管理节点,多个从管理节点可以实时同步主管理节点中的信息,因此,当主管理节点发生故障时,多个从管理节点中的任一从管理节点可以及时接管主管理节点当前执行的进程,从而保证不中断对负载均衡的实现,提高了实现负载均衡的可靠性。
在本发明实施例中,管理节点可以确定多个存储节点当前的性能评分,并基于待下发的多个录像计划的个数和多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数。由于性能评分可以描述存储节点当前运行资源的能力,因此,通过性能评分确定的各个存储节点的录像计划的分配个数为符合各个存储节点运行资源的能力的个数,按照确定的分配个数将多个录像计划分配给多个存储节点后,该多个存储节点之间将处于负载均衡状态,从而保证了负载均衡的准确性,提升了实现负载均衡的效果。
值得说明的是,管理节点可以通过上述步骤201-步骤203的操作,在下发录像计划的过程中实现负载均衡。但是,由于存储节点在执行录像计划的过程中,可能会因为一些原因,导致多个存储节点之间负载不均衡。因此,管理节点在确定视频监控***中的多个存储节点当前的性能评分之后,还可以调整多个存储节点中当前正在执行的录像计划的个数,以实现负载均衡。参见图3,为本发明实施例提供的另一种负载均衡方法,该方法具体包括如下步骤。
步骤301:管理节点确定该多个存储节点中当前正在执行的录像计划的执行总个数。
需要说明的是,管理节点可以主动确定该多个存储节点中当前正在执行的录像计划的执行总个数,也可以被动确定该多个存储节点中当前正在执行的录像计划的执行总个数。下述分别对主动确定执行总个数的操作和被动确定执行总个数的操作进行说明。
主动确定执行总个数
由于多个存储节点中的任一存储节点在执行录像计划的过程中,该存储节点的多个性能指标中的至少一个性能指标可能会发生变化,从而导致负载不均衡,因此,为了将多个存储节点之间的录像计划进行负载均衡,管理节点需要获取多个存储节点当前正在执行的录像计划的执行总个数。
比如,存储节点1在执行录像计划的过程中,该存储节点1的网络信道可能会在上网高峰期受到影响而发生拥堵,或者,存储节点1可能会在运行过程中产生额外的运行信息,导致内存利用率增加空闲率降低等,从而导致存储节点与其他存储节点之间负载不再均衡,此时,管理节点需要获取多个存储节点当前正在执行的录像计划的执行总个数。
其中,管理节点可以每隔第二预设时长,确定该多个存储节点中当前正在执行的录像计划的执行总个数。该第二预设时长可以事先设置,比如,该第二预设时长可以为10分钟、20分钟等等。
被动确定执行总个数
由上述步骤202可知,该多个存储节点中可能会存在运行故障的存储节点,且管理节点可以将故障的存储节点正在执行以及未执行的录像计划重新进行下发。因此,当故障的存储节点运行恢复正常后,该运行恢复正常的存储节点中将没有可执行的录像计划,从而导致多个存储节点之间负载不均衡。因此,为了将多个存储节点之间的录像计划进行负载均衡,管理节点需要获取多个存储节点当前正在执行的录像计划的执行总个数。
其中,当运行故障的存储节点运行恢复正常后,该运行恢复正常的存储节点可以向管理节点上报运行恢复正常的消息,管理节点接收到该运行恢复正常的消息时,可以获取多个存储节点当前执行的录像计划的执行总个数。
另外,由于视频监控***中可能会包括多个域,因此,管理节点确定当前正在执行的录像计划的执行总个数时,需要分别确定属于同一个域的多个存储节点的执行总个数。
步骤302:管理节点基于该多个存储节点的执行总个数和该多个存储节点的性能评分,确定该多个存储节点中各个存储节点的负载状态。
由于多个存储节点之间负载不均衡时,可能仅仅是多个存储节点中部分存储节点处于负载不均衡状态,另一部分存储节点可能依然处于负载均衡状态。因此,为了准确地对处于负载不均衡状态的存储节点所执行的录像计划进行调整,管理节点需要基于该多个存储节点的执行总个数和该多个存储节点的性能评分,确定该多个存储节点中各个存储节点的负载状态。
其中,管理节点基于该多个存储节点的执行总个数和该多个存储节点的性能评分,确定该多个存储节点中各个存储节点的负载状态的操作可以为:将该各个存储节点的性能评分除以该多个存储节点的性能总评分,得到该各个存储节点的评分权重,该性能总评分为该多个存储节点的性能评分之和;将该多个存储节点的执行总个数分别乘以该各个存储节点的评分权重,得到该各个存储节点当前正在执行的录像计划的理论个数;当该多个存储节点中存在当前正在执行的录像计划的实际个数与理论个数不相同的存储节点时,确定该多个存储节点中存在负载状态为该不均衡状态的存储节点。
比如,当存储节点1、2和3当前正在执行的录像计划的实际个数分别为50、20和30时,存储节点1、2和3的执行总个数为100个。当存储节点1、2和3的性能总评分为100,存储节点1的评分为50、存储节点2的评分为30,存储节点3的评分为20时,将存储节点1、2和3的性能评分分别除以性能总评分100,得到存储节点1、2和3的评分权重分别为0.5、0.3和0.2。将该多个录像计划的执行总个数100乘以该各个存储节点的评分权重,得到给该存储节点1、2和3当前正在执行的录像计划的理论个数分别为50、30和20。由于存储节点2和存储节点3当前正在执行的录像计划的实际个数与理论个数不相同,因此,可以确定该存储节点1、2和3中存在负载状态为不均衡状态的存储节点,也即是,存储节点2和存储节点3为负载状态为不均衡状态的存储节点。
需要说明的是,由于各个存储节点的评分权重可以反映各个存储节点之间运行资源的能力的比例关系,管理节点将该多个存储节点的执行总个数分别乘以该各个存储节点的评分权重,得到各个存储节点的理论个数即为当多个存储节点之间处于负载均衡状态时,各个存储节点当前应该执行的录像计划的个数。因此,当该多个存储节点中存在当前正在执行的录像计划的个数与理论个数不相同的存储节点时,可以确定该多个存储节点中存在负载状态为该不均衡状态的存储节点。
另外,当视频监控***中包括多个域时,管理节点需要基于属于相同域的多个存储节点的执行总个数和该多个存储节点的性能评分,确定属于相同域的多个存储节点中各个存储节点的负载状态。
步骤303:当该多个存储节点中存在负载状态为不均衡状态的存储节点时,管理节点对处于不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配,以实现多个存储节点之间的负载均衡。
其中,管理节点对处于不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配的操作可以为:对于处于不均衡状态的存储节点中的任一存储节点,确定该任一存储节点对应的超载个数或者缺载个数;其中,超载个数是指该任一存储节点当前正在执行的录像计划的实际个数多于任一存储节点当前正在执行的录像计划的理论个数的数量,该缺载个数是指该任一存储节点当前正在执行的录像计划的实际个数少于该任一存储节点当前正在执行的录像计划的理论个数的数量;从该任一存储节点当前正在执行的录像计划中移出个数为超载个数的录像计划,或者,基于处于不均衡状态的存储节点中的其他存储节点中移出的录像计划,向该任一存储节点分配个数为缺载个数的录像计划。
需要说明的是,管理节点可以用该任一存储节点的实际个数减去理论个数,得到的结果为负数时,确定该结果为该任一存储节点对应的缺载个数;当得到的结果为正数时,确定该结果为该任一存储节点对应的超载个数。
比如,当存储节点2当前正在执行的录像计划的实际个数为20个,理论个数为30个,存储节点3当前正在执行的录像计划的实际个数为30个,理论个数为20个时,管理节点可以确定存储节点2对应的缺载个数为10个,确定存储节点3对应的超载个数为10个。此时,管理节点可以从存储节点3中移出10个录像计划,并将移出的10个录像计划分配给存储节点2。
另外,当视频监控***包括多个域时,管理节点只能对属于相同域中处于不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
值得说明的是,由于管理节点可以分别对多个域中每个域包括的存储节点进行负载均衡,因此,每个域可以处于负载均衡状态,从而整个视频监控***也将处于负载均衡状态。
在本发明实施例中,管理节点可以确定多个存储节点当前的性能评分,之后,还可以基于多个存储节点的执行总个数和多个存储节点的性能评分,确定多个存储节点中各个存储节点的负载状态,当多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配,保证了多个存储节点在执行多个录像计划过程中因一些原因导致负载不均衡时,能够及时进行负载均衡,从而实现了不仅在录像计划下发过程中实现负载均衡,还能够在执行录像计划的过程中实现负载均衡,提高了实现多个存储节点之间负载均衡的准确性及效果。
在对本发明实施例提供的负载均衡方法进行解释说明之后,接下来,对本发明提供的负载均衡装置进行介绍。
图4A为本发明实施例提供的一种负载均衡装置的框图,参见图4A,该负载均衡装置可以由软件、硬件或者两者的结合实现。该装置包括:第一确定模块401、第二确定模块402和第一分配模块403。
第一确定模块401,用于确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;
第二确定模块402,用于基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;
第一分配模块403,用于按照确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,参见图4B,所述第二确定模块402包括:
第一计算子模块4021,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第二计算子模块4022,用于将所述多个录像计划的个数乘以所述各个存储节点的评分权重,得到分配给所述各个存储节点的录像计划的分配个数。
可选地,参见图4C,所述第一分配模块403包括:
第一获取子模块4031,用于获取所述多个录像计划的优先级;
第一分配子模块4032,用于按照所述多个录像计划的优先级顺序和确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
可选地,参见图4D,所述第一分配模块403包括:
第二获取子模块4033,用于对于所述多个录像计划中的任一录像计划,获取所述任一录像计划的历史执行轨迹,所述历史执行轨迹用于描述所述任一录像计划历史被执行的存储节点以及执行的详情信息;
第一确定子模块4034,用于基于所述历史执行轨迹,从所述多个存储节点中确定执行所述任一录像计划时未失败的存储节点;
第二分配子模块4035,用于将所述任一录像计划分配给所述未失败的存储节点。
可选地,参见图4E,所述装置还包括:
第三确定模块404,用于将所述多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,
第四确定模块405,用于将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
可选地,所述装置还包括:
删除模块,用于将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
可选地,参见图4F,所述装置还包括:
第一触发模块406,用于当检测到所述多个存储节点中任一存储节点发生运行故障时,触发所述第一确定模块基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数;或者,
第二触发模块407,用于每隔第一预设时长,触发所述第二确定模块基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数。
可选地,参见图4G,所述装置还包括:
第五确定模块408,用于确定所述多个存储节点中当前正在执行的录像计划的执行总个数;
第六确定模块409,用于基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态;
第二分配模块410,用于当所述多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
可选地,参见图4H,所述第六确定模块409包括:
第三计算子模块4091,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第四计算子模块4092,用于将所述多个存储节点的执行总个数分别乘以所述各个存储节点的评分权重,得到所述各个存储节点当前正在执行的录像计划的理论个数;
第二确定子模块4093,用于当所述多个存储节点中存在当前正在执行的录像计划的个数与所述理论个数不相同的存储节点时,确定所述多个存储节点中存在负载状态为所述不均衡状态的存储节点。
可选地,参见图4I,所述第二分配模块410包括:
第三确定子模块4101,用于对于处于所述不均衡状态的存储节点中的任一存储节点,确定所述任一存储节点对应的超载个数或者缺载个数;
其中,所述超载个数是指所述任一存储节点当前正在执行的录像计划的实际个数多于所述任一存储节点当前正在执行的录像计划的理论个数的数量,所述缺载个数是指所述任一存储节点当前正在执行的录像计划的实际个数少于所述任一存储节点当前正在执行的录像计划的理论个数的数量;
移动子模块4102,用于从所述任一存储节点当前正在执行的录像计划中移出个数为所述超载个数的录像计划,或者,基于处于所述不均衡状态的存储节点中的其他存储节点中移出的录像计划,向所述任一存储节点分配个数为所述缺载个数的录像计划。
可选地,参见图4J,所述第一确定模块401包括:
第四确定子模块4011,用于对于所述多个存储节点中的任一存储节点,基于所述任一存储节点上报的多个性能指标的详情信息,确定所述任一存储节点中所述多个性能指标的评分;
第五计算子模块4012,用于当所述任一存储节点中所述多个性能指标的评分均高于预设评分时,将所述多个性能指标的评分相加,得到所述任一存储节点当前的性能评分;
第五确定子模块4013,用于当所述任一存储节点中所述多个性能指标的评分不全高于所述预设评分时,将所述多个性能指标中评分最低的性能指标的评分确定为所述任一存储节点当前的性能评分。
可选地,所述装置还包括:
第三触发模块,用于每隔第二预设时长,触发所述第五确定模块确定所述多个存储节点中当前正在执行的录像计划的执行总个数。
综上所述,在本发明实施例中,管理节点可以确定多个存储节点当前的性能评分,之后,还可以基于多个存储节点的执行总个数和多个存储节点的性能评分,确定多个存储节点中各个存储节点的负载状态,当多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配,保证了多个存储节点在执行多个录像计划过程中因一些原因导致负载不均衡时,能够及时进行负载均衡,从而实现了不仅在录像计划下发过程中实现负载均衡,还能够在执行录像计划的过程中实现负载均衡,提高了实现多个存储节点之间负载均衡的准确性及效果。
需要说明的是:上述实施例提供的负载均衡装置在进行负载均衡时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的负载均衡装置与负载均衡方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5示出了本发明一个示例性实施例提供的节点500的结构框图。该节点500可以是管理节点,也可以是多个存储节点中的任一个存储节点,且该节点500可以是:平板电脑、笔记本电脑或台式电脑。节点500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,节点500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的一种负载均衡方法。
在一些实施例中,节点500还可选包括有:***设备接口503和至少一个***设备。处理器501、存储器502和***设备接口503之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口503相连。具体地,***设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
***设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和***设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和***设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置节点500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在节点500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在节点500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在节点500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位节点500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源509用于为节点500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,节点500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以节点500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测节点500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对节点500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在节点500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在节点500的侧边框时,可以检测用户对节点500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置节点500的正面、背面或侧面。当节点500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在节点500的前面板。接近传感器516用于采集用户与节点500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与节点500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与节点500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
也即是,本发明实施例不仅提供了一种节点,包括处理器和用于存储处理器可执行指令的存储器,其中,处理器被配置为执行图2和图3所示的实施例中的方法,而且,本发明实施例还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时可以实现图2和图3所示的实施例中的负载均衡方法。
本领域技术人员可以理解,图5中示出的结构并不构成对节点500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图6是本发明实施例提供的一种节点600的结构示意图,该节点600可以是管理节点,也可以是多个存储节点中的任一个存储节点,且该节点600可以为服务器,且该服务器可以是后台服务器集群中的服务器。具体来讲:
节点600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的***存储器604,以及连接***存储器604和中央处理单元601的***总线605。节点600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)606,和用于存储操作***613、应用程序614和其他程序模块615的大容量存储设备607。
基本输入/输出***606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中显示器608和输入设备609都通过连接到***总线605的输入输出控制器610连接到中央处理单元601。基本输入/输出***606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备607通过连接到***总线605的大容量存储控制器(未示出)连接到中央处理单元601。大容量存储设备607及其相关联的计算机可读介质为节点600提供非易失性存储。也就是说,大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,节点600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即节点600可以通过连接在***总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序用于实现本发明实施例提供的如上述图2或图3所示的负载均衡方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (25)

1.一种负载均衡方法,应用于视频监控***中的管理节点,其特征在于,所述方法包括:
确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;
基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;
按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点。
2.如权利要求1所述的方法,其特征在于,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,包括:
将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
将所述多个录像计划的个数乘以所述各个存储节点的评分权重,得到分配给所述各个存储节点的录像计划的分配个数。
3.如权利要求1所述的方法,其特征在于,所述按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点,包括:
获取所述多个录像计划的优先级;
按照所述多个录像计划的优先级顺序和确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
4.如权利要求1或3所述的方法,其特征在于,所述将所述多个录像计划分配给所述多个存储节点,包括:
对于所述多个录像计划中的任一录像计划,获取所述任一录像计划的历史执行轨迹,所述历史执行轨迹用于描述所述任一录像计划历史被执行的存储节点以及执行的详情信息;
基于所述历史执行轨迹,从所述多个存储节点中确定执行所述任一录像计划时未失败的存储节点;
将所述任一录像计划分配给所述未失败的存储节点。
5.如权利要求1所述的方法,其特征在于,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数之前,还包括:
将所述多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,
将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
7.如权利要求1-6任一所述的方法,其特征在于,所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数之前,还包括:
当检测到所述多个存储节点中任一存储节点发生运行故障时,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤;或者,
每隔第一预设时长,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤。
8.如权利要求1所述的方法,其特征在于,所述确定所述视频监控***中的多个存储节点当前的性能评分之后,还包括:
确定所述多个存储节点中当前正在执行的录像计划的执行总个数;
基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态;
当所述多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
9.如权利要求8所述的方法,其特征在于,所述基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态,包括:
将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
将所述多个存储节点的执行总个数分别乘以所述各个存储节点的评分权重,得到所述各个存储节点当前正在执行的录像计划的理论个数;
当所述多个存储节点中存在当前正在执行的录像计划的实际个数与所述理论个数不相同的存储节点时,确定所述多个存储节点中存在负载状态为所述不均衡状态的存储节点。
10.如权利要求8或9所述的方法,其特征在于,所述对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配,包括:
对于处于所述不均衡状态的存储节点中的任一存储节点,确定所述存储节点A对应的超载个数或者缺载个数;
其中,所述超载个数是指所述任一存储节点当前正在执行的录像计划的实际个数多于所述任一存储节点当前正在执行的录像计划的理论个数的数量,所述缺载个数是指所述任一存储节点当前正在执行的录像计划的实际个数少于所述任一存储节点当前正在执行的录像计划的理论个数的数量;
从所述任一存储节点当前正在执行的录像计划中移出个数为所述超载个数的录像计划,或者,基于处于所述不均衡状态的存储节点中的其他存储节点中移出的录像计划,向所述任一存储节点分配个数为所述缺载个数的录像计划。
11.如权利要求1-10任一所述的方法,其特征在于,所述确定所述视频监控***中的多个存储节点当前的性能评分,包括:
对于所述多个存储节点中的任一存储节点,基于所述任一存储节点上报的多个性能指标的详情信息,确定所述任一存储节点中所述多个性能指标的评分;
当所述任一存储节点中所述多个性能指标的评分均高于预设评分时,将所述多个性能指标的评分相加,得到所述任一存储节点当前的性能评分;
当所述任一存储节点中所述多个性能指标的评分不全高于所述预设评分时,将所述多个性能指标中评分最低的性能指标的评分确定为所述任一存储节点当前的性能评分。
12.如权利要求8-11任一所述的方法,其特征在于,所述确定所述多个存储节点中当前正在执行的录像计划的执行总个数之前,还包括:
每隔第二预设时长,执行所述确定所述多个存储节点中当前正在执行的录像计划的执行总个数的步骤。
13.一种负载均衡装置,应用于视频监控***中的管理节点,其特征在于,所述装置包括:
第一确定模块,用于确定所述视频监控***中的多个存储节点当前的性能评分,所述性能评分是基于存储节点的各个性能指标的评分确定得到,且用于描述存储节点当前运行资源的能力;
第二确定模块,用于基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数,所述录像计划用于描述摄像装置录制视频流的时间信息;
分配模块,用于按照确定的所述分配个数,将所述多个录像计划分配给所述多个存储节点。
14.如权利要求13所述的装置,其特征在于,所述第二确定模块包括:
第一计算子模块,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第二计算子模块,用于将所述多个录像计划的个数乘以所述各个存储节点的评分权重,得到分配给所述各个存储节点的录像计划的分配个数。
15.如权利要求13所述的装置,其特征在于,所述第一分配模块包括:
第一获取子模块,用于获取所述多个录像计划的优先级;
第一分配子模块,用于按照所述多个录像计划的优先级顺序和确定的分配个数,将所述多个录像计划分配给所述多个存储节点。
16.如权利要求13或15所述的装置,其特征在于,所述第一分配模块包括:
第二获取子模块,用于对于所述多个录像计划中的任一录像计划,获取所述任一录像计划的历史执行轨迹,所述历史执行轨迹用于描述所述任一录像计划历史被执行的存储节点以及执行的详情信息;
第一确定子模块,用于基于所述历史执行轨迹,从所述多个存储节点中确定执行所述任一录像计划时未失败的存储节点;
第二分配子模块,用于将所述任一录像计划分配给所述未失败的存储节点。
17.如权利要求13所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于将所述多个存储节点中已发生运行故障的至少一个存储节点当前正在执行和未执行的多个录像计划确定为待下发的多个录像计划;和/或,
第四确定模块,用于将已接收且未处理的录像计划下发请求中携带的多个录像计划确定为待下发的多个录像计划。
18.如权利要求13所述的装置,其特征在于,所述装置还包括:
删除模块,用于将已接收且未处理的录像计划删除请求中携带的录像计划从对应的存储节点中删除。
19.如权利要求13-18任一所述的装置,其特征在于,所述装置还包括:
第一触发模块,用于当检测到所述多个存储节点中任一存储节点发生运行故障时,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤;或者,
第二触发模块,用于每隔第一预设时长,执行所述基于待下发的多个录像计划的个数和所述多个存储节点的性能评分,确定分配给各个存储节点的录像计划的分配个数的步骤。
20.如权利要求13所述的装置,其特征在于,所述装置还包括:
第五确定模块,用于确定所述多个存储节点中当前正在执行的录像计划的执行总个数;
第六确定模块,用于基于所述多个存储节点的执行总个数和所述多个存储节点的性能评分,确定所述多个存储节点中各个存储节点的负载状态;
第二分配模块,用于当所述多个存储节点中存在负载状态为不均衡状态的存储节点时,对处于所述不均衡状态的存储节点当前正在执行的录像计划的实际个数重新进行分配。
21.如权利要求20所述的装置,其特征在于,所述第六确定模块包括:
第三计算子模块,用于将所述各个存储节点的性能评分除以所述多个存储节点的性能总评分,得到所述各个存储节点的评分权重,所述性能总评分为所述多个存储节点的性能评分之和;
第四计算子模块,用于将所述多个存储节点的执行总个数分别乘以所述各个存储节点的评分权重,得到所述各个存储节点当前正在执行的录像计划的理论个数;
第二确定子模块,用于当所述多个存储节点中存在当前正在执行的录像计划的实际个数与所述理论个数不相同的存储节点时,确定所述多个存储节点中存在负载状态为所述不均衡状态的存储节点。
22.如权利要求20或21所述的装置,其特征在于,所述第二分配模块包括:
第三确定子模块,用于对于处于所述不均衡状态的存储节点中的任一存储节点,确定所述存储节点A对应的超载个数或者缺载个数;
其中,所述超载个数是指所述任一存储节点当前正在执行的录像计划的实际个数多于所述任一存储节点当前正在执行的录像计划的理论个数的数量,所述缺载个数是指所述任一存储节点当前正在执行的录像计划的实际个数少于所述任一存储节点当前正在执行的录像计划的理论个数的数量;
移动子模块,用于从所述任一存储节点当前正在执行的录像计划中移出个数为所述超载个数的录像计划,或者,基于处于所述不均衡状态的存储节点中的其他存储节点中移出的录像计划,向所述任一存储节点分配个数为所述缺载个数的录像计划。
23.如权利要求13-22任一所述的装置,其特征在于,所述第一确定模块包括:
第四确定子模块,用于对于所述多个存储节点中的任一存储节点,基于所述任一存储节点上报的多个性能指标的详情信息,确定所述任一存储节点中所述多个性能指标的评分;
第五计算子模块,用于当所述任一存储节点中所述多个性能指标的评分均高于预设评分时,将所述多个性能指标的评分相加,得到所述任一存储节点当前的性能评分;
第五确定子模块,用于当所述任一存储节点中所述多个性能指标的评分不全高于所述预设评分时,将所述多个性能指标中评分最低的性能指标的评分确定为所述任一存储节点当前的性能评分。
24.如权利要求20-23任一所述的装置,其特征在于,所述装置还包括:
第三触发模块,用于每隔第二预设时长,执行所述确定所述多个存储节点中当前正在执行的录像计划的执行总个数的步骤。
25.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-12任一所述方法的步骤。
CN201810054177.8A 2018-01-19 2018-01-19 负载均衡方法、装置及计算机可读存储介质 Active CN110062199B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810054177.8A CN110062199B (zh) 2018-01-19 2018-01-19 负载均衡方法、装置及计算机可读存储介质
PCT/CN2019/072376 WO2019141247A1 (zh) 2018-01-19 2019-01-18 负载均衡方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810054177.8A CN110062199B (zh) 2018-01-19 2018-01-19 负载均衡方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110062199A true CN110062199A (zh) 2019-07-26
CN110062199B CN110062199B (zh) 2020-07-10

Family

ID=67301686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810054177.8A Active CN110062199B (zh) 2018-01-19 2018-01-19 负载均衡方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110062199B (zh)
WO (1) WO2019141247A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401170A (zh) * 2020-03-06 2020-07-10 西安奥卡云数据科技有限公司 一种人脸检测方法及装置
CN111428266A (zh) * 2019-09-05 2020-07-17 广州知弘科技有限公司 基于大数据的存储节点空间容量和安全性评估方法
CN111580755A (zh) * 2020-05-09 2020-08-25 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN113225506A (zh) * 2020-01-21 2021-08-06 杭州海康威视数字技术股份有限公司 录像数据分析方法及装置
CN116684664A (zh) * 2023-06-21 2023-09-01 杭州瑞网广通信息技术有限公司 一种流媒体集群的调度方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005514A (zh) * 2006-12-27 2007-07-25 北京航空航天大学 用于网络游戏的多服务器组织方法
GB0915712D0 (en) * 2008-11-03 2009-10-07 Bridgeworks Ltd Data transfer
CN103905530A (zh) * 2014-03-11 2014-07-02 浪潮集团山东通用软件有限公司 一种高性能全局负载均衡的分布式数据库数据路由方法
CN104113735A (zh) * 2014-07-30 2014-10-22 武汉烽火众智数字技术有限责任公司 一种分布式视频监控存储***及其方法
GB2508403B (en) * 2012-11-30 2016-01-27 Xyratex Tech Ltd Data communication method and apparatus
CN105450964A (zh) * 2014-09-30 2016-03-30 杭州海康威视***技术有限公司 对录像数据进行云存储的方法、***及管理节点
CN106506665A (zh) * 2016-11-18 2017-03-15 郑州云海信息技术有限公司 一种分布式视频监控***的负载均衡方法及平台
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
JP2017139634A (ja) * 2016-02-04 2017-08-10 京セラ株式会社 通信装置、通信制御方法、及びプログラム
CN107196869A (zh) * 2017-07-14 2017-09-22 北京知道创宇信息技术有限公司 基于主机实际负载的自适应负载均衡方法、设备和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365119B (zh) * 2008-09-25 2013-02-13 北京中星微电子有限公司 用于网络视频监控***所使用的录像负载均衡方法
CN102333120B (zh) * 2011-09-29 2014-05-21 高新兴科技集团股份有限公司 一种负载均衡处理的流存储***
US9154735B2 (en) * 2013-03-15 2015-10-06 Blue Jeans Network Provision of video conferencing with load balancing
WO2014176990A1 (zh) * 2013-10-11 2014-11-06 中兴通讯股份有限公司 节点分配方法、装置及***

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005514A (zh) * 2006-12-27 2007-07-25 北京航空航天大学 用于网络游戏的多服务器组织方法
GB0915712D0 (en) * 2008-11-03 2009-10-07 Bridgeworks Ltd Data transfer
GB2508403B (en) * 2012-11-30 2016-01-27 Xyratex Tech Ltd Data communication method and apparatus
CN103905530A (zh) * 2014-03-11 2014-07-02 浪潮集团山东通用软件有限公司 一种高性能全局负载均衡的分布式数据库数据路由方法
CN104113735A (zh) * 2014-07-30 2014-10-22 武汉烽火众智数字技术有限责任公司 一种分布式视频监控存储***及其方法
CN105450964A (zh) * 2014-09-30 2016-03-30 杭州海康威视***技术有限公司 对录像数据进行云存储的方法、***及管理节点
JP2017139634A (ja) * 2016-02-04 2017-08-10 京セラ株式会社 通信装置、通信制御方法、及びプログラム
CN106506665A (zh) * 2016-11-18 2017-03-15 郑州云海信息技术有限公司 一种分布式视频监控***的负载均衡方法及平台
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
CN107196869A (zh) * 2017-07-14 2017-09-22 北京知道创宇信息技术有限公司 基于主机实际负载的自适应负载均衡方法、设备和***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428266A (zh) * 2019-09-05 2020-07-17 广州知弘科技有限公司 基于大数据的存储节点空间容量和安全性评估方法
CN113225506A (zh) * 2020-01-21 2021-08-06 杭州海康威视数字技术股份有限公司 录像数据分析方法及装置
CN113225506B (zh) * 2020-01-21 2022-09-30 杭州海康威视数字技术股份有限公司 录像数据分析方法及装置
CN111401170A (zh) * 2020-03-06 2020-07-10 西安奥卡云数据科技有限公司 一种人脸检测方法及装置
CN111401170B (zh) * 2020-03-06 2023-06-06 西安奥卡云数据科技有限公司 一种人脸检测方法及装置
CN111580755A (zh) * 2020-05-09 2020-08-25 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN111580755B (zh) * 2020-05-09 2022-07-05 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN116684664A (zh) * 2023-06-21 2023-09-01 杭州瑞网广通信息技术有限公司 一种流媒体集群的调度方法
CN116684664B (zh) * 2023-06-21 2024-07-05 杭州瑞网广通信息技术有限公司 一种流媒体集群的调度方法

Also Published As

Publication number Publication date
CN110062199B (zh) 2020-07-10
WO2019141247A1 (zh) 2019-07-25

Similar Documents

Publication Publication Date Title
CN110062199A (zh) 负载均衡方法、装置及计算机可读存储介质
EP4009187A1 (en) Block processing method and apparatus, and data query method and apparatus based on blockchain
WO2020114266A1 (zh) 资源转移方法、装置、电子设备及存储介质
CN111090687B (zh) 数据处理方法及装置、***、计算机可读存储介质
CN111245745B (zh) 消息发送方法、装置、节点设备及存储介质
WO2020114279A1 (zh) 债权凭证转移方法、装置、电子设备及存储介质
CN108805560B (zh) 数值整合方法、装置、电子设备及计算机可读存储介质
CN110262947A (zh) 阈值告警方法、装置、计算机设备及存储介质
CN108881030A (zh) 灰度发布场景下的路由方法及装置
CN111340482B (zh) 冲突检测方法、装置、节点设备及存储介质
CN108710496A (zh) 应用程序的配置更新方法、装置、设备及存储介质
CN108304265A (zh) 内存管理方法、装置及存储介质
CN108762881A (zh) 界面绘制方法、装置、终端及存储介质
CN110213153A (zh) 未读消息的显示方法、获取方法、装置、终端及存储介质
CN110224870A (zh) 接口监控方法、装置、计算设备及存储介质
CN110147380A (zh) 数据更新方法、装置、服务器以及存储介质
CN111092809A (zh) 实时推送信息的方法、装置、计算机设备及存储介质
CN110517032A (zh) 资源转移方法、***、装置、服务器及存储介质
CN112052096A (zh) 资源处理方法、装置、服务器及终端
CN110769050A (zh) 数据处理方法、数据处理***、计算机设备及存储介质
CN110471614A (zh) 一种存储数据的方法、检测终端的方法及装置
CN110597840A (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN110381155A (zh) 任务管理方法、装置、存储介质及终端
CN108829464A (zh) 服务启动方法、装置、计算机设备及存储介质
CN108132817A (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