基于流计算的视频设备在线时长的统计方法、装置及终端与流程

文档序号:21040374发布日期:2020-06-09 20:38阅读:290来源:国知局
基于流计算的视频设备在线时长的统计方法、装置及终端与流程

本申请属于在线时长统计技术领域,具体涉及基于流计算的视频设备在线时长的统计方法、装置及终端。



背景技术:

在统计海量视频设备的在线时长方面,传统的上下线数据统计处理流程中,总是先收集数据,然后将数据放到数据库中,然后,通过数据对数据做查询统计,存在的问题是——得到结果不够实时高效。因而,如何更高效实时地得到海量视频设备各自在线时长成为改进的需求。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供基于流计算的视频设备在线时长的统计方法、装置及终端,有助于实现更高效更实时的视频设备在线时长统计。

为实现以上目的,本申请采用如下技术方案:

第一方面,

本申请提供基于流计算的视频设备在线时长的统计方法,所述方法包括:

根据预设时间周期定时获取根据所有视频设备各自累计在线状态数据流得到的激活状态数据流,以及获取根据所有视频设备各自上下线状态反馈消息得到的上下线状态数据流;

基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长。

进一步地,所述基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长,包括:

将所述激活状态数据流与所述上下线状态数据流进行流联合处理,合并成为一个全部设备状态数据流;

基于所述全部设备状态数据流,判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流;

将得到的当前时间周期内所有视频设备各自的上下线统计数据流与各自之前累计状态数据流进行合并,得到所有视频设备各自的最新实时累计统计状态数据数据流;

根据所有视频设备各自的最新实时累计统计状态数据数据流对所有视频设备各自进行在线时长统计。

进一步地,所述判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流,包括:

在当前时间周期内,如果某个视频设备有上下线状态反馈消息,则舍弃当前时间周期内含有的该视频设备的激活状态消息,根据该视频设备的上下线状态反馈消息计算该视频设备在当前时间周期内上下线时长统计结果,以此形成该视频设备当前时间周期内的上下线统计数据流。

进一步地,所述判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流,包括:

在当前时间周期内,如果某个视频设备没有上下线状态反馈消息,而仅含有激活状态消息,则将激活状态消息作为结果返回,以此形成该视频设备当前时间周期内的上下线统计数据流。

进一步地,所述全部设备状态数据流中,所有消息按照消息产生时间戳升序进行排序。

进一步地,所述方法还包括:

根据所有视频设备各自的最新实时累计统计状态数据数据流得到所有视频设备在下一预设时间周期的所述激活状态数据流。

第二方面,

本申请提供基于流计算的视频设备在线时长的统计装置,包括:

获取模块,用于根据预设时间周期定时获取根据所有视频设备各自累计在线状态数据流得到的激活状态数据流,以及获取根据所有视频设备各自上下线状态反馈消息得到的上下线状态数据流;

第一得到模块,用于基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长。

进一步地,还包括:

第二得到模块,用于根据所有视频设备各自的最新实时累计统计状态数据数据流得到所有视频设备在下一预设时间周期的所述激活状态数据流。

第三方面,

本申请提供一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

第四方面,

本申请提供一种视频监控终端,包括:

存储器,其上存储有可执行程序;

处理器,用于执行所述存储器中的所述可执行程序,以实现上述中任一项所述方法的步骤。

本申请采用以上技术方案,至少具备以下有益效果:

本申请应用于监控终端对海量视频设备在线时长统计时,在视频设备端仅对监控终端上报上下线两种状态,监控终端通过定时获取激活状态数据流、以及上下线状态数据流实现对海量视频设备进行在线时长统计,可以节省视频设备通信网络流量,同时提升处理实时性与效率,降低可能存在瓶颈的全局部分访问压力,实时计算速度快,性能更好。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的基于流计算的视频设备在线时长的统计方法的流程图;

图2是根据一示例性实施例示出的基于流计算的视频设备在线时长的统计装置的框图结构示意图;

图3是根据一示例性实施例示出的一种视频监控终端的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

本申请的第一方面,请参考图1,图1是根据一示例性实施例示出的基于流计算的视频设备在线时长的统计方法的流程图,如图1所示,该基于流计算的视频设备在线时长的统计方法包括如下步骤:

s101、根据预设时间周期定时获取根据所有视频设备各自累计在线状态数据流得到的激活状态数据流,以及获取根据所有视频设备各自上下线状态反馈消息得到的上下线状态数据流;

s102、基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长。

具体的,视频设备可以是摄像头,比如,为了体现餐饮后厨的卫生状态,餐饮企业可以通过自己后厨安装摄像头监控后厨,而作为第三方监控终端,需要统计这些摄像头的在线时长情况。在具体应用中,第三方监控终端要统计海量视频设备的在线时长,若通过与海量视频设备通信获取数据来统计海量视频设备的在线时长,则因数据量的巨大,会给数据处理效率带来明显的压力,基于此,本申请提供上述实施例方案,本申请的优势体现在对海量视频设备在线时长的统计,以实现更高效更实时地对海量视频设备进行在线时长统计。

本申请在应用于监控终端对海量视频设备在线时长统计时,在视频设备端仅对监控终端上报上下线两种状态,视频设备上报的上线状态指视频设备上线可以开始正常推流,视频设备上报的下线状态是指设备下线停止向推流。监控终端接收监控终端上报上下线两种状态,对海量视频设备上报的上下线两种状态进行统计,根据所有视频设备各自累计在线状态数据流得到的激活状态数据流,比如,长时间在线的视频设备,统计结果是这个设备在线,以这个状态作为激活状态数据,通过计算结果生成激活状态的优点是可以节省视频设备通信网络流量。从所有视频设备获取上下线状态反馈消息作为数据源,得到上下线状态数据流。

