1.本发明涉及录像存储系统技术领域,尤其涉及一种基于状态位和定时器的录像策略切换方法和系统。
背景技术:2.视频安防监控系统,指利用视频探测技术、监视设防区域并实时显示、记录现场图像的电子系统。视频监控系统一般具有监控点多,摄像头数量多,监控时间长,采集数据的时间往往长达几天或者几十天。而监控点越来越多,视频储存就显的尤为重要,这样可以在遇到突发事件的时候可以通过此录像系统进行调查取证。
3.现有录像存储系统,存在着如下缺陷:录像服务器在启动的时候会经过一段时间(这个根据硬件的性能解决)才能达到稳定状态,录像服务器上线后会定时的往录像控制服务器发送状态信息(磁盘是否已满、 cpu的使用率、内存大小、已经使用的内存大小、已经使用的带宽大小、当前正在录像的路数);这些信息会汇集到录像控制服务器,录像控制服务器通过研判,判断当前前端摄像设备在此录像服务器上录像是否合适,是否需要切换到其他负载更低的录像服务器上。如果现有的录像服务器没有工作在稳定状态就下发录像策略,会导致录像服务器接收不到录像策略从而导致录像策略下发失败。
技术实现要素:4.为了解决现有技术的缺陷,本发明的目的在于提供一种基于状态位和定时器的录像策略切换方法和系统,通过录像控制服务器根据录像策略机制,向集群下负载较轻的录像服务器下发录像策略命令。
5.为了实现上述目的,本发明提供的基于状态位和定时器的录像策略切换方法,包括以下步骤:
6.1)注册服务器接收前端摄像设备的注册消息,并将前端摄像设备的设备信息同步到录像控制服务器上;
7.2)录像控制服务器判断确认保存有前端摄像设备的录像策略配置信息;
8.3)将前端摄像设备状态设置为在线状态,时间调整正为系统时间;
9.4)录像服务器上线,并将其状态设置为等待稳定状态,时间调整正为系统时间;
10.5)启动定时器,根据获取的录像控制服务器当前的系统时间和录像服务器上线时间,设置录像服务器的状态;
11.6)启动定时器,根据获取的录像服务器的运行状态值和前端摄像设备状态值,向录像服务器下发录像策略命令。
12.进一步地,所述录像策略配置信息,包括,前端摄像设备id、新增&修改&删除前端摄像设备、录像保存天数、录像服务集群id、录像计划名称、录像计划类型、录像日期类型、录像开始时间和录像结束时间。
13.进一步地,所述步骤2),还包括,
14.录像控制服务器判断在map表dev_strategy_map中key值是否为前端摄像设备的id,且value值是否包含 mv_dev_record_strategy_info的类指针;
15.如果无,则录像控制服务器向注册服务器返回消息,并且等待下次来自注册服务器同步信息的到来;
16.录像控制服务器接收中台下发的前端摄像设备的录像策略配置消息,并将录像策略配置消息保存到设备配置map表。
17.进一步地,所述步骤3),还包括,
18.注册服务器每间隔10秒向录像控制服务器同步上线前端摄像设备的设备信息;
19.查询到map表中含有前端摄像设备的录像策略配置信息,则将前端摄像设备状态设置为设备在线;
20.将当前的前端摄像设备时间调整为系统时间。
21.进一步地,所述步骤4),还包括,
22.录像服务器上线,通过前端摄像设备id,在map表中找到录像服务器状态并调整为等待稳定,在map表中找到当前录像服务器时间调整为当前的系统时间。
23.进一步地,所述步骤5),还包括,
24.开启线程,启动第一定时器,循环查询map表中的数据,通过前端摄像设备id获取当前的系统时间和录像服务器的上线时间;
25.根据所述当前的系统时间和所述录像服务器的上线时间,将录像服务器的状态设置为稳定状态。
26.更进一步地,所述步骤6),还包括,
27.开启线程,启动第二定时器,循环查询map表中的数据,通过前端摄像设备id,提取出录像服务器状态和前端摄像设备的状态;
28.如果录像服务器状态为稳定状态,且前端摄像设备的状态为在线状态,则向指定的录像服务器下发录像策略命令。
29.为了实现上述目的,本发明还提供一种基于状态位和定时器的录像策略切换系统,包括,中台、录像控制服务器、注册服务器、录像服务器,以及前端摄像设备,其中,
30.所述中台,其向所述控制服务器下发录像策略配置消息,指定所述前端摄像设备向所述录像服务器发送视频信息;
31.所述录像控制服务器,其接收所述注册服务器发送的所述前端设备的同步信息;开启定时器,根据录像策略配置消息,向所述录像服务器发送录像策略命令;
32.所述注册服务器,其接收所述前端摄像设备发送的注册信息,对所述前端摄像设备进行注册,并将获取到的设备信息同步到所述录像控制服务器;
33.所述录像服务器,其接收所述录像控制服务器发送的录像策略命令,存储视频信息。
34.进一步地,所述中台,其向所述控制服务器下发的录像策略配置消息,包括,前端摄像设备id、新增&修改&删除前端摄像设备、录像保存天数、录像服务集群id、录像计划名称、录像计划类型、录像日期类型、录像开始时间和录像结束时间。
35.更进一步地,所述录像控制服务器,包括,第一定时器、第二定时器,以及map表,其中,
36.所述第一定时器,用于查询map表中的数据,并通过所述前端摄像设备id当前的系统时间,提取录像服务器的上线时间;
37.所述第二定时器,用于查询map表中的数据,通过前端摄像设备 id,提取所述录像服务器的状态值和所述前端摄像设备的状态值。
38.map表,其用于存储前端摄像设备的录像策略配置消息。
39.本发明提供的基于状态位和定时器的录像策略切换方法及系统,与现有技术相比具有如下有益效果:
40.录像服务器在启动的时候会经过一段时间(这个根据硬件的性能解决) 才能达到稳定状态,录像服务器上线后会定时的往录像控制服务器发送状态信息(磁盘是否已满、cpu的使用率、内存大小、已经使用的内存大小、已经使用的带宽大小、当前正在录像的路数);这些信息会汇集到录像控制服务器,录像控制服务器通过研判,判断当前前端摄像设备在此录像服务器上录像是否合适,是否需要切换到其他负载更低的录像服务器上。如果现有的录像服务器没有工作在稳定状态就下发录像策略,会导致录像服务器接收不到录像策略从而导致录像策略下发失败。本发明基于状态位和定时器,判断录像服务器是否已经达到稳定状态,这样大大增加了录像策略下发的成功率。
41.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
42.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
43.图1为根据本发明的基于状态位和定时器的录像策略切换方法流程图;
44.图2为根据本发明的基于状态位和定时器的录像策略切换系统架构示意图。
具体实施方式
45.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
46.实施例1
47.图1为根据本发明的基于状态位和定时器的录像策略切换方法流程图,下面将参考图1,对本发明的基于状态位和定时器的录像策略切换方法进行详细描述。
48.首先,在步骤101,注册服务器接收前端摄像设备的注册信息。
49.本发明实施例中,前端摄像设备连接到系统后,向注册服务器发送格式为sip信令的注册信息进行系统注册。注册信息包括:
50.注册消息的格式如下所示:
51.register sip:sip服务器编码@目的域名或ip地址端口sip/2.0;
52.via:sip/2.0/udp源域名或ip地址端口;
53.from:《sip:sip设备编码@源域名》;tag=185326220;
54.to:《sip:sip设备编码@源域名》;
55.call-id:ms1214-322164710-681262131542511620107-0@172.18.16.3;
56.cseq:2register;
57.在步骤102,注册服务器向录像控制服务器发送注册消息,将获取到的前端摄像设备的设备信息同步到录像控制服务器上。
58.本发明实施例中,设备信息格式如下所示:
[0059][0060]
本发明实施例中,注册服务器通过vms消息将批量的镜头信息发送到录像控制服务器上,录像控制服务器将消息解析,并存储到本地。
[0061]
在步骤103,判断设备配置map表中是否保存有该前端摄像设备的录像策略配置信息,如果无,录像控制服务器则向注册服务器返回消息,并且等待下次来自注册服务器同步信息的到来;如果有,则进入步骤205。
[0062]
本发明实施例中,录像控制服务器判断在map表 dev_strategy_map是否已经有此前端摄像设备的录像策略配置信息, dev_strategy_map有个key值是此前端摄像设备的id,还有一个 value值是包含了mv_dev_record_strategy_info的类指针。
[0063]
本发明实施例中,dev_strategy_map的结构如下:
[0064]
typedef ace_hash_map_manager《ace_cstring, mv_dev_record_strategy_info*,ace_null_mutex》 dev_strategy_map;
[0065]
上述hash表的key值是镜头id,value值记录镜头信息(录像策略的结构体)。
[0066]
本发明实施例中,mv_dev_record_strategy_info的结构如下:
[0067]
[0068][0069]
m_szlensid:镜头id;
[0070]
m_szrecordsvrid:服务器id;
[0071]
m_ulstoreday:当前镜头存储的天数。
[0072]
在步骤104,录像控制服务器接收中台下发的前端摄像设备的录像策略配置消息,并将录像策略配置消息保存到设备配置map表中。
[0073]
本发明实施例中,中台下发前端摄像设备的录像策略配置消息到录像控制服务器,消息格式如下表所示:
[0074]
[0075][0076]
录像控制服务器将录像策略配置消息保存到一个list表格中,在此之前开辟的一个线程中去循环读取list表中的信息。
[0077]
为mv_dev_record_strategy_info分配内存空间,并将其插入到 dev_strategy_map中,得到的map表会在步骤103中循环的等待查询。
[0078]
在步骤105,将前端摄像设备状态设置为在线状态,时间调整正为系统时间。
[0079]
本发明实例中,注册服务器向录像控制服务器同步的上线前端摄像设备的设备信息会间隔10秒触发一次,则在步骤4中查到 dev_strategy_map表中含有的前端摄像设备的key值,则取出value 值mv_dev_record_strategy_info,设置mv_dev_record_strategy_info中的 devicestate(前端摄像设备状态)为device_nru_state_online;前端摄像设备状态如下:
[0080]
设备在线:device_nru_state_online;
[0081]
设备不在线:device_nru_state_offline;
[0082]
设备待删除:device_nru_state_delete。
[0083]
前端摄像设备的上述状态作为后续是否通过录像控制服务器向录像服务器下发信息的判断条件。
[0084]
并将当前的devicetime(前端摄像设备时间)调用系统函数 time(&m_last_report_time)赋予当前的系统时间。
[0085]
在步骤106,录像服务器上线,并将其状态设置为等待稳定状态,时间调整正为系统时间。
[0086]
本发明实施例中,录像服务器上线,通过前端摄像设备id可以得到 dev_strategy_map,map中的staterecordce(录像服务器状态)的录像服务器状态值为rt_status_unregistered。
[0087]
本发明实施例中,录像服务器状态如下:
[0088]
未注册:rt_status_unregistered;
[0089]
等待稳定:rt_status_wait_steady;
[0090]
稳定:rt_status_reportload;
[0091]
待删除:rt_status_delete。
[0092]
录像服务器上线后staterecordce的状态值更改为 rt_status_wait_steady;并将当前的recordtime(录像服务器时间) 调用系统函数time(&m_last_report_time)给以赋予当前的系统时间。
[0093]
在步骤107,启动定时器,根据获取的录像控制服务器当前的系统时间和录像服务器上线时间,设置录像服务器的状态。
[0094]
本发明实施例中,开启线程,启动第一定时器,循环查询map表中的数据,通过前端摄像设备id获取到dev_strategy_map中的value值 mv_dev_record_strategy_info;调用系统函数time(&m_last_report_time)获取当前的系统时间t1;从mv_dev_record_strategy_info中提取出来录像服务器的上线时间t2;如果t1-t2》20秒,则认为录像服务器已经稳定上线20 秒,则将staterecordce的状态值设置为rt_status_reportload。
[0095]
在步骤108,启动定时器,根据获取的录像服务器的运行状态值和前端摄像设备状态值,向录像服务器下发录像策略命令。
[0096]
本发明实施例中,开启线程,启动第二定时器,循环查询map表中的数据,通过前端摄像设备id获得的dev_strategy_map中的value值 mv_dev_record_strategy_info。
[0097]
从mv_dev_record_strategy_info中提取出来录像服务器运行状态值 staterecordce和前端摄像设备的状态值devicestate;如果staterecordce== rt_status_reportload并且devicestate== device_nru_state_online,则往指定的服务器下发录像策略命令。
[0098]
图2为根据本发明的基于状态位和定时器的录像策略切换系统架构示意图,如图2所示,本发明的基于状态位和定时器的录像策略切换系统,包括,中台10、录像控制服务器20、注册服务器30、录像服务器40,以及前端摄像设备50,其中,
[0099]
中台10,其向控制服务器30下发录像策略配置消息,指定前端摄像设备将向录像服务器发送视频信息并保存到本地。
[0100]
本发明实施例中,中台10下发的录像策略配置消息,包括,前端摄像设备id、新增&修改&删除前端摄像设备、录像保存天数、录像服务集群 id、录像计划名称、录像计划类型、录像日期类型、录像开始时间和录像结束时间。
[0101]
录像控制服务器20,其接收中台10下发的录像策略配置消息,并保存到map表中;接收注册服务器30发送的设备同步信息;开启定时器,循环查询下发命令,向录像服务器40发送录像策略命令。
[0102]
本发明实施例中,录像控制服务器20,启动定时器,根据获取的当前的系统时间和录像服务器40上线时间,设置录像服务器40的状态;根据获取的录像服务器40的运行状态值和前端摄像设备50状态值,向录像服务器40下发录像策略命令。
[0103]
注册服务器30,其接收前端摄像设备50发送的注册信息,对前端摄像设备50进行注册,并将获取到的设备信息同步到录像控制服务器20上。
[0104]
录像服务器40,将上线信息发送给录像控制服务器20,并接收录像控制服务器20发送的录像策略命令,存储视频信息。
[0105]
本发明实施例中,录像控制服务器20,包括,第一定时器21、第二定时器22,以及map表,其中,
[0106]
第一定时器21,其循环查询map表中的数据,通过前端摄像设备id 获取到dev_strategy_map中的value值mv_dev_record_strategy_info;调用系统函数time(&m_last_report_time)获取当前的系统时间;从 mv_dev_record_strategy_info中提取出来录像服务器的上线时间。
[0107]
第二定时器22,循环查询map表中的数据,通过前端摄像设备id获得的dev_strategy_map中的value值mv_dev_record_strategy_info;从 mv_dev_record_strategy_info中提取出来录像服务器运行状态值 staterecordce和前端摄像设备的状态值devicestate。
[0108]
map表,其用于存储前端摄像设备的录像策略配置消息,其中的 dev_strategy_map设置有包含前端摄像设备id的key值和包含 mv_dev_record_strategy_info的类指针value值。
[0109]
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种基于状态位和定时器的录像策略切换方法,包括以下步骤,1)注册服务器接收前端摄像设备的注册消息,并将前端摄像设备的设备信息同步到录像控制服务器上;2)录像控制服务器判断确认保存有前端摄像设备的录像策略配置信息;3)将前端摄像设备状态设置为在线状态,时间调整正为系统时间;4)录像服务器上线,并将其状态设置为等待稳定状态,时间调整正为系统时间;5)启动定时器,根据获取的录像控制服务器当前的系统时间和录像服务器上线时间,设置录像服务器的状态;6)启动定时器,根据获取的录像服务器的运行状态值和前端摄像设备状态值,向录像服务器下发录像策略命令。2.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述录像策略配置信息,包括,前端摄像设备id、新增&修改&删除前端摄像设备、录像保存天数、录像服务集群id、录像计划名称、录像计划类型、录像日期类型、录像开始时间和录像结束时间。3.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述步骤2),还包括,录像控制服务器判断在map表dev_strategy_map 中key值是否为前端摄像设备的id,且value值是否包含mv_dev_record_strategy_info 的类指针;如果无,则录像控制服务器向注册服务器返回消息,并且等待下次来自注册服务器同步信息的到来;录像控制服务器接收中台下发的前端摄像设备的录像策略配置消息,并将录像策略配置消息保存到设备配置map表。4.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述步骤3),还包括,注册服务器每间隔10秒向录像控制服务器同步上线前端摄像设备的设备信息;查询到map表中含有前端摄像设备的录像策略配置信息,则将前端摄像设备状态设置为设备在线;将当前的前端摄像设备时间调整为系统时间。5.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述步骤4),还包括,录像服务器上线,通过前端摄像设备id,在map表中找到录像服务器状态并调整为等待稳定,在map表中找到当前录像服务器时间调整为当前的系统时间。6.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述步骤5),还包括,开启线程,启动第一定时器,循环查询map表中的数据,通过前端摄像设备id获取当前的系统时间和录像服务器的上线时间;根据所述当前的系统时间和所述录像服务器的上线时间,将录像服务器的状态设置为稳定状态。7.根据权利要求1所述的基于状态位和定时器的录像策略切换方法,其特征在于,所述
步骤6),还包括,开启线程,启动第二定时器,循环查询map表中的数据,通过前端摄像设备id,提取出录像服务器状态和前端摄像设备的状态;如果录像服务器状态为稳定状态,且前端摄像设备的状态为在线状态,则向指定的录像服务器下发录像策略命令。8.一种基于状态位和定时器的录像策略切换系统,其特征在于,包括,中台、录像控制服务器、注册服务器、录像服务器,以及前端摄像设备,其中,所述中台,其向所述控制服务器下发录像策略配置消息,指定所述前端摄像设备向所述录像服务器发送视频信息;所述录像控制服务器,其接收所述注册服务器发送的所述前端设备的同步信息;开启定时器,根据录像策略配置消息,向所述录像服务器发送录像策略命令;所述注册服务器,其接收所述前端摄像设备发送的注册信息,对所述前端摄像设备进行注册,并将获取到的设备信息同步到所述录像控制服务器;所述录像服务器,其接收所述录像控制服务器发送的录像策略命令,存储视频信息。9.根据权利要求8所述的基于状态位和定时器的录像策略切换系统,其特征在于,所述中台,其向所述控制服务器下发的录像策略配置消息,包括,前端摄像设备id、新增&修改&删除前端摄像设备、录像保存天数、录像服务集群id、录像计划名称、录像计划类型、录像日期类型、录像开始时间和录像结束时间。10.根据权利要求8所述的基于状态位和定时器的录像策略切换系统,其特征在于,所述录像控制服务器,包括,第一定时器、第二定时器,以及map表,其中,所述第一定时器,用于查询map表中的数据,并通过所述前端摄像设备id当前的系统时间,提取录像服务器的上线时间;所述第二定时器,用于查询map表中的数据,通过前端摄像设备id,提取所述录像服务器的状态值和所述前端摄像设备的状态值,map表,其用于存储前端摄像设备的录像策略配置消息。
技术总结一种基于状态位和定时器的录像策略切换方法及系统,所述方法包括以下步骤,1)注册服务器接收前端摄像设备的注册消息,并将前端摄像设备的设备信息同步到录像控制服务器上;2)录像控制服务器判断确认保存有前端摄像设备的录像策略配置信息;3)将前端摄像设备状态设置为在线状态,时间调整正为系统时间;4)录像服务器上线,并将其状态设置为等待稳定状态,时间调整正为系统时间;5)启动定时器,根据获取的录像控制服务器当前的系统时间和录像服务器上线时间,设置录像服务器的状态;6)启动定时器,根据获取的录像服务器的运行状态值和前端摄像设备状态值,向录像服务器下发录像策略命令。本发明的方法及系统,实现录像策略平滑切换。滑切换。滑切换。
技术研发人员:杨帆 孟伸伸
受保护的技术使用者:南京甄视智能科技有限公司
技术研发日:2022.03.28
技术公布日:2022/7/5