CN115145996A - 一种摄像机配置数据的同步方法及相关设备 - Google Patents
一种摄像机配置数据的同步方法及相关设备 Download PDFInfo
- Publication number
- CN115145996A CN115145996A CN202110342471.0A CN202110342471A CN115145996A CN 115145996 A CN115145996 A CN 115145996A CN 202110342471 A CN202110342471 A CN 202110342471A CN 115145996 A CN115145996 A CN 115145996A
- Authority
- CN
- China
- Prior art keywords
- database
- camera
- configuration data
- domain
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012544 monitoring process Methods 0.000 claims abstract description 101
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 239000002699 waste material Substances 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种摄像机配置数据的同步方法及相关设备。其中,该方法包括:第一服务器或者第一服务器集群接收第一摄像机发送的实时视频流和图像流并将其保存至第一数据库;对该第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,该第一数据库拥有的数据包括:第一摄像机的摄像机配置数据,该摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;确定第二数据库,该第二数据库拥有上述几个表之间的关联字段;将变化的摄像机配置数据发送给第二数据库,该第二数据库位于第二服务器或第二服务器集群。上述方法能够实现按需进行数据同步,提高数据同步效率,减小资源浪费。
Description
技术领域
本发明涉及视频监控技术领域,尤其涉及一种摄像机配置数据的同步方法及相关设备。
背景技术
随着安防技术的不断发展,视频监控在我们生活中扮演着愈发重要的角色。而在视频监控领域中包含各种数据,例如摄像机配置数据、录像数据和图像数据等,其中,录像数据和图像数据可以在摄像机上线后继续拉取视频流和图像流并进行保存得当,也就是说录像数据和图像数据等媒体数据可以后续继续生成,而摄像机配置数据是在添加摄像机时配置得到的,用于支持业务正常运行。
由于用户对视频监控领域的可靠性要求越来越高,需要对监控域中的业务进行备份从而实现故障接管等功能,而要实现在主监控域(也可以称为主域)发生故障,业务在备监控域(也可以称为备域)能够正常运行,就需要将摄像机配置数据从主域同步至备域中。
目前,在对摄像机配置数据进行同步时,由于所有的摄像机配置数据均保存在一个数据库服务器中,只能从存储层按照1:1全量数据拷贝的方式将主域数据库中的摄像机配置数据同步至备域的数据库中,以保证两个域中的数据库数据完全一致,且备域的数据库中的数据在备份状态下为只读模式,无法对外提供正常服务。
发明内容
本发明实施例公开了一种摄像机配置数据的同步方法及相关设备,能够对主域中的摄像机配置数据进行分类提取并按需同步到备域中,且保证备域在数据同步的过程中仍能够正常对外提供服务,从而提高摄像机配置数据同步效率,减小资源浪费,节约同步成本。
第一方面,本申请提供了一种摄像机配置数据的同步方法,包括:第一服务器或者第一服务器集群接收第一摄像机发送的实时视频流和实时图像流并将其保存至第一数据库;对所述第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,所述第一数据库拥有的数据包括:所述第一摄像机的摄像机配置数据,所述摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;确定第二数据库,所述第二数据库拥有所述摄像机基本属性表、所述摄像机通道属性表和所述摄像机业务配置表之间的关联字段;将所述变化的摄像机配置数据发送给所述第二数据库,所述第二数据库位于第二服务器或者第二服务器集群。
在本申请提供的方案中,第一服务器或第一服务器集群对主域的数据库中的摄像机配置数据进行监控,并在摄像机配置数据发生变化时将发生变化的摄像机配置数据发送给第二数据库,从而实现按需进行数据同步,可以提高同步效率,减少对带宽资源的占用,减小资源浪费,节约同步成本。
结合第一方面,在第一方面一种可能的实现方式中,所述第二数据库对应的数据库服务器接收第二摄像机发送的实时视频流和实时图像流并将其保存至所述第二数据库,其中,所述第二数据库还包括所述第二摄像机的摄像机配置数据。
在本申请提供的方案中,备域的数据库不仅可以存储主域发送的摄像机配置数据,也可以存储自身支持的摄像机配置数据,从而保证在数据同步的过程中仍旧能够对外提供视频业务服务,从而提高了资源利用率,减少了资源浪费。
结合第一方面,在第一方面一种可能的实现方式中,第一服务器或者第一服务器集群对所述第一数据库中的摄像机配置数据进行监控之前,添加所述摄像机配置数据至所述第一数据库;从所述第一数据库中读取所述摄像机配置数据,所述摄像机配置数据包括备用数据库信息;将所述摄像机配置数据发送给所述备用数据库信息所对应的备用数据库,所述备用数据库包括所述第二数据库。
在本申请提供的方案中,主域在完成摄像机添加之后,需要将数据库中的摄像机配置数据同步至各个备域中,以使得主域在出现故障时,备域能够成功的根据已同步的摄像机配置数据接管摄像机视频业务和图像业务。
结合第一方面,在第一方面一种可能的实现方式中,监控视频监控域的服务器的资源使用情况,所述视频监控域的服务器包括数据库服务器;
将空闲资源最多的视频监控域或资源占用比最小的视频监控域所对应的数据库确定为所述备用数据库。
在本申请提供的方案中,主域在预先选择备域时,可以根据各个域的资源使用情况,将空闲资源最多或资源占用比最小的域确定为备域,从而实现负载均衡,保证在主域出现故障时,备域有足够的资源接替主域继续对外提供服务。
结合第一方面,在第一方面一种可能的实现方式中,所述第二数据库对应的视频监控域对所述第一数据库对应的视频监控域进行故障检测;若检测到所述第一数据库对应的视频监控域发生故障,所述第二数据库对应的视频监控域根据所述摄像机配置数据启动摄像任务并接替所述第一数据库对应的视频监控域对外提供服务。
在本申请提供的方案中,备域通过对主域进行故障检测,并在主域出现故障后及时的接替主域继续对外提供服务,从而保证业务不中断,提高服务的可靠性。
结合第一方面,在第一方面一种可能的实现方式中,若所述第二数据库对应的视频监控域检测到所述第一数据库对应的视频监控域故障恢复,所述第二数据库对应的视频监控域从所述第二数据库中读取所述第一数据库对应的视频监控域的摄像机配置数据,并将所述摄像机配置数据发送给所述第一数据库对应的视频监控域。
在本申请提供的方案中,备域通过对主域进行故障检测,并在主域故障恢复后及时的将原属于主域的摄像机配置数据发送给主域,以使得主域在恢复数据之后可以重新启动摄像机上线并提供服务,实现各个域之间的负载均衡,提高资源的利用率。
第二方面,本申请提供了一种数据同步设备,包括:接收模块,用于接收第一摄像机发送的实时视频流和实时图像流并将其保存至第一数据库;监控模块,用于对所述第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,所述第一数据库拥有的数据包括:所述第一摄像机的摄像机配置数据,所述摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;处理模块,用于确定第二数据库,所述第二数据库拥有所述摄像机基本属性表、所述摄像机通道属性表和所述摄像机业务配置表之间的关联字段;发送模块,用于将所述变化的摄像机配置数据发送给所述第二数据库,所述第二数据库位于第二服务器或者第二服务器集群。
结合第二方面,在第二方面一种可能的实现方式中,所述第二数据库对应的数据库服务器接收第二摄像机发送的实时视频流和实时图像流并将其保存至所述第二数据库,其中,所述第二数据库还包括所述第二摄像机的摄像机配置数据。
结合第二方面,在第二方面一种可能的实现方式中,所述处理模块,还用于添加所述摄像机配置数据至所述第一数据库;从所述第一数据库中读取所述摄像机配置数据,所述摄像机配置数据包括备用数据库信息;所述发送模块,还用于将所述摄像机配置数据发送给所述备用数据库信息所对应的备用数据库,所述备用数据库包括所述第二数据库。
结合第二方面,在第二方面一种可能的实现方式中,所述监控模块,还用于监控视频监控域的服务器的资源使用情况,所述视频监控域的服务器包括数据库服务器;将空闲资源最多的视频监控域或资源占用比最小的视频监控域所对应的数据库确定为所述备用数据库。
结合第二方面,在第二方面一种可能的实现方式中,所述第二数据库对应的视频监控域对所述第一数据库对应的视频监控域进行故障检测;若检测到所述第一数据库对应的视频监控域发生故障,所述第二数据库对应的视频监控域根据所述摄像机配置数据启动摄像任务并接替所述第一数据库对应的视频监控域对外提供服务。
结合第二方面,在第二方面一种可能的实现方式中,若所述第二数据库对应的视频监控域检测到所述第一数据库对应的视频监控域故障恢复,所述第二数据库对应的视频监控域从所述第二数据库中读取所述第一数据库对应的视频监控域的摄像机配置数据,并将所述摄像机配置数据发送给所述第一数据库对应的视频监控域。
第三方面,本申请提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码执行上述第一方面以及结合上述第一方面中的任意一种实现方式的方法。
第四方面,本申请提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,当该计算机程序被处理器执行时实现,可以实现上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的方法的流程。
第五方面,本申请提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的方法的流程。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种摄像机数据同步的场景示意图;
图2是本申请实施例提供的一种系统架构的示意图;
图3是本申请实施例提供的一种摄像机配置数据的同步方法的流程示意图;
图4A是本申请实施例提供的一种摄像机基本属性表的示意图;
图4B是本申请实施例提供的一种摄像机通道属性表的示意图;
图4C是本申请实施例提供的一种摄像机业务配置表的示意图;
图5是本申请实施例提供的一种配置界面的示意图;
图6是本申请实施例提供的一种摄像机配置数据按需同步的示意图;
图7是本申请实施例提供的一种摄像机配置数据按需回复的示意图;
图8是本申请实施例提供的一种网络设备的结构示意图;
图9是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
首先,结合附图对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
视频监控域是指一组服务器,提供统一的用户、角色、权限管理、摄像机、摄像机分组管理、录像计划管理的功能,视频监控域管理员能管理域内所有的用户和摄像机。
主域是指当前能够正常提供服务的视频监控域,包含多个数据库服务器和其它类型的服务器,主域中所有的摄像机数据,例如摄像机配置数据、录像数据和图像数据等都保存在一个数据库中,可以随时在主域中添加新的摄像机。
备域是相对于主域而言的,是作为主域的备用或冗余,备域中同样包含多个数据库服务器和其它类型的服务器,备域的数据库中不仅可以存储主域的摄像机数据,还可以存储自身的摄像机数据,并在对主域的摄像机数据进行同步的过程中仍能够正常对外提供视频业务服务。
一个域拥有独立的下述的独立功能:设备管理、图片管理、图像管理、用户管理。
目前在视频监控域进行摄像机数据同步时,只能从存储层按照1:1全量数据拷贝的方式进行数据同步,以使两个域中的数据库保持一致,而无法按需进行数据同步。如图1所示,其示出了一种摄像机数据同步的场景示意图,主域100中的管理服务器110通过数据库服务器120添加摄像机140、摄像机150和摄像机160的摄像机数据至数据库130中,数据库130是通过目录的方式存储所有摄像机数据,然后将数据库130中所有的摄像机数据发送给备域200,备域200与主域100的结构完全一致,且所占用的资源也与主域100一致,主域200中的管理服务器210将接收到的摄像机数据存储至数据库230中。当主域100的数据库130中的摄像机数据发生变化时,管理服务器110从数据库130中读取所有的摄像机数据(包括变化的摄像机数据)并发送给备域200,备域200根据接收到摄像机数据对数据库230中存储的摄像机数据进行更新。此外,备域200的数据库230中的摄像机数据为只读模式,无法对外提供服务,只有当主域100发生故障后,备域200才能启动并接替主域100继续对外提供服务。
容易理解,在对主域中的摄像机数据进行同步时,需要每次都将主域中的所有摄像机数据都同步至备域中,无法进行按需同步,这样将占用大量的带宽资源,导致同步成本较高且数据同步效率低下,而且备域在常态下(即主域正常工作)无业务运行,从而造成资源浪费,成本增加。
基于上述,本申请提供了一种摄像机配置数据的同步方法,通过对主域中的摄像机配置数据进行分类提取并按需同步到备域中,且保证备域在同步过程中仍能够正常对外提供服务,从而提高摄像机配置数据同步效率,减小资源浪费,节约数据同步成本。
本申请实施例的技术方案可以应用于任何需要跨域进行数据同步的系统中,尤其是涉及摄像机跨域同步的场景,例如,视频监控域系统需要记录大量的视频数据,需要频繁的进行数据访问交换和修改,用户在使用视频监控域系统进行数据同步时,可以使用本申请实施例提供的同步方法,以实现按需对摄像机配置数据进行同步,提高同步效率,降低同步成本。
图2示出了本申请实施例的一种系统架构的示意图。如图2所示,主域300包括管理服务器310、监控服务器320、数据库服务器330、数据库340、摄像机350、摄像机360和摄像机370,接口1为主域300对外提供的一个逻辑接口,该接口1可以是应用程序接口(application programming interface,API)接口。管理服务器310添加摄像机350、摄像机360和摄像机370的摄像机配置数据,并通过数据库服务器330将其保存至数据库340中,摄像机配置数据包括摄像机基本属性表、摄像机通道信息表和摄像机业务配置表等信息,摄像机配置数据中记录了每个摄像机对应的备域,即各个摄像机数据将被同步至哪个备域,在完成数据添加之后,管理服务器310将进行摄像机数据同步,即根据对应关系将数据库340中的各个摄像机配置数据通过接口1发送给相应的备域,例如备域400和备域500,备域400和备域500的结构与主域300的结构类似,也包含各类服务器和多个摄像机,以备域400为例说明其与主域300的交互过程,备域400中的管理服务器410通过接口2接收主域300发送的摄像机配置数据,并通过数据库服务器430将其保存至数据库440中,数据库440中还保存有备域400自身的摄像机数据,例如摄像机450、摄像机460和摄像机470的数据。管理服务器310在完成数据同步之后启动摄像机350、摄像机360和摄像机370上线,摄像机350、摄像机360和摄像机370实时获取视频流和图像流,并通过数据库服务器330将其发送给数据库340进行保存,监控服务器320对数据库340进行实时监控,当监控到数据库340中的摄像机数据发生变化时,例如发生增加、删除或修改等操作时,根据摄像机基本属性表、摄像机通道信息表和摄像机业务配置表的关键字段和关联字段确定发生变化的摄像机数据所对应的备域,例如备域400,并从数据库340中读取发生变化的摄像机数据后发送给管理服务器310,管理服务器310将发生变化的摄像机数据通过接口1发送给备域400,备域400中的管理服务器410根据发生变化的摄像机数据对数据库440中存储的摄像机数据进行更新。特别的,备域400和备域500还需要对主域300进行故障检测,例如可以通过心跳连接或发送检测报文进行故障检测,在检测到主域300发生故障后,备域400中的管理服务器410根据数据库440中存储的原属于主域300的摄像机配置数据启动实时录像和图像订阅任务,从而确保在主域300发生故障后,摄像机350、摄像机360和摄像机370仍能够正常工作并提供服务;当检测到主域300故障恢复后,管理服务器410将通过数据库服务器430从数据库440中提取出原属于主域300的所有摄像机数据,并通过接口2将其发送给主域300,主域300根据接收到的摄像机进行数据恢复,并在恢复完成后再次启动摄像机350、摄像机360和摄像机370上线。
可以看出,图2所示的数据同步系统与图1所示的数据同步系统相比,当主域中的摄像机数据发生变化时,不需要将所有的摄像机配置数据都发送给备域,而是根据各个表的关键字段和关联字段确定发送变化的摄像机数据所对应的备域,并只将发生变化的摄像机数据发送给该备域,从而可以做到按需进行数据同步,减少了对带宽资源的占用,而且备域还存储有自身的摄像机数据,并可以在数据同步过程的同时对外提供正常服务,有效提高了资源利用率,降低了成本。
结合图2所示的系统架构的示意图,下面将结合图3描述本申请实施例提供的摄像机配置数据的同步方法。如图3所示,该方法包括但不限于以下步骤:
S301:添加摄像机配置数据至第一数据库。
具体地,在本申请中,将一组服务器称为一个域,每个域是一个服务器集群,其中包括多个服务器(例如数据库服务器、管理服务器、监控服务器等)和多个摄像机,能够提供统一的用户、角色、权限管理、录像计划管理等功能,主域中的各个服务器、数据库以及各个摄像机在完成部署和初始化处理之后,首先需要将摄像机配置数据添加至主域的数据库中。
本发明实施例适用于不同数据库之间进行变化的摄像机配置数据的备份。这不同的数据库可以位于不同的域,或者不同的服务器,或者不同的服务器集群。服务器是指提供计算、存储功能的硬件设备,可以是服务器;或者专用服务器,例如:华为IVS,或者NVR设备。
进一步的,本申请对摄像机配置数据进行了动态分类,将摄像机配置数据分类之后以表的形式将其存储至数据库中。摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表,其中,如图4A所示,摄像机基本属性表包括摄像机编码、名称、接入协议、用户名、密码、备域编码等;如图4B所示,摄像机通道属性表包括视频通道编码、摄像机编码、名称、码流类型、码率、视频编码类型、以及音频通道编码、名称、音频编码格式、预置位、看守位等;如图4C所示,摄像机业务配置表包括录像存储策略和计划、视频通道编码、图像存储策略、计划执行时间等。
需要说明的是,各个表之间不是割裂的,而是存在关联关系,通过各个表的关键字段和关联字段可以确定各个表之间的关联关系。例如,上述图4A所示的摄像机基本属性表与图4B所示的摄像机通道属性表都包含摄像机编码字段,即摄像机编码字段为两个表的关联字段,若在确定视频通道编码的情况下,可以通过其对应的摄像机编码确定摄像机对应的主域编码、名称、备域编码等信息;同理,图4B所示的摄像机通道属性表与图4C所示的摄像机业务配置表都包含视频通道编码字段,即视频通道编码字段为两个表的关联字段,若在确定录像策略的情况下,可以通过其对应的视频通道编码确定摄像机编码、通道名称等信息,然后根据摄像机编码进一步可以确定摄像机对应的名称、备域编码等信息,可以看出,在确定任意一个表的摄像机配置数据之后,可以通过关联字段确定出其它两个表中的摄像机配置数据,最终得到各个摄像机对应的备域。
在一种可能的实现方式中,摄像机配置数据可以是由主域中的服务器自动生成并添加至数据库中,也可以是主域提供配置界面,然后接收用户输入的配置信息后生成摄像机配置数据,并将其添加至数据库中。
示例性的,如图5所示,图5是本申请实施例提供的一种配置界面的示意图,用户在该配置界面中可以根据需求选择相应的参数完成配置,例如摄像机编码、备域编码、视频通道编码、录像策略等,用户在选择完成所有参数配置之后,点击界面中的确认按钮,服务器即可以根据用户选择的参数完成最终配置,并自动将其添加至数据库中,以使得主域可以启动摄像机并提供服务。
在另一种可能的实现方式中,主域在将摄像机配置数据添加至数据库之前,监控其它视频监控域的服务器的资源使用情况,所述其它视频监控域的服务器包括数据库服务器;将空闲资源最多的视频监控域或资源占用比最小的视频监控域确定为备域。
具体地,主域在确定备域时,通过对各个视频监控域的资源使用情况进行监控,将空闲资源最多的视频监控域或资源占用比最小的视频监控域确定为备域,这样可以保证主域出现故障后,备域有足够的资源接替主域并继续提供服务,保证业务不中断能够正常运行,实现负载均衡,提高系统可靠性。
S302:从第一数据库中读取摄像机配置数据,并将其发送给备域。
具体地,主域在添加完所有摄像机配置数据后,需要将其同步至备域中,摄像机配置数据中包含备域编码,根据该备域编码可以确定相应的备域,主域将备域编码对应的摄像机配置数据发送给备域,备域在接收到摄像机配置数据之后,将其存储至自身的数据库中。
需要说明的是,主域的所有摄像机配置数据可以同步至同一个备域中,也可以同步至不同的备域中,对于一个备域来说,其也可以接收来自不同主域的摄像机配置数据,即主域与备域之间的配比可以是1:1、1:N、N:1或N:N,可以根据实际需要进行灵活配置,本申请对此不作限定。
S303:接收摄像机发送的实时视频流和实时图像流并将其保存至第一数据库。
具体地,主域在完成摄像机配置数据同步至备域后,启动摄像机上线并对外提供服务,接收摄像机发送的实时视频流和实时图像流,并将其保存至数据库中。
S304:对第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据。
具体地,主域在启动摄像机之后,可以利用监控服务器对数据库中存储的摄像机配置数据进行实时监控,当数据库中的摄像机配置数据发生变化,例如发生增加、删除或修改等操作时,数据库本身将会记录操作日志,监控服务器实时监控数据库的操作日志,从而可以监控到发生变化的摄像机配置数据。
S305:根据第一数据库存储的各个表之间的关联字段,确定第二数据库。
具体地,主域的数据库中所存储的摄像机基本属性表、摄像机通道属性表和摄像机业务配置表之间存在关联字段,在监控到发生变化的摄像机配置数据之后,再利用表之间存在的关联字段,可以确定出发生变化的摄像机配置数据所对应的备域,从而可以进一步确定出需要将发生变化的摄像机配置数据同步至备域的数据库,即第二数据库。
示例性的,主域在最初添加摄像机配置数据时针对摄像机编码为A的摄像机仅配置了摄像机基本属性表和摄像机通道属性表中所记录的相关属性信息,此时新增了摄像机业务配置表的相关属性信息,例如新增了录像策略A和计划执行时间等属性,即发生变化的摄像机配置数据为摄像机业务配置表中录像策略为A的这一行的数据,此时,通过关联字段(即视频通道编码字段)可以确定发生变化的摄像机配置数据所对应的摄像机编码,再通过摄像机通道属性表与摄像机基本属性表之间的关联字段(即摄像机编码字段)可以最终确定发生变化的摄像机配置数据需要被同步到的备域编码,进而可以确定将发生变化的摄像机配置数据发送至该备域编码对应的备域的数据库中。
S306:将发生变化的摄像机配置数据发送给所述第二数据库。
具体地,主域根据关联字段确定备域之后,将从数据库中读取发生变化的摄像机配置数据,然后将该发生变化的摄像机配置数据发送到相应的备域,备域在接收到该发生变化的摄像机配置数据之后,将其写入到自身的数据库中。
示例性的,如图6所示,主域1的数据库中存储了各个摄像机的摄像机数据,例如摄像机数据A、摄像机数据B、摄像机数据C和摄像机数据D,每个摄像机数据中记录了相应的备域,摄像机数据A和摄像机数据B的备域为备域1,摄像机数据C和摄像机数据D的备域为备域2,在主域1完成添加摄像机数据之后,首先全量读取数据库中的所有摄像机数据,然后分别将其发送给相应的备域进行存储,例如备域1接收到摄像机数据A和摄像机数据B之后将其存储至自身的数据库中,备域1的数据库中还存储有自身的摄像机数据,同理,备域2接收到摄像机数据C和摄像机数据D之后将其存储自身的数据库中,备域2的数据库中也存储有自身的摄像机数据,主域1实时监控数据库,在监测到数据库中的摄像机数据发生变化时,将从数据库中读取发生变化的摄像机数据(即增量读取发生变化的数据),然后将发生变化的摄像机数据发送至相应的备域,并进一步存储至备域的数据库中,从而实现对摄像机数据进行按需同步。
可以看出,当主域的数据库中的摄像机数据发生变化时,主域通过增量读取仅将发生变化的摄像机数据发送给相应的备域进行存储,不用将数据库中的所有摄像机数据发送给备域,从而可以实现按需同步摄像机数据,减小了对带宽资源的占用,提高了同步效率,节约了同步成本。
在另一种可能的实现方式中,备域对主域进行故障检测,若检测到主域发生故障,则备域根据数据库中存储的原属于主域的摄像机配置数据启动摄像任务并接替主域对外提供服务。
具体地,备域在接收到主域发送的摄像机数据之后将其存储至数据库中,然后对主域进行故障检测。
可选的,备域可以通过心跳连接或检测报文对主域进行故障检测。例如,主域和备域之间预先建立连接并互相发送心跳报文,若备域在预设时间内没有接收到主域发送的心跳报文,则确定主域发生故障,根据数据库中存储的原属于主域的摄像机配置数据启动摄像任务并接替主域对外提供服务;或者是,备域向主域周期性发送检测报文,该检测报文用于指示主域发送业务正常应答报文,若超过预设时间未接收到主域发送的应答报文,则确定主域发生故障,根据数据库中存储的原属于主域的摄像机配置数据启动摄像任务并接替主域对外提供服务。
需要说明的是,备域在对主域进行数据同步和故障检测的过程中,也将启动属于自身的摄像机并对外提供视频业务服务,即备域的摄像机数据与同步到的原属于主域的摄像机数据共用备域的数据库,且在主域故障时,原属于主域的摄像机和备域自身的摄像机共用备域的中央处理器(central processing unit,CPU)资源和内存资源。
在另一种可能的实现方式中,若备域检测到主域故障恢复,备域从数据库中读取原属于主域的摄像机配置数据,并将其发送给主域。
具体地,如图7所示,备域在接替主域对外提供服务后仍会对主域进行检测,当检测到与主域的连接恢复正常或主域的业务恢复正常后,备域从自身的数据库中读取原属于主域的摄像机配置数据,例如摄像机基本属性表、摄像机通道属性表、摄像机业务配置表、云平台参数等,然后将其发送给主域,主域在接收到备域发送的摄像机配置数据后可以完成数据恢复,当主域数据恢复完成后,主域启动摄像机重新上线,获取实时视频流和实时图像流并进行保存,此后主域的摄像机配置数据的同步过程将如同上述图6所示,在此不再赘述。
应理解,上述方法实施例所涉及的步骤S301至步骤S306只是示意性的描述概括,不应构成具体限定,可以根据需要对所涉及的步骤进行增加、减少或合并。
上述详细阐述了本申请实施例的方法,为了便于更好的实施本申请实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
参见图8,图8是本申请实施例提供的一种数据同步设备的结构示意图。该数据同步设备可以是上述图3所述的方法实施例中的执行主体,可以执行图3所述的摄像机配置数据的同步方法和步骤。如图8所示,所述数据同步设备800包括接收模块810、监控模块820、处理模块830和发送模块840。其中,
接收模块810,用于接收第一摄像机发送的实时视频流和实时图像流并将其保存至第一数据库;
监控模块820,用于对所述第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,所述第一数据库拥有的数据包括:所述第一摄像机的摄像机配置数据,所述摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;
处理模块830,用于确定第二数据库,所述第二数据库拥有所述摄像机基本属性表、所述摄像机通道属性表和所述摄像机业务配置表之间的关联字段;
发送模块840,用于将所述变化的摄像机配置数据发送给所述第二数据库,所述第二数据库位于第二服务器或者第二服务器集群。
作为一个实施例,所述第二数据库对应的数据库服务器接收第二摄像机发送的实时视频流和实时图像流并将其保存至所述第二数据库,其中,所述第二数据库还包括所述第二摄像机的摄像机配置数据。
作为一个实施例,所述处理模块830,还用于添加所述摄像机配置数据至所述第一数据库;从所述第一数据库中读取所述摄像机配置数据,所述摄像机配置数据包括备用数据库信息;所述发送模块840,还用于将所述摄像机配置数据发送给所述备用数据库信息所对应的备用数据库,所述备用数据库包括所述第二数据库。
作为一个实施例,所述监控模块820,还用于监控视频监控域的服务器的资源使用情况,所述视频监控域的服务器包括数据库服务器;将空闲资源最多的视频监控域或资源占用比最小的视频监控域所对应的数据库确定为所述备用数据库。
作为一个实施例,所述第二数据库对应的视频监控域对所述第一数据库对应的视频监控域进行故障检测;若检测到所述第一数据库对应的视频监控域发生故障,所述第二数据库对应的视频监控域根据所述摄像机配置数据启动摄像任务并接替所述第一数据库对应的视频监控域对外提供服务。
作为一个实施例,若所述第二数据库对应的视频监控域检测到所述第一数据库对应的视频监控域故障恢复,所述第二数据库对应的视频监控域从所述第二数据库中读取所述第一数据库对应的视频监控域的摄像机配置数据,并将所述摄像机配置数据发送给所述第一数据库对应的视频监控域。
需要说明的是,上述数据同步设备的结构以及利用数据同步设备实现摄像机配置数据同步的过程仅仅作为一种示例,不应构成具体限定,可以根据需要对数据同步设备中的各个模块进行增加、减少或合并。此外,数据同步设备中的各个模块的操作和/或功能为了实现上述图3所描述的方法的相应流程,为了简洁,在此不再赘述。
参见图9,图9是本申请实施例提供的一种计算设备的结构示意图。如图9所示,该计算设备900包括:处理器910、通信接口920以及存储器930,所述处理器910、通信接口920以及存储器930通过内部总线940相互连接。应理解,该计算设备可以是数据库服务器。
所述处理器910可以由一个或者多个通用处理器构成,例如中央处理器(centralprocessing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
总线940可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但不表示仅有一根总线或一种类型的总线。
存储器930可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器930也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器930还可以包括上述种类的组合。存储器930可用于存储程序和数据,以便于处理器910调用存储器930中存储的程序代码和数据以实现上述监控模块820和处理模块830的功能。程序代码可以是用来实现图8所示的功能模块,或者用于实现图3所示的方法实施例中以第一服务器或第一服务器集群为执行主体的方法步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,可以实现上述方法实施例中记载的任意一种的部分或全部步骤,以及实现上述图8所描述的任意一个功能模块的功能。
本申请实施例还提供了一种计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。上述所涉及的设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种摄像机配置数据的同步方法,其特征在于,所述方法包括:
第一服务器或者第一服务器集群接收第一摄像机发送的实时视频流和实时图像流并将其保存至第一数据库;
对所述第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,所述第一数据库拥有的数据包括:所述第一摄像机的摄像机配置数据,所述摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;
确定第二数据库,所述第二数据库拥有所述摄像机基本属性表、所述摄像机通道属性表和所述摄像机业务配置表之间的关联字段;
将所述变化的摄像机配置数据发送给所述第二数据库,所述第二数据库位于第二服务器或者第二服务器集群。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二数据库对应的数据库服务器接收第二摄像机发送的实时视频流和实时图像流并将其保存至所述第二数据库,其中,所述第二数据库还包括所述第二摄像机的摄像机配置数据。
3.如权利要求1或2所述的方法,其特征在于,对所述第一数据库中的摄像机配置数据进行监控之前,所述方法还包括:
添加所述摄像机配置数据至所述第一数据库;
从所述第一数据库中读取所述摄像机配置数据,所述摄像机配置数据包括备用数据库信息;
将所述摄像机配置数据发送给所述备用数据库信息所对应的备用数据库,所述备用数据库包括所述第二数据库。
4.如权利要求3所述的方法,其特征在于,所述添加所述摄像机配置数据至所述第一数据库之前,所述方法还包括:
监控视频监控域的服务器的资源使用情况,所述视频监控域的服务器包括数据库服务器;
将空闲资源最多的视频监控域或资源占用比最小的视频监控域所对应的数据库确定为所述备用数据库。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:所述第二数据库对应的视频监控域对所述第一数据库对应的视频监控域进行故障检测;
若检测到所述第一数据库对应的视频监控域发生故障,所述第二数据库对应的视频监控域根据所述摄像机配置数据启动摄像任务并接替所述第一数据库对应的视频监控域对外提供服务。
6.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
若所述第二数据库对应的视频监控域检测到所述第一数据库对应的视频监控域故障恢复,所述第二数据库对应的视频监控域从所述第二数据库中读取所述第一数据库对应的视频监控域的摄像机配置数据,并将所述摄像机配置数据发送给所述第一数据库对应的视频监控域。
7.一种数据同步设备,其特征在于,包括:
接收模块,用于接收第一摄像机发送的实时视频流和实时图像流并将其保存至第一数据库;
监控模块,用于对所述第一数据库中的摄像机配置数据进行监控,确定变化的摄像机配置数据,所述第一数据库拥有的数据包括:所述第一摄像机的摄像机配置数据,所述摄像机配置数据包括摄像机基本属性表、摄像机通道属性表和摄像机业务配置表;
处理模块,用于确定第二数据库,所述第二数据库拥有所述摄像机基本属性表、所述摄像机通道属性表和所述摄像机业务配置表之间的关联字段;
发送模块,用于将所述变化的摄像机配置数据发送给所述第二数据库,所述第二数据库位于第二服务器或者第二服务器集群。
8.如权利要求7所述的数据同步设备,其特征在于,所述第二数据库对应的数据库服务器接收第二摄像机发送的实时视频流和实时图像流并将其保存至所述第二数据库,其中,所述第二数据库还包括所述第二摄像机的摄像机配置数据。
9.如权利要求7或8所述的数据同步设备,其特征在于,
所述处理模块,还用于添加所述摄像机配置数据至所述第一数据库;从所述第一数据库中读取所述摄像机配置数据,所述摄像机配置数据包括备用数据库信息;
所述发送模块,还用于将所述摄像机配置数据发送给所述备用数据库信息所对应的备用数据库,所述备用数据库包括所述第二数据库。
10.如权利要求9所述的数据同步设备,其特征在于,
所述监控模块,还用于监控视频监控域的服务器的资源使用情况,所述视频监控域的服务器包括数据库服务器;将空闲资源最多的视频监控域或资源占用比最小的视频监控域所对应的数据库确定为所述备用数据库。
11.如权利要求7-10任一项所述的数据同步设备,其特征在于,所述第二数据库对应的视频监控域对所述第一数据库对应的视频监控域进行故障检测;若检测到所述第一数据库对应的视频监控域发生故障,所述第二数据库对应的视频监控域根据所述摄像机配置数据启动摄像任务并接替所述第一数据库对应的视频监控域对外提供服务。
12.如权利要求7-11任一项所述的数据同步设备,其特征在于,若所述第二数据库对应的视频监控域检测到所述第一数据库对应的视频监控域故障恢复,所述第二数据库对应的视频监控域从所述第二数据库中读取所述第一数据库对应的视频监控域的摄像机配置数据,并将所述摄像机配置数据发送给所述第一数据库对应的视频监控域。
13.一种计算设备,其特征在于,所述计算设备包括存储器和处理器,所述处理器执行所述存储器存储的计算机指令,使得所述计算设备执行权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342471.0A CN115145996A (zh) | 2021-03-30 | 2021-03-30 | 一种摄像机配置数据的同步方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342471.0A CN115145996A (zh) | 2021-03-30 | 2021-03-30 | 一种摄像机配置数据的同步方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145996A true CN115145996A (zh) | 2022-10-04 |
Family
ID=83404431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110342471.0A Pending CN115145996A (zh) | 2021-03-30 | 2021-03-30 | 一种摄像机配置数据的同步方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145996A (zh) |
-
2021
- 2021-03-30 CN CN202110342471.0A patent/CN115145996A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331098B (zh) | 一种服务器集群系统 | |
US8874700B2 (en) | Optimizing storage of data files | |
EP2761459B1 (en) | System and method for disaster recovery | |
US8850141B2 (en) | System and method for mirroring data | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
CN101808127B (zh) | 数据备份方法、系统和服务器 | |
US10402377B1 (en) | Data recovery in a distributed computing environment | |
US8527454B2 (en) | Data replication using a shared resource | |
CN109167819B (zh) | 数据同步系统、方法、装置及存储介质 | |
CN109324942B (zh) | 微服务的双活处理方法、装置及系统、设备、存储介质 | |
CN110099084A (zh) | 一种保证存储服务可用性的方法、系统及计算机可读介质 | |
CN110633046A (zh) | 一种分布式系统的存储方法、装置、存储设备及存储介质 | |
CN111865632A (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN115878384A (zh) | 一种基于备份容灾系统的分布式集群及构建方法 | |
JP2005196726A (ja) | 実時間遠隔バックアップシステム及びそのバックアップ方法 | |
CN107357800A (zh) | 一种数据库高可用零丢失解决方法 | |
CN117076196A (zh) | 一种数据库容灾的管控方法和装置 | |
US11042454B1 (en) | Restoration of a data source | |
CN115145996A (zh) | 一种摄像机配置数据的同步方法及相关设备 | |
TWI579691B (zh) | Method and System of IDC Computer Room Entity and Virtual Host Integration Management | |
CN115102862A (zh) | 一种用于sdn设备的自动同步方法及装置 | |
CN112488462A (zh) | 一种工作流数据的统一推送方法、装置及介质 | |
CN112350921A (zh) | 消息处理方法、终端及存储介质 | |
CN109474694A (zh) | 一种基于san存储阵列的nas集群的管控方法及装置 | |
CN103546569A (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 |