监控终端基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长,具体的,在一个实施例中,包括:

将所述激活状态数据流与所述上下线状态数据流进行流联合处理,合并成为一个全部设备状态数据流,其中,在全部设备状态数据流中,包括了所有视频设备各自的激活状态消息和上下线状态反馈消息,所有消息可以按照消息产生时间戳升序进行排序。

基于所述全部设备状态数据流,判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流;

其中,对于根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流,其具体可以包括如下两方面:

在当前时间周期内,如果某个视频设备有上下线状态反馈消息,则舍弃当前时间周期内含有的该视频设备的激活状态消息,根据该视频设备的上下线状态反馈消息计算该视频设备在当前时间周期内上下线时长统计结果,以此形成该视频设备当前时间周期内的上下线统计数据流;或者,

在当前时间周期内,如果某个视频设备没有上下线状态反馈消息,而仅含有激活状态消息,则将激活状态消息作为结果返回,以此形成该视频设备当前时间周期内的上下线统计数据流。

将得到的当前时间周期内所有视频设备各自的上下线统计数据流与各自之前累计状态数据流进行合并,得到所有视频设备各自的最新实时累计统计状态数据数据流;

根据所有视频设备各自的最新实时累计统计状态数据数据流对所有视频设备各自进行在线时长统计。

进一步地,所述方法还包括:

根据所有视频设备各自的最新实时累计统计状态数据数据流得到所有视频设备在下一预设时间周期的所述激活状态数据流。

具体的,以最新实时累计统计状态数据数据流中的所有设备累计状态作为数据源,定时获取作为激活状态数据流的数据源。

综上,通过定时获取的激活状态数据流、以及上下线状态数据流实现对海量视频设备进行在线时长统计,可以节省视频设备通信网络流量,同时提升处理实时性与效率,降低可能存在瓶颈的全局部分访问压力,实时计算速度快,性能更好。

同时,上述实施例方案在具体应用时,还体现如下方面的技术优势,视频设备在线时长数据流,可能是长时间在线或不在线的不活跃稳定状态,比如,遇到多天在线的设备,查询当天统计明细时不易查出多天在线设备上下线明细,而通过本申请上述实施例方案,更易于查看当天统计明细中的多天在线设备在线时长明细。

更进一步的类似做法,假设视频设备总数为s,一边聚合短时间周期内的实时数据更新全局的统计数据列表并计算时长,时间复杂复杂度记为o(m1),一边定时更新所有长时间在线设备的最后计算时间并计算时长,时间复杂复杂度记为o(n),性能瓶颈主要集中在所有设备累计统计表的访问,时间复杂度为o(m+n),会遇到同一时间段内访问所有设备累计统计表中的每一个设备大于等于2次的情况,而在本申请中,同一设备同一时间周期内的实时数据(记为m2次)与该设备定时激活操作(记为n次)的消息会进行过滤筛选,二者中选其一,同一时间段内所有设备累计统计表中最多只需访问每一个设备一次,在实际复杂度方面,可以看出,本方法时间复杂度为o(m2+n)≤o(m+n),本申请具有更优的性能。

本申请的第二方面,请参阅图2,图2是根据一示例性实施例示出的基于流计算的视频设备在线时长的统计装置的框图结构示意图,如图2所示,该基于流计算的视频设备在线时长的统计装置2包括:

获取模块201,用于根据预设时间周期定时获取根据所有视频设备各自累计在线状态数据流得到的激活状态数据流,以及获取根据所有视频设备各自上下线状态反馈消息得到的上下线状态数据流;

第一得到模块202,用于基于所述激活状态数据流和所述上下线状态数据流得到所有视频设备各自的累计在线时长。

进一步地,第一得到模块202具体用于:

将所述激活状态数据流与所述上下线状态数据流进行流联合处理,合并成为一个全部设备状态数据流;

基于所述全部设备状态数据流,判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流;

将得到的当前时间周期内所有视频设备各自的上下线统计数据流与各自之前累计状态数据流进行合并,得到所有视频设备各自的最新实时累计统计状态数据数据流;

根据所有视频设备各自的最新实时累计统计状态数据数据流对所有视频设备各自进行在线时长统计。

进一步地,所述判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流,包括:

在当前时间周期内,如果某个视频设备有上下线状态反馈消息,则舍弃当前时间周期内含有的该视频设备的激活状态消息,根据该视频设备的上下线状态反馈消息计算该视频设备在当前时间周期内上下线时长统计结果,以此形成该视频设备当前时间周期内的上下线统计数据流。

进一步地,所述判断在当前时间周期内所有视频设备各自是否有上下线状态反馈消息,根据判断结果确定是利用上下线状态反馈消息还是利用激活状态消息得到当前时间周期内所有视频设备各自的上下线统计数据流,包括:

在当前时间周期内,如果某个视频设备没有上下线状态反馈消息,而仅含有激活状态消息,则将激活状态消息作为结果返回,以此形成该视频设备当前时间周期内的上下线统计数据流。

进一步地,所述全部设备状态数据流中,所有消息按照消息产生时间戳升序进行排序。

进一步地,还包括:

第二得到模块,用于根据所有视频设备各自的最新实时累计统计状态数据数据流得到所有视频设备在下一预设时间周期的所述激活状态数据流。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请的第三方面,请参阅图3,图3是根据一示例性实施例示出的一种视频监控终端3的结构示意图,如图3所示,该视频监控终端3包括:

存储器301,其上存储有可执行程序;

处理器302,用于执行所述存储器301中的所述可执行程序,以实现上述中任一项所述方法的步骤。

关于上述实施例中的视频监控终端3,其处理器302执行存储器302的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请的第四方面,本申请提供一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

关于上述实施例中的可读存储介质,其存储的执行程序执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。

应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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