基于视频云的服务提供方法和视频云系统与流程

文档序号:25992658发布日期:2021-07-23 21:05阅读:83来源:国知局
基于视频云的服务提供方法和视频云系统与流程
本公开涉及云
技术领域
,并且更具体地涉及一种基于视频云的服务提供方法、视频云系统、基于视频云的服务提供设备、计算机可读存储介质以及计算机程序成品。
背景技术
:云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。提供资源的网络被称为“云”,“云”中的资源对于使用者来说是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。在云技术的各种应用中,物联网(theinternetofthings,简称iot)无疑是其中备受关注的发展方向。物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。视频云是基于云技术的理念,采用视频作为“云端”向“终端”呈现处理结果的一种云技术方案。现有的商业视频云系统从低端产品到高端产品形态各异,但大多数产品仅仅是针对某一特定应用场景的功能单一的封闭系统,其功能不便扩展,难以管理并且智能程度低。一些高端智能视频云系统也同样存在功能及软硬件设备不便扩展、数据结构及接口不通用、开发维护成本高等缺陷,并且普遍对云端服务能力具有强依赖,使得诸如视频服务、算法服务等功能在恶劣网络条件下无法提供。技术实现要素:为了解决上述问题,本公开提供一种基于视频云的服务提供方法、视频云系统、基于视频云的服务提供设备、计算机可读存储介质以及计算机程序成品。根据本公开实施例的一个方面,提供一种基于视频云的服务提供方法,包括:通过多个视频设备采集视频数据,所述多个视频设备位于不同的位置并且与不同的边缘设备相关联;通过多个边缘设备接收所述视频数据,其中所述多个边缘设备与所述多个视频设备之间采用统一的协议连接,并且分别对与其相关联的视频设备进行管理;通过所述多个边缘设备将所述视频数据提供至云端服务器和/或与所述多个边缘设备相关联的边端服务器;接收从服务请求端发出的服务订阅请求,其中,所述服务订阅请求用于订阅与所述视频数据相关的服务;通过所述云端服务器和/或所述边端服务器对所述视频数据进行分析处理,并基于所述分析处理的结果数据生成与所述服务订阅请求相对应的服务;以及向所述服务请求端提供与所述服务订阅请求相对应的服务。根据本公开实施例的示例,基于视频云的服务提供方法还包括:通过管理平台接收从所述服务请求端发出的服务订阅请求;通过所述管理平台对来自所述多个视频设备和所述多个边缘设备的设备参数数据和视频数据进行逻辑整合;以及通过所述管理平台发布逻辑整合后的设备参数数据和视频数据,以提供统一的数据访问服务,其中,所述设备参数数据包括设备名称、设备编号、设备类型、设备端口、设备网络互联协议(ip)地址、设备生厂商、设备地理位置中的一项或多项。根据本公开实施例的示例,其中,对所述多个视频设备和所述多个边缘设备的设备参数数据和视频数据进行逻辑整合包括:经由网络服务插件接收所述多个视频设备和所述多个边缘设备的设备参数数据和视频数据;从所述设备参数数据和视频数据中提取元数据,并从所述元数据中选择字段信息,以生成代码块;对所述代码块进行打包以生成逻辑整合后的设备参数数据和视频数据。根据本公开实施例的示例,基于视频云的服务提供方法还包括:通过所述管理平台接收并管理所述多个视频设备和所述多个边缘设备的状态信息以及关系信息,其中,所述状态信息指示所述多个视频设备和所述多个边缘设备的当前状态,所述关系信息指示所述多个视频设备和所述多个边缘设备之间、以及所述多个边缘设备与视频业务之间的绑定关系。根据本公开实施例的示例,基于视频云的服务提供方法还包括:通过所述管理平台对所述多个视频设备和所述多个边缘设备的设备参数数据、视频数据、状态信息以及关系信息进行查询、更改、增加和删除中的一项或多项操作。根据本公开实施例的示例,其中,所述云端服务器和所述边端服务器包括算法服务模块以及规则引擎模块,并且其中,对所述视频数据进行分析处理并基于所述分析处理的结果数据生成与所述服务订阅请求相对应的服务包括:利用所述算法服务模块对所述视频数据进行分析以得到结果数据,并将所述结果数据上传到所述规则引擎模块;利用所述规则引擎模块基于所述结果数据生成联动控制命令,以用于提供与所述服务订阅请求相对应的服务。根据本公开实施例的示例,其中,所述边端服务器包括所述云端服务器中的算法服务模块或规则引擎模块中的算法或规则的至少一部分算法或规则;其中,在所述云端服务器不可用的情况下,通过所述边端服务器提供服务。根据本公开实施例的示例,基于视频云的服务提供方法还包括:通过管理平台上传固件或固件更新至云端固件中心;和/或通过管理平台下发固件或固件更新至所述多个边缘设备。根据本公开实施例的示例,其中,所述边缘设备是视频网关,所述服务请求端是与门禁系统、防盗系统、照明系统、电梯系统、空调系统中的至少一个相关联的客户端或网页应用。根据本公开实施例的示例,基于视频云的服务提供方法还包括:在所述多个边缘设备接入所述云端服务器时进行非对称加密;以及在所述多个边缘设备与所述云端服务器进行数据交换时进行对称加密。根据本公开实施例的示例,其中,在所述多个边缘设备接入所述云端服务器时进行非对称加密包括:从所述云端服务器获取用于所述一个或多个边缘设备的私钥以及接入所述云端服务器所需的公钥;所述多个边缘设备利用所述私钥和所述公钥注册并登入到所述云端服务器,并从所述云端服务器获取用于数据交换的对称密钥。根据本公开实施例的另一方面,提供了一种视频云系统,包括:多个视频设备,被配置为采集视频数据,所述多个视频设备位于不同的位置并且与不同的边缘设备相关联;多个边缘设备,被配置为从所述视频设备获取所述视频数据,所述多个边缘设备与所述多个视频设备之间采用统一的协议连接,并且分别对与其相关联的视频设备进行管理;云端服务器以及与所述多个边缘设备相关联的至少一个边端服务器,被配置为从所述多个边缘设备接收所述视频数据,并接收从所述服务请求端发出的服务订阅请求,其中,所述服务订阅请求用于订阅与所述视频数据相关的服务,所述云端服务器和/或边端服务器还被配置为对所述视频数据进行分析处理,并基于所述分析处理的结果数据生成与所述服务订阅请求相对应的服务,以及向所述服务请求端提供与所述服务订阅请求相对应的服务。根据本公开实施例的示例,视频云系统还包括管理平台,所述管理平台被配置为:接收从所述服务请求端发出的服务订阅请求;对来自所述多个视频设备和所述多个边缘设备的设备参数数据和视频数据进行逻辑整合;以及发布逻辑整合后的设备参数数据和视频数据,以提供统一的数据访问服务,其中,所述设备参数数据包括设备名称、设备编号、设备类型、设备端口、设备网络互联协议(ip)地址、设备生厂商、设备地理位置中的一项或多项。根据本公开实施例的示例,所述管理平台还被配置为:经由网络服务插件接收所述多个视频设备和所述多个边缘设备的设备参数数据和视频数据;从所述设备参数数据和视频数据中提取元数据,并从所述元数据中选择字段信息,以生成代码块;对所述代码块进行打包以生成逻辑整合后的设备参数数据和视频数据。根据本公开实施例的示例,所述管理平台还被配置为:接收并管理所述多个视频设备和所述多个边缘设备的状态信息以及关系信息,其中,所述状态信息指示所述多个视频设备和所述多个边缘设备的当前状态,所述关系信息指示所述多个视频设备和所述多个边缘设备之间、以及所述多个边缘设备与视频业务之间的绑定关系。根据本公开实施例的示例,所述管理平台还被配置为:对所述多个视频设备和所述多个边缘设备的设备参数数据、视频数据、状态信息以及关系信息进行查询、更改、增加和删除中的一项或多项操作。根据本公开实施例的示例,其中,所述云端服务器和所述边端服务器包括算法服务模块以及规则引擎模块,并且其中,所述算法服务模块被配置为对所述视频数据进行分析以得到结果数据,并将所述结果数据上传到所述规则引擎模块;所述规则引擎模块被配置为基于所述结果数据生成联动控制命令,以用于提供与所述服务订阅请求相对应的服务。根据本公开实施例的示例,其中,所述边端服务器包括所述云端服务器中的算法服务模块或规则引擎模块中的算法或规则的至少一部分算法或规则;其中,在所述云端服务器不可用的情况下,通过所述边端服务器提供服务。根据本公开实施例的示例,所述视频云系统还包括云端固件中心,所述管理平台还被配置为上传固件或固件更新至云端固件中心;和/或下发固件或固件更新至所述多个边缘设备。根据本公开实施例的示例,其中,所述边缘设备是视频网关,所述服务请求端是与门禁系统、防盗系统、照明系统、电梯系统、空调系统中的至少一个相关联的客户端或网页应用。根据本公开实施例的示例,所述视频云系统还包括安全模块,所述安全模块被配置为:在所述多个边缘设备接入所述云端服务器时进行非对称加密;以及在所述多个边缘设备与所述云端服务器进行数据交换时进行对称加密。根据本公开实施例的示例,所述安全模块还被配置为:在所述多个边缘设备接入所述云端服务器时,从所述云端服务器获取用于所述一个或多个边缘设备的私钥以及接入所述云端服务器所需的公钥;以及,利用所述私钥和所述公钥将所述多个边缘设备注册并登入到所述云端服务器,并从所述云端服务器获取用于数据交换的对称密钥。根据本公开实施例的另一方面,提供了一种基于视频云的服务提供设备,包括:一个或多个处理器;和一个或多个存储器,其中所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述一个或多个处理器运行时,使得所述一个或多个处理器执行上述各个方面中任一项所述的方法。根据本公开实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使得所述处理器执行上述各个方面中任一项所述的方法。根据本公开实施例的另一方面,提供了一种计算机程序产品,其包括计算机可读指令,所述计算机可读指令在被处理器执行时,使得所述处理器执行上述各个方面中任一项所述的方法。利用根据本公开上述各个方面的基于视频云的服务提供方法、视频云系统、基于视频云的服务提供设备、计算机可读存储介质以及计算机程序成品,能够实现视频云系统内的设备间的数据共享,对订阅到视频云系统的应用系统进行关联控制;可以通过管理平台对视频云系统内的多个视频设备和多个边缘设备进行统一管理和调度,统一维护和管理视频设备和边缘设备的数据,提供一站式的数据访问服务;此外,通过云端和边端的功能模块布置,可以实现高效的云边协同,支持恶劣网络环境或者云端服务器故障等情况下的有损服务,并且能够通过云端固件中心提供固件云端托管与分发;此外,还通过设置完善的安全机制,确保边缘设备接入云端服务器、以及边缘设备与云端服务器进行数据交换时的安全性。附图说明通过结合附图对本公开实施例进行更详细的描述,本公开实施例的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1示出了根据一个示例的视频云的一般框架;图2示出了根据本公开实施例的视频云系统的基本架构;图3示出了根据本公开实施例的基于视频云的服务提供方法的流程图;图4示出了根据本公开实施例的示例的联动控制的示意图;图5示出了根据本公开实施例的示例的对视频设备和边缘设备的管理调度流程的示意图;图6示出了根据本公开实施例的示例的管理平台的数据逻辑整合的原理示意图;图7示出了根据本公开实施例的示例的云端和边端的功能结构示意图;图8示出了根据本公开实施例的示例的云边协同服务框架;图9示出了根据本公开实施例的示例的固件托管与分发的示意图;图10示出了根据本公开实施例的示例的视频云系统的安全机制示意图;图11示出了根据本公开实施例的视频云系统的结构示意图;图12示出了根据本公开实施例的示例性计算设备的架构的示意图。具体实施方式下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。视频云是基于云计算商业模式应用的视频网络平台服务,应用在视频监控、视频会议系统等众多领域。在云平台上,应用可以在云端服务器上运行。边缘设备和云端服务器将采集的音视频数据编码后经过网络实时传输给终端,并由终端进行实时解码后显示输出。终端同时可以进行操作,经由网络将操作控制信息实时传送给在云端服务器上运行的应用,以进行应用控制。在本公开中,云端服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,并且,在本公开中,云端服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开对此不做具体限制。在本公开中,边缘设备是指位于靠近诸如视频设备的数据源头一侧的设备,例如视频网关、本地服务器等等。图1示出了根据一个示例的视频云100的一般框架。如图1所示,在视频云100中,处于内部局域网中的诸如网络摄像机(ipc)、网络视频录像机(nvr)等的视频设备110采集视频数据,并将采集到的视频数据经由视频网关120发送到视频云的云端服务器130,云端服务器130在对视频数据进行诸如转码、数据流协议转换等操作后发送到客户端140。现有的视频云系统虽然种类繁多,但如前面所提到的,大多存在功能及软硬件设备不便扩展、数据结构及接口不通用、开发维护成本高等缺陷,并且一般在恶劣的网络条件下难以保证服务质量。本公开提供一种基于视频云的服务提供方法,该方法可以搭载在视频云系统上。图2示出了根据本公开实施例的视频云系统200的基本架构。如图2所示,在视频云系统200中,处于底层的是用来采集视频数据的视频设备210,视频设备210例如可以包括网络摄像机(ipc)211、网络视频录像机(nvr)212或者任意其他具有视频采集功能的视频设备;处于中间层的是边缘设备220,如上所述,这里边缘设备可以是指位于靠近诸如视频设备的数据源头一侧的设备,例如视频网关221或者任意其他边缘设备222等;处于顶层的是云端服务器230,如上所述,这里云端服务器230可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,本公开实施例对此不作具体限制。在视频云系统200中,诸如ipc211和nvr212等的视频设备210采集视频数据。边缘设备220中的视频网关221可以通过开放式网络视频接口论坛(opennetworkvideointerfaceforum,onvif)协议、软件开发工具包(softwaredevelopmentkit,sdk)协议等与视频设备210连接,并可以对多个视频设备210进行统一管理。此外,视频网关221还可以具有事件上报、码流分发等功能,其中,事件上报是指将有关视频设备210和视频网关221等的特定事件上报到云端服务器230,特定事件例如可以指视频设备和/或视频网关的增加、删除、故障等事件;码流分发是指视频网关221可以获取视频设备210所采集的视频数据,并推送到云端服务器230或者除了视频网关221之外的其他边缘设备222,例如边端服务器。云端服务器230在接收到视频数据之后,可以对所接收的视频数据进行转码、数据流协议转换等的操作,以向搭载在云端服务器230上的客户端、网页应用等视频应用提供诸如视频直播、视频录像等的视频服务。下面,参照图3描述根据本公开实施例的基于视频云的服务提供方法。图3示出了根据本公开实施例的基于视频云的服务提供方法300的流程图。如图3所示,在步骤s310中,通过多个视频设备采集视频数据。这里的视频设备可以是前面提到的ipc、nvr或者其他具有视频采集功能的视频设备,本公开实施例对此不作具体限制。多个视频设备可以处于不同的地理位置,并且可以与不同的边缘设备相关联,例如,可以直接连接到边缘设备,或者可以通过诸如onvif或sdk等的协议与不同的边缘设备相关联。在步骤s320中,通过多个边缘设备接收多个视频设备采集的视频数据。这里,边缘设备可以是指位于靠近诸如视频设备的数据源头一侧的设备,例如视频网关或者任意其他边缘设备等,本公开实施例对此不作具体限制。如上所述,多个边缘设备与多个视频设备之间可以采用诸如onvif或sdk等的统一的协议相连接,在本公开中,一个边缘设备可以与一个或多个视频设备相连接,一个视频设备也可以同时连接到多个边缘设备,本公开实施例对此不作具体限制。多个边缘设备中的每个边缘设备可以对与其相关联的视频设备进行管理,例如,可以对与其相关联的视频设备的配置信息、日志信息等进行管理,并且可以对与视频设备、边缘设备或两者相关的事件进行上报。在步骤s330中,通过多个边缘设备将所获取的视频数据提供至云端服务器和/或与多个边缘设备相关联的边端服务器。在本公开中,将边缘设备所在的一侧称为边端,除了云端服务器,还可以在边端布置服务器,称为边端服务器或者本地服务器。可以布置一个或多个边端服务器,一个或多个边端服务器可以与多个边缘设备相关联,例如,可以与多个边缘设备有线或者无线地通信连接。在一个示例中,边缘设备自身也可以作为边端服务器来使用。通常,边端服务器、多个边缘设备和多个视频设备可以位于同一个局域网中,但是本公开实施例不限于此,边端服务器、多个边缘设备和多个视频设备也可以分别位于不同的局域网中,或者其他网络环境中。在该步骤中,多个边缘设备可以将从视频设备获取的视频数据仅推送到云端服务器,或者仅推送到边端服务器,或者可以同时推送到云端服务器和边端服务器两者,以使得能够同时在云端和边端提供视频服务或者其他服务,如下文将详细地描述的。在步骤s340中,接收从服务请求端发出的服务订阅请求。服务请求端例如可以是与应用系统相关联的客户端或者网页应用等,应用系统例如可以是指诸如照明系统、电梯系统、空调系统、影音系统、家用电器等的智能家居系统,或者诸如门禁系统、监控系统、防盗系统等的智能安防系统,或者也可以是诸如nvr和ipc等的视频设备,以及任意其他可以利用视频云进行联动和控制的应用系统,本公开实施例对此不作具体限制。在本公开实施例中,期望获取视频云系统的云服务的应用系统可以通过其服务请求端向视频云系统发出服务订阅请求,该服务订阅请求用于订阅与各个视频设备所采集的视频数据相关的服务。例如,门禁系统的服务请求端(例如,客户端)可以向视频云系统发出服务订阅请求,以订阅视频云系统基于各个视频设备所采集的视频数据而生成的门禁控制服务,以例如用来控制门禁系统的闸机。又例如,照明系统的服务请求端(例如,客户端)可以向视频云系统发出服务订阅请求,以订阅视频云系统基于各个视频设备所采集的视频数据而生成的照明控制服务,以例如用来控制照明系统中的灯具开关。在本公开实施例的视频云系统中提供管理平台,可以通过管理平台在服务请求端和云端服务器和/或边端服务器之间建立通信连接。管理平台的管理界面例如可以网页应用或者客户端的形式来提供,并且可以搭载在云端服务器和/或边端服务器上,或者可以独立于云端服务器和边端服务器而存在。例如,云端服务器和/或边端服务器可以通过管理平台接收来自服务请求端的服务订阅请求,并响应于该服务订阅请求与服务请求端建立通信连接,以使得服务请求端可以订阅到视频云系统,或者换句话说,使得服务请求端可以作为视频云系统的应用而存在,从而能够使用视频云系统提供的服务。本公开实施例提供的管理平台可以具有更多其他的功能,如下文将进一步详细描述的。在步骤s350中,云端服务器和/或边端服务器在接收到边缘设备所提供的视频数据之后,可以对视频数据进行分析处理,并基于分析处理的结果数据生成与服务订阅请求相对应的服务,并且在步骤s360中向服务请求端提供与其服务订阅请求相对应的该服务,以例如用于对与服务请求端相关联的应用系统进行联动控制。根据本公开实施例的示例,云端服务器和/或边端服务器可以包括算法服务模块和规则引擎模块,其中,算法服务模块用于对视频数据进行分析以得到结果数据,并将结果数据上传到规则引擎模块;规则引擎模块用于基于所接收的结果数据生成联动控制命令,以用于提供与服务订阅请求相对应的服务。下面结合图4对步骤s350和步骤s360进行进一步的详细描述。图4示出了根据本公开实施例的示例的联动控制的示意图。为了简单起见,在图4中,仅仅示出了位于云端的算法服务模块432和规则引擎模块433,但这仅仅作为示例而非限制,在本公开实施例中,算法服务模块和规则引擎模块可以同时位于边缘设备420所在的边端,例如位于边端服务器上。为了向诸如门禁系统、照明系统、空调系统、监控系统等订阅到视频云系统的应用系统410提供相应的服务,边缘设备420从诸如ipc、nvr等的视频设备410’获取视频数据。这里的视频设备410’可以是应用系统410自带的视频设备,例如,应用系统410自带的ipc,或者也可以是视频云系统中的任意其他视频设备。边缘设备420将视频数据推送到云端服务器430上,以提供给视频服务模块431进行视频直播或视频录像。视频服务模块431可以将用于视频直播的实时获取的视频数据、或者视频录像所记录的历史视频数据提供到算法服务模块432,以进行分析处理。例如,算法服务模块431可以利用图像处理或者基于深度学习等的人工智能(ai)推理来对视频数据进行分析,例如可以对视频数据进行逐帧的分析,或者抽取视频数据中的关键帧来进行分析等等。算法服务模块431将分析得到的结果数据上传至规则引擎模块433。规则引擎模块433可以对接收到的结果数据进行逻辑分析,并根据预定的逻辑规则来生成联动控制命令,例如用于控制门禁系统的闸机、照明系统的灯具开关的联动控制命令等,来对应用系统410进行联动控制。在一个示例中,在诸如ipc、nvr等的视频设备410’自身订阅到视频云系统时,规则引擎模块433也可以生成对视频设备410’的联动控制命令,例如,用以控制摄像头打开、关闭、改变方向等。从上面的描述中可以看到,在本公开实施例中,应用系统410无需自带视频设备,而是可以通过订阅到根据本公开实施例的视频云系统,来利用视频云系统内的任意其他视频设备所获取的视频数据来操控应用系统410,从而实现了视频云系统内的数据共享,打破了传统的视频分析系统的数据孤岛现象。传统的视频分析系统大多采用垂直架构,基于特定项目定制需求独立构建,开放性较低,数据与其他系统无法共享,从而造成数据孤岛现象。以人脸识别的门禁系统为例,现有的门禁系统通常是一个独立的系统,需要自带摄像头、人脸识别算法以及相应的控制模块来运行整个门禁系统,同时,门禁系统所产生的数据也只能在该系统内部使用,无法与其他系统共享。而在本公开实施例中,上述数据孤岛现象得以解决。例如,基于本公开实施例的视频云系统的门禁系统甚至无需自带摄像头等视频设备,而是可以订阅视频云系统的服务,视频云系统可以利用系统内的其他视频设备所采集的视频数据来生成对门禁系统的联动控制命令,以用于控制门禁系统的闸机;或者,在另一方面,具有摄像头等视频设备的门禁系统可以通过视频云系统共享其所采集的视频数据,以供视频云系统内的其他应用系统使用,例如可以供电梯系统、照明系统等等来使用。因此,根据本公开实施例的基于视频云的服务提供方法克服了传统系统所存在的数据孤岛现象,能够实现视频云系统内的多系统联动。同时,由于订阅视频云系统的服务的应用系统或者其相关联的应用是作为该视频云系统的应用而存在,可以避免数据泄露,保证了数据的安全性。并且,根据本公开实施例的视频云系统一旦基于从任意视频设备获取的视频数据生成了结果数据,即可以实时地上报到规则引擎,以快速地产生并分发用于不同的应用系统的联动控制命令,从而实现对不同应用系统的快速控制。此外,根据本公开实施例的基于视频云的服务提供方法300能够实现对不同类型的视频设备的兼容。在实际应用中,视频云系统内的视频设备往往来自不同的厂商,因此可能具有不同的消息类型、不同的消息编码结构等等,使得对各个视频设备的统一接入和管理存在困难。根据本公开实施例的视频云系统提供通用的视频设备接入模型,可以将来自不同类型的视频设备的消息统一标准。例如,可以根据如下表1所示的标准消息格式来对来自不同类型的视频设备的消息进行统一。在表1中,列举了标准消息格式中包括的变量的示例,并为这些变量分别定义了字符串(string)类型、整数型(integer)、长整型(long)等变量类型。例如,设备唯一标识wid可以为字符串类型,消息序号变量seq可以为长整型,随机数变量random可以为整数型等等。表1标准消息格式示例变量类型描述符widstring设备唯一标识subwidstring子设备唯一标识msgtypestring消息类型seqlong消息序号randominteger随机数timestamplong时间戳datapointinteger功能码valuestring消息自定义内容通过利用例如表1所示的标准消息格式对来自不同类型的视频设备的消息进行标准化,能够与不同类型的视频设备进行互联互通和信息共享,实现对不同类型的视频设备的兼容,并且使得在本公开实施例的视频云系统中,从底层(例如视频设备所在的层,如图2所示)到上一层(例如边缘设备所在的中间层或云端服务器所在的顶层,如图2所示)的消息接口是统一标准和透明的,提高了视频云系统内的不同设备之间的消息通信的效率。另外,如在根据本公开实施例的基于视频云的服务提供方法300的步骤s340中提到的,可以利用管理平台来建立服务请求端和云端服务器和/或边端服务器之间的通信连接。根据本公开实施例的管理平台还可以实现对视频云系统内的多个视频设备和多个边缘设备的统一管理和调度。图5示出了根据本公开实施例的示例的对视频设备和边缘设备的管理调度流程500的示意图。如上所述,管理平台的管理界面例如可以网页应用或者客户端的形式来提供,并且可以搭载在云端服务器和/或边端服务器上,或者可以独立于云端服务器和边端服务器而存在。通常,诸如nvr、ipc等的视频设备位于局域网内,需要通过相关联的诸如视频网关的边缘设备接入到视频云系统中,并且视频云系统内的视频设备和边缘设备往往来自于与视频云系统相关联的不同系统(例如,订阅到视频云系统的不同的应用系统等,以下称为关联系统),处于不同的关联系统内的不同边缘设备可以对接不同的视频业务,例如视频监控、人脸识别门禁等等。为了对视频云系统内的这些视频设备和边缘设备进行统一调度管理,首先,如图5所示,在步骤s510中,视频设备和边缘设备例如可以经由网络服务(webservice)插件通过导入的方式在管理平台上进行登记,以导入视频设备和边缘设备的设备参数数据,以及各个视频设备与相应的边缘设备之间、边缘设备与视频业务之间的关系信息。其中,webservice插件是一个平台独立的、基于可编程的网页的应用程序,可以实现分布式的交互操作。关系信息例如可以指示视频设备与相应的边缘设备之间的绑定关系,以及边缘设备与视频业务之间的绑定关系。通过管理平台导入的设备参数数据和关系信息可以同步到云端服务器的云存储设备中进行存储,并且能够在管理平台上进行显示,以供浏览和查询。这里,云存储设备例如可以作为云端服务器的一部分,或者也可以是与云端服务器通信地连接的独立的存储设备,本公开实施例对此不作具体限制。然后,在步骤s520中,边缘设备接入到视频云服务。这里,视频云服务是指可以通过管理平台以及云端服务器和/或边端服务器提供的服务。例如,边缘设备可以通过管理平台接入到视频云系统的云端服务器和/或边端服务器以与云端服务器和/或边端服务器建立通信连接,从而能够接受云端服务器和/或边端服务器提供的服务,或者可以称为边缘设备接入到了视频云服务。图5中所示的视频云服务可以不表示实际的模块或接口,而是可以用于表示边缘设备与视频云系统之间的通信连接,这里出于便于说明的目的而示出。边缘设备接入到视频云服务之后,可以从云端服务器获取其关系信息,例如,边缘设备可以获悉其与哪些视频设备绑定。从而在步骤s530中,边缘设备的状态信息及与其关联的视频设备的状态信息可以经由管理平台被同步到云端服务器的云存储设备中,并且能够在管理平台上进行显示,以供浏览和查询。状态信息例如可以指示边缘设备及与其相关联的视频设备的当前状态,例如,正常运行状态、故障关机状态等等。在明确了视频设备和边缘设备的关系信息和状态信息之后,在步骤s540中,可以通过管理平台发出对视频设备和边缘设备的控制信息,以对边缘设备以及视频设备进行控制,实现对边缘设备和视频设备的调度。例如,可以在管理平台上发出使某组相关联的边缘设备和视频设备解绑的控制消息,以使该组边缘设备和视频设备断开连接。另外,根据本公开实施例的示例,可以通过管理平台对多个视频设备和多个边缘设备的设备参数数据、状态信息、关系信息等进行查询、更改、增加、删除等操作。例如,可以通过管理平台从视频云系统中增加或删除某个视频设备或者边缘设备,可以查询某个视频设备或边缘设备的当前状态信息或者关系信息,可以获取某个视频设备或边缘设备的设备参数数据等等。从而,通过管理平台能够实现对视频云系统内的多个视频设备和边缘设备的统一的调度管理。此外,根据本公开实施例的管理平台还可以统一维护和管理视频设备和边缘设备的数据,提供一站式的数据访问服务。这里,视频设备和边缘设备的数据包括其设备参数数据以及其上存储的视频数据等,在此可以统称为管理平台的源数据。其中,设备参数数据例如可以包括设备名称、设备编号、设备类型、设备端口、设备网络互联协议(ip)地址、设备生厂商、设备地理位置等等中的一项或多项;视频数据是由视频设备所采集的,并且可以存储在视频设备上,或者发送到与视频设备相关联的边缘设备上存储。图6示出了根据本公开实施例的示例的管理平台600的数据逻辑整合的原理示意图。如上所述,视频云系统内的视频设备和边缘设备可以来自于与视频云系统相关联的不同系统,例如关联系统610_1、关联系统610_2至关联系统610_n,这使得源数据通常是来源和结构互不相同的多源异构数据。为了对这些多源异构数据进行统一的管理,管理平台需要对其进行逻辑整合。具体地,如图6所示,来自关联系统610_1至关联系统610_n中的多个视频设备和多个边缘设备的源数据可以通过第一网络服务插件620导入到管理平台600中,如前面参照图5所描述的。管理平台600在接收到来自多个视频设备和多个边缘设备的源数据之后,可以对其进行逻辑整合。根据本公开实施例的示例,管理平台600可以包括元数据提取模块631、代码生成模块632和数据发布模块633。元数据提取模块631被配置为从来自多个视频设备和多个边缘设备的源数据提取元数据,并提供给代码生成模块632。元数据例如是表征源数据的有效特征的数据,例如源数据的表结构和字段信息。代码生成模块632被配置为从元数据中选择预定的字段信息以生成代码块,并将代码块提供给数据发布模块633。数据发布模块633对代码块进行打包,并发布到管理平台600上,或者更具体地,发布在管理平台600所在的网页服务器上,并且可以通过该管理平台同步到云端服务器上。从而,管理平台600在接收到业务系统650例如经由第二网络服务插件640发送的数据访问请求时,可以经由第二网络服务插件640向业务系统650提供逻辑整合后的源数据,即打包后的代码块。这里,业务系统650可以是向管理平台600请求数据访问的任意系统,本公开实施例对此不作具体限制。业务系统650例如可以向管理平台600请求访问视频设备或边缘设备的设备参数数据,或者请求访问视频设备或边缘设备上存储的视频数据等。根据本公开实施例的上述管理平台600能够在对源数据所来自的关联系统610_1至关联系统610_n改动较小的情况下,有效整合多源异构的源数据,提供统一的数据访问服务。业务系统650或者任意其他用户可以经由管理平台浏览、查询、访问来自多个视频设备和边缘设备的逻辑整合后的源数据,诸如设备参数数据和其上存储的视频数据等等。此外,根据本公开实施例的管理平台并不要求源数据在物理上集中,即不需要源数据必须统一集中存储在管理平台上或者与管理平台相关联的云端服务器上。例如,在业务系统650发出请求时,管理平台600可以通过诸如第一网络服务插件的接口来提取源数据,对源数据进行逻辑整合之后再通过诸如第二网络服务插件的接口提供给业务系统650,而无需源数据存储在管理平台上或者云端服务器上。从而,根据本公开实施例的管理平台能够保持多源异构数据的分布现状,实现对源数据的简单高效的管理。根据本公开实施例的基于视频云的服务提供方法还可以实现云端和边端的协同处理(称为云边协同),并且即使在恶劣的网络条件或者云端服务器故障等情况下(可以称为有损条件)也能够提供服务,即支持有损服务。具体地,如在步骤s330和s350中所述,边缘设备可以将所获取的视频数据同时推送到云端服务器和边端服务器,并且在云端服务器和边端服务器上可以同时具有算法服务模块和规则引擎模块。图7示出了根据本公开实施例的示例的云端和边端的功能结构示意图。如图7所示,在云端,或者更具体地,在云端服务器上,可以包括云端视频服务模块711、云端算法服务模块712和云端规则引擎模块713。应当理解的是,云端服务器可以由物理上分离的多台服务器构成,并且云端视频服务模块711、云端算法服务模块712和云端规则引擎模块713也可以分布在不同的服务器上。此外,云端服务器上还可以搭载管理平台714(如图7所示),或者管理平台714也可以独立于提供云端视频服务模块711、云端算法服务模块712和云端规则引擎模块713的云端服务器来实现。管理平台714可以类似于上文参照图5和图6所描述的管理平台,这里不再赘述。在下文中,为了描述简单,将管理平台714与云端服务器独立地描述,但这并不限定管理平台714一定独立于云端服务器,而应该包括管理平台714可以独立于云端服务器或者可以搭载于云端服务器上的方案。云端视频服务模块711可以提供诸如视频直播、视频录像等功能。根据本公开实施例的示例,云端算法服务模块712可以进行:样本分析,例如对视频数据中的大量视频帧进行分析处理,如在上述步骤s350中所描述的;模型训练,例如以海量视频数据作为训练样本数据来进行机器学习模型训练,以提供具有不同功能的模型;模型分发,例如将训练完成的模型分发到诸如云端规则引擎模块713、边端算法服务模块722、边端规则引擎模块723等的其他模块或者边端服务器等;以及提供算法市场,即可以向诸如云端规则引擎模块713、边端算法服务模块722、边端规则引擎模块723等的其他模块或者边端服务器等提供各类算法代码模块。根据本公开实施例的示例,云端规则引擎模块713可以对云端算法服务模块712得到的结果数据进行逻辑分析,并根据预定的逻辑规则生成联动控制命令,以用于向与应用系统相关联的服务请求端提供与其服务订阅请求相对应的服务,实现对订阅到视频云系统的应用系统的联动控制,如在上述步骤s350中所描述的。在边端,或者更具体地,在边端服务器上,可以具有边端视频服务模块721,边端算法服务模块722和边端规则引擎模块723,同时诸如视频网关724的边缘设备也位于边端。与云端视频服务模块711类似,边端视频服务模块721可以利用通过视频网关724获取的视频数据,提供诸如视频直播、视频录像等功能。边端算法服务模块722可以对视频数据进行图像处理、ai推理等,以得到结果数据,如在上述步骤s350中所描述的并且部分类似于云端算法服务模块。类似于云端规则引擎模块713,边端规则引擎模块723也可以对边端算法服务模块722得到的结果数据进行逻辑分析,并根据预定的逻辑规则生成联动控制命令,以用于向与应用系统相关联的服务请求端提供与其服务订阅请求相对应的服务,实现对订阅到视频云系统的应用系统的联动控制,如在上述步骤s350中所描述的。在恶劣的网络环境导致应用系统无法稳定连接到云端服务器、或者云端服务器出现故障等情况下,云端服务器可能无法向订阅到视频云系统的应用系统提供服务,以对应用系统进行有效的联动控制。在这种情况下,根据本公开实施例的视频云系统由于在边端服务器上也布置有算法服务模块和规则引擎模块,因此能够在边端服务器侧对通过视频网关获取的视频数据进行算法分析和逻辑分析来生成联动控制命令,然后例如经由管理平台(例如,在管理平台搭载在边端服务器上的情况下)或者其他通信连接(例如,在订阅到视频云系统的应用系统与边端服务器之间建立的通信连接)将联动控制命令提供给应用系统,以实现对订阅到视频云系统的应用系统的联动控制。也就是说,在恶劣的网络条件或者云端服务器发生故障等导致云端服务器不可用的情况下,根据本公开实施例的视频云系统也可以通过边端服务器来向订阅到视频云系统的应用系统提供服务,即能够支持有损服务。在图7中示出了根据本公开实施例的视频云系统的云端和边端的各种功能模块,需要说明的是,图7中示出的功能模块仅仅作为示例,并且这些功能模块可以根据实际应用场景和需求自由搭建与裁撤,本公开实施例对此不作具体限制。在传统的视频监控领域,诸如摄像头的视频设备、算法模块和控制模块通常会部署在同一个局域网内,然而,如前面提到的,这种封闭系统会导致数据孤岛现象,而且时常存在需要将局域网内获取的视频数据导入到公网上进行播放的需求,这又导致较高的带宽成本和安全隐患,而根据本公开实施例的基于视频云的服务提供方法有效解决了这些问题。具体地,从上面的描述中可以看到,云端和边端均可以包括算法服务模块和规则引擎模块,并且都能够对视频数据进行算法分析,并基于算法分析的结果数据生成联动控制命令,为订阅到视频云系统的应用系统提供联动控制服务,这实现了灵活的云边协同能力。图8进一步示出了根据本公开实施例的示例的云边协同服务框架。如图8所示,位于边端的视频网关可以将其从诸如ipc、nvr等视频设备获取的视频数据推送到边端和/或云端的视频服务模块,并随后分别提供到边端和/或云端的算法服务模块和规则引擎模块。根据本公开实施例的示例,边端算法服务模块或边端规则引擎模块可以包括云端算法服务模块或规则引擎模块中的算法或规则中的至少一部分。换句话说,在云端算法服务模块或云端规则引擎模块中训练好的算法或用于联动控制的规则可以部分或全部部署到边端,从而可以在边端就能够对视频数据进行分析处理,为关联的应用系统提供联动控制服务,大大降低了云端压力,并且能够保证快速响应。同时,这种云边协同服务框架使得即使在恶劣的网络条件或者云端服务器故障等导致云端服务器不可用的情况下,也可以通过边端服务器来提供服务,从而能够支持有损服务。另外,根据本公开实施例的这种云边协同服务框架还具有灵活的边缘路由能力。边端和云端之间可以灵活地互通消息,即具有可以进行数据交换的消息通道,消息通道位于云端服务器和边端服务器之间,或者更具体地,如图8所示,可以位于边端上的视频网关、存储服务模块或者规则引擎模块与云视频后台之间。在边端,通过视频网关获取的视频数据、利用视频服务模块得到的视频直播数据或视频录像数据、利用规则引擎模块得到的逻辑分析过程及结果等都可以存储到存储服务模块中,并且在云端有需求时,将它们进一步推送到云端服务器。例如,可以将边端的视频网关获取的视频数据,或者边端的存储服务模块存储的视频录像数据经由云端和边端之间的消息通道推送到云端进行播放,这可以极大地降低边端的带宽成本,提高了系统的稳定性,并且云端播放也避免了视频数据在公网上播放可能带来的安全隐患,确保了视频数据的安全性和隐私性。另外,根据本公开实施例的这种云边协同布置还能够提供固件云端托管与边端分发功能。图9示出了根据本公开实施例的示例的固件托管与分发的示意图。如图9所示,根据本公开实施例的视频云系统还可以包括云端固件中心,云端固件中心可以存储和管理各种应用固件版本,并且可以将固件或者固件更新下发到位于边端的边缘设备。具体地,例如,可以通过如上文参照图5和图6所述的管理平台上传固件或者固件更新到云端固件中心,例如,用户可以经由诸如webservice服务插件等的网络接口来通过管理平台进行固件上传操作,并且可以对该上传过程进行加密。另一方面,用户可以通过管理平台上查询云端固件中心,如果查询到需要的固件或者固件更新,则可以通过管理平台下发(例如,下载)固件或者固件更新到边缘设备,并且可以将诸如安装状态信息等结果上报给管理平台。类似地,该下发或上报过程也可以经由诸如webservice服务插件等的网络接口来进行。根据本公开实施例的这种固件云端托管和分发功能能够快速实现固件更新、功能迭代、漏洞修复等操作,进一步增强了根据本公开实施例的视频云系统的稳定性、灵活性和安全性。根据本公开实施例的基于视频云的服务提供方法还提供了一种用于视频云系统的安全认证方法,以确保边缘设备接入云端服务器以及边缘设备与云端服务器进行数据交换时的安全性。根据本公开实施例的示例,在多个边缘设备接入云端服务器时可以采用非对称加密,并且在多个边缘设备与云端服务器进行数据交换时可以采用对称加密。图10示出了根据本公开实施例的示例的视频云系统的安全机制示意图。如图10所示,诸如视频网关的边缘设备可以通过注册和登录的方式接入云端服务器,在整个接入过程中可以采用非对称加密技术,例如国密算法中的sm2非对称加密技术,或者任意其他非对称加密技术;接入成功之后,边缘设备与云端服务器可以采用对称加密技术进行数据交换,诸如国密算法中的sm4对称密钥技术,或者任意其他对称加密技术。需要说明的是,虽然这里以视频网关和云端服务器在接入过程采用非对称加密、在数据交换过程采用对称加密为例进行了说明,但本公开实施例不限于此,在接入过程或者数据交换过程中也可以采用任意其他加密技术。下面以视频网关作为边缘设备的示例进行描述。首先,在注册阶段1010,视频网关可以在视频云开放平台上申请序列号(serialnumber,sn),并获取用于该视频网关的私钥(即,网关私钥),以及该视频网关接入云端服务器时所需的公钥(即,云端公钥)。这里,视频云开放平台例如可以是上文参照图5和图6描述的管理平台,或者其他用于提供视频云服务的客户端、网页应用等等。视频网关在向云端服务器发出注册请求前,首先使用网关私钥对诸如网关的设备参数信息等的自身信息进行签名,然后使用云端公钥对签名信息以及sn等信息进行加密,并将加密后的签名信息及sn等与注册请求一起发送到云端服务器。云端服务器可以首先采用云端私钥对加密的签名信息和sn进行解析,然后采用网关公钥解析签名信息,从而通过签名信息识别注册请求是由视频网关发出,并进行对视频网关的注册。采用网关私钥和云端公钥的这一加密过程可以保证视频网关的注册请求只能被云端服务器解析。在注册成功之后,云端服务器可以返回注册响应,以指示视频网关注册成功。同时,云端服务器可以将与视频网关之间的信令通道信息(例如,信令通道域名)经过网关公钥加密后返回给视频网关,视频网关则可以采用网关私钥对加密的信令通道信息进行解析。采用网关公钥和网关私钥的这一加密过程可以保证云端服务器返回的信令通道信息只能被视频网关解析。然后,在登录阶段1020,视频网关可以登录到云端服务器,并与云端服务器协商用于数据交换的信令通道对称密钥。具体地,视频网关可以首先使用网关私钥对诸如网关的设备参数信息等的自身信息进行签名,然后使用云端公钥对签名信息、设备唯一标识、以及用于生成对称密钥的向量等信息进行加密,并将加密后的信息与登录请求一起发送到云端服务器。云端服务器可以首先采用云端私钥对加密的签名信息、设备唯一标识、以及对称密钥向量等进行解析,然后采用网关公钥解析签名信息,从而通过签名信息识别登录请求是由视频网关发出。这一加密过程可以保证视频网关的登录请求只能被云端服务器解析。在登录成功后,云端服务器可以返回登录响应,以指示视频网关登录成功。同时,云端服务器可以将与视频网关之间的信令通道采用的对称密钥、令牌(token)以及有效时间等经过网关公钥加密后返回给视频网关。视频网关可以采用网关私钥对这些加密信息进行解析,从而获得信令通道对称密钥、token以及有效时间等。其中,token可以用于视频网关访问云端服务器的身份认证,使得无需进行频繁的登录操作,有效时间可以包括token的有效时间或者对称密钥的有效时间等等。采用网关公钥和网关私钥的这一加密过程可以保证云端服务器返回的对称密钥、token以及有效时间等只能被视频网关解析。在完成注册与登录之后,在数据交换阶段1030,视频网关可以采用在登录阶段1020中获得的对称密钥进行数据上报、视频数据推送、视频设备维护等操作。例如,视频网关在获取了视频设备采集的视频数据之后,可以采用对称密钥对视频数据进行加密后传输到云端服务器,云端服务器则可以采用该对称密钥对接收到的视频数据进行解析。另一方面,云端服务器也可以采用该对称密钥进行数据下发等操作,例如,云端服务器可以向视频网关发出利用对称密钥加密的控制消息,则视频网关可以采用该对称密钥对接收到的控制消息进行解析,并执行相应的控制处理。另外,如上所述,视频网关和云端服务器之间的对称密钥、token等可以存在有效时间,如果超过该有效时间,则当前的对称密钥和token将不能再次使用,而需要重新登录到云端服务器获取,以确保数据交换的安全性。根据本公开实施例的示例的上述安全认证方法,能够确保边缘设备接入云端服务器、以及边缘设备与云端服务器进行数据交换时的安全性,从而进一步提高根据本公开实施例的基于视频云的服务提供方法的安全性。利用根据本公开上述实施例的基于视频云的服务提供方法,能够实现视频云系统内的设备间的数据共享,对订阅到视频云系统的应用系统进行关联控制;可以通过管理平台对视频云系统内的多个视频设备和多个边缘设备进行统一管理和调度,统一维护和管理视频设备和边缘设备的数据,提供一站式的数据访问服务;此外,通过云端和边端的功能模块布置,可以实现高效的云边协同,支持恶劣网络环境或云端服务器故障等情况下的有损服务,并且能够通过云端固件中心提供固件云端托管与分发;此外,还通过设置完善的安全机制,确保边缘设备接入云端服务器、以及边缘设备与云端服务器进行数据交换时的安全性。下面参照图11描述根据本公开实施例的视频云系统。图11示出了根据本公开实施例的视频云系统1100的结构示意图。如图11所示,视频云系统可以包括多个视频设备1110、多个边缘设备1120、云端服务器1130和/或边端服务器1140,以及可选地管理平台1150。除了这5个单元以外,视频云系统1100还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。多个视频设备1110被配置为采集视频数据。这里的视频设备可以是前面提到的ipc、nvr或者其他具有视频采集功能的视频设备,本公开实施例对此不作具体限制。多个视频设备可以处于不同的地理位置,并且可以与不同的边缘设备相关联,例如,可以直接连接到边缘设备,或者可以通过诸如onvif或sdk等的协议与不同的边缘设备相关联。多个边缘设备1120被配置为从多个视频设备1110获取所采集的视频数据。这里,边缘设备可以是指位于靠近诸如视频设备的数据源头一侧的设备,例如视频网关或者任意其他边缘设备等,本公开实施例对此不作具体限制。如上所述,多个边缘设备与多个视频设备之间可以采用诸如onvif或sdk等的统一的协议相连接,在本公开中,一个边缘设备可以与一个或多个视频设备相连接,一个视频设备也可以同时连接到多个边缘设备,本公开实施例对此不作具体限制。多个边缘设备中的每个边缘设备可以对与其相关联的视频设备进行管理,例如,可以对与其相关联的视频设备的配置信息、日志信息等进行管理,并且可以对与视频设备、边缘设备或两者相关的事件进行上报。视频云系统1100包括云端服务器1130,云端服务器1130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,并且,在本公开中,云端服务器1130可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。在本公开中,将边缘设备所在的一侧称为边端,除了云端服务器1130之外,视频云系统1100还可以包括位于边端的服务器,称为边端服务器或者本地服务器1140。可以布置一个或多个边端服务器1140,一个或多个边端服务器1140可以与多个边缘设备1120相关联,例如,可以与多个边缘设备1120有线或者无线地通信连接。在一个示例中,边缘设备1120自身也可以作为边端服务器来使用。通常,边端服务器1140、多个边缘设备1120和多个视频设备1110可以位于同一个局域网中,但是本公开实施例不限于此,边端服务器1140、多个边缘设备1120和多个视频设备1110也可以分别位于不同的局域网中,或者其他网络环境中。多个边缘设备1120可以将从视频设备1110获取的视频数据仅推送到云端服务器1130,或者仅推送到边端服务器1140,或者可以同时推送到云端服务器1130和边端服务器1140两者,以使得能够同时在云端和边端提供视频服务或者其他服务,如下文将详细地描述的。可选地,根据本公开实施例的视频云系统1100还可以包括管理平台1150。例如,可以通过管理平台1150从服务请求端接收服务订阅请求。服务请求端例如可以是与应用系统相关联的客户端或者网页应用等,应用系统例如可以是指诸如照明系统、电梯系统、空调系统、影音系统、家用电器等的智能家居系统,或者诸如门禁系统、监控系统、防盗系统等的智能安防系统,或者也可以是诸如nvr和ipc等的视频设备,以及任意其他可以利用视频云进行联动和控制的应用系统,本公开实施例对此不作具体限制。在本公开实施例中,期望获取视频云系统的云服务的应用系统可以通过其服务请求端向视频云系统发出服务订阅请求,该服务订阅请求用于订阅与各个视频设备所采集的视频数据相关的服务。例如,门禁系统的服务请求端(例如,客户端)可以向视频云系统发出服务订阅请求,以订阅视频云系统基于各个视频设备所采集的视频数据而生成的门禁控制服务,以例如用来控制门禁系统的闸机。又例如,照明系统的服务请求端(例如,客户端)可以向视频云系统发出服务订阅请求,以订阅视频云系统基于各个视频设备所采集的视频数据而生成的照明控制服务,以例如用来控制照明系统中的灯具开关。在本公开实施例的视频云系统1100中,可以通过管理平台1150在服务请求端和云端服务器1130和/或边端服务器1140之间建立通信连接。管理平台1150的管理界面例如可以网页应用或者客户端的形式来提供,并且可以搭载在云端服务器1130和/或边端服务器1140上,或者可以独立于云端服务器1130和边端服务器1140而存在。例如,云端服务器1130和/或边端服务器1140可以通过管理平台1150接收来自服务请求端的服务订阅请求,并响应于该服务订阅请求与服务请求端建立通信连接,以使得服务请求端可以订阅到视频云系统1100,或者换句话说,使得服务请求端可以作为视频云系统1100的应用而存在,从而能够使用视频云系统1100提供的服务。本公开实施例提供的管理平台1150可以具有更多其他的功能,如下文将进一步详细描述的。云端服务器1130和/或边端服务器1140在接收到边缘设备1120所提供的视频数据之后,可以对视频数据进行分析处理,并基于分析处理的结果数据生成与服务订阅请求相对应的服务,并且向服务请求端提供与其服务订阅请求相对应的该服务,以例如用于对与服务请求端相关联的应用系统进行联动控制。根据本公开实施例的示例,云端服务器1130和/或边端服务器1140可以包括算法服务模块和规则引擎模块,其中,算法服务模块用于对视频数据进行分析以得到结果数据,并将结果数据上传到规则引擎模块;规则引擎模块用于基于所接收的结果数据生成联动控制命令,以用于提供与服务订阅请求相对应的服务。为了向诸如门禁系统、照明系统、空调系统、监控系统等订阅到视频云系统1100的应用系统提供相应的服务,边缘设备1120从诸如ipc、nvr等的视频设备1110获取视频数据。视频设备1110可以是应用系统自带的视频设备,例如,应用系统自带的摄像头,或者也可以是视频云系统1100中的任意其他视频设备。边缘设备1120将视频数据推送到云端服务器1130上,以提供给视频服务模块进行视频直播或视频录像。视频云系统1100的视频服务模块可以将用于视频直播的实时获取的视频数据、或者视频录像所记录的历史视频数据提供到算法服务模块,以进行分析处理。例如,算法服务模块可以利用图像处理或者基于深度学习等的人工智能(ai)推理来对视频数据进行分析,例如可以对视频数据进行逐帧的分析,或者抽取视频数据中的关键帧来进行分析等等。算法服务模块将分析得到的结果数据上传至规则引擎模块。规则引擎模块可以对接收到的结果数据进行逻辑分析,并根据预定的逻辑规则来生成联动控制命令,例如用于控制门禁系统的闸机、照明系统的灯具开关的联动控制命令等,来对应用系统进行联动控制。在一个示例中,在诸如ipc、nvr等的视频设备1110自身订阅到视频云系统1100时,规则引擎模块也可以生成对视频设备1110的联动控制命令,例如,用以控制摄像头打开、关闭、改变方向等。从上面的描述中可以看到,在本公开实施例中,应用系统无需自带视频设备,而是可以通过订阅到根据本公开实施例的视频云系统1100,来利用视频云系统1100内的任意其他视频设备所获取的视频数据来操控应用系统,从而实现了视频云系统内的数据共享,打破了传统的视频分析系统的数据孤岛现象。传统的视频分析系统大多采用垂直架构,基于特定项目定制需求独立构建,开放性较低,数据与其他系统无法共享,从而造成数据孤岛现象。以人脸识别的门禁系统为例,现有的门禁系统通常是一个独立的系统,需要自带摄像头、人脸识别算法以及相应的控制模块来运行整个门禁系统,同时,门禁系统所产生的数据也只能在该系统内部使用,无法与其他系统共享。而在本公开实施例中,上述数据孤岛现象得以解决。例如,基于本公开实施例的视频云系统1100的门禁系统甚至无需自带摄像头等视频设备,而是可以订阅视频云系统1100的服务,视频云系统1100可以利用系统内的其他视频设备所采集的视频数据来生成对门禁系统的联动控制命令,以用于控制门禁系统的闸机;或者,在另一方面,具有摄像头等视频设备的门禁系统可以通过视频云系统共享其所采集的视频数据,以供视频云系统内的其他应用系统使用,例如可以供电梯系统、照明系统等等来使用。因此,根据本公开实施例的视频云系统1100克服了传统系统所存在的数据孤岛现象,能够实现视频云系统1100内的多系统联动。同时,由于订阅视频云系统1100的服务的应用系统或者其相关联的应用是作为该视频云系统的应用而存在,可以避免数据泄露,保证了数据的安全性。并且,根据本公开实施例的视频云系统1100一旦基于从任意视频设备获取的视频数据生成了结果数据,即可以实时地上报到规则引擎,以快速地产生并分发用于不同的应用系统的联动控制命令,从而实现对不同应用系统的快速控制。此外,根据本公开实施例的1100能够实现对不同类型的视频设备的兼容。在实际应用中,视频云系统内的视频设备往往来自不同的厂商,因此可能具有不同的消息类型、不同的消息编码结构等等,使得对各个视频设备的统一接入和管理存在困难。根据本公开实施例的视频云系统提供通用的视频设备接入模型,可以将来自不同类型的视频设备的消息统一标准。例如,可以根据如上述表1所示的标准消息格式来对来自不同类型的视频设备的消息进行统一。在表1中,列举了标准消息格式中包括的变量的示例,并为这些变量分别定义了字符串(string)类型、整数型(integer)、长整型(long)等变量类型。例如,设备唯一标识wid可以为字符串类型,消息序号变量seq可以为长整型,随机数变量random可以为整数型等等。通过利用例如表1所示的标准消息格式对来自不同类型的视频设备的消息进行标准化,能够与不同类型的视频设备进行互联互通和信息共享,实现对不同类型的视频设备的兼容,并且使得在本公开实施例的视频云系统1100中,从底层(例如视频设备所在的层,如图2所示)到上一层(例如边缘设备所在的中间层或云端服务器所在的顶层,如图2所示)的消息接口是统一标准和透明的,提高了视频云系统内的不同设备之间的消息通信的效率。另外,根据本公开实施例的视频云系统1100的管理平台1150还可以实现对视频云系统内的多个视频设备和多个边缘设备的统一管理和调度。由于管理平台1150的功能与上文参照图5和图6描述的管理平台的细节类似,因此下文为了简单起见,省略对部分内容的重复描述。如上所述,管理平台1150例如可以网页应用或者客户端的形式来提供,并且可以搭载在云端服务器1130上。通常,诸如nvr、ipc等的视频设备1110位于局域网内,需要通过相关联的诸如视频网关的边缘设备1120接入到视频云系统1100中,并且视频云系统1100内的视频设备1110和边缘设备1120往往来自于与视频云系统相关联的不同系统(例如,订阅到视频云系统的不同的应用系统等,以下称为关联系统),处于不同的关联系统内的不同边缘设备可以对接不同的视频业务,例如视频监控、人脸识别门禁等等。另外,根据本公开实施例的示例,可以通过管理平台1150对多个视频设备和多个边缘设备的设备参数数据、状态信息、关系信息等进行查询、更改、增加、删除等操作。例如,可以通过管理平台1150从视频云系统1100中增加或删除某个视频设备或者边缘设备,可以查询某个视频设备或边缘设备的当前状态信息或者关系信息,可以获取某个视频设备或边缘设备的设备参数数据等等。从而,通过管理平台能够实现对视频云系统内的多个视频设备和边缘设备的统一的调度管理。此外,根据本公开实施例的管理平台1150还可以统一维护和管理视频设备和边缘设备的数据,提供一站式的数据访问服务。这里,视频设备和边缘设备的数据包括其设备参数数据以及其上存储的视频数据等,在此可以统称为管理平台的源数据。其中,设备参数数据例如可以包括设备名称、设备编号、设备类型、设备端口、设备网络互联协议(ip)地址、设备生厂商、设备地理位置等等中的一项或多项;视频数据是由视频设备所采集的,并且可以存储在视频设备上,或者发送到与视频设备相关联的边缘设备上存储。根据本公开实施例的上述管理平台1150能够在对源数据所来自的关联系统改动较小的情况下,有效整合多源异构的源数据,提供统一的数据访问服务。业务系统或者任意其他用户可以经由管理平台浏览、查询、访问来自多个视频设备和边缘设备的逻辑整合后的源数据,诸如设备参数数据和其上存储的视频数据等等。此外,根据本公开实施例的管理平台并不要求源数据在物理上集中,即不需要源数据必须统一集中存储在管理平台上或者与管理平台相关联的云端服务器上。例如,在业务系统发出请求时,管理平台可以通过诸如第一网络服务插件的接口来提取源数据,对源数据进行逻辑整合之后再通过诸如第二网络服务插件的接口提供给业务系统,而无需源数据存储在管理平台上或者云端服务器上。从而,根据本公开实施例的管理平台1150能够保持多源异构数据的分布现状,实现对源数据的简单高效的管理。根据本公开实施例的视频云系统1100还可以实现云端和边端的协同处理(称为云边协同),并且即使在恶劣的网络条件或者云端服务器故障等情况下也能够提供服务,即支持有损服务。具体地,如上所述,边缘设备1110可以将所获取的视频数据同时推送到云端服务器1130和边端服务器1140,并且在云端服务器1130和边端服务器1140上可以同时具有算法服务模块和规则引擎模块,如上文参照图7具体描述的。在传统的视频监控领域,诸如摄像头的视频设备、算法模块和控制模块通常会部署在同一个局域网内,然而,如前面提到的,这种封闭系统会导致数据孤岛现象,而且时常存在需要将局域网内获取的视频数据导入到公网上进行播放的需求,这又导致较高的带宽成本和安全隐患,而根据本公开实施例的视频云系统1100有效解决了这些问题。具体地,从上面的描述中可以看到,云端和边端均可以包括算法服务模块和规则引擎模块,并且都能够对视频数据进行算法分析,并基于算法分析的结果数据生成联动控制命令,为订阅到视频云系统1100的应用系统提供联动控制服务,这实现了灵活的云边协同能力。如上文参照图8具体描述的,位于边端的视频网关可以将其从诸如ipc、nvr等视频设备获取的视频数据推送到边端和/或云端的视频服务模块,并随后分别提供到边端和/或云端的算法服务模块和规则引擎模块。根据本公开实施例的示例,边端算法服务模块或边端规则引擎模块可以包括云端算法服务模块或规则引擎模块中的算法或规则中的至少一部分。换句话说,在云端算法服务模块或云端规则引擎模块中训练好的算法或用于联动控制的规则可以部分或全部部署到边端,从而可以在边端就能够对视频数据进行分析处理,为关联的应用系统提供联动控制服务,大大降低了云端压力,并且能够保证快速响应。同时,这种云边协同服务框架使得即使在恶劣的网络条件或者云端服务器故障等情况导致云端服务器不可用的情况下,也可以通过边端服务器来提供服务,从而能够支持有损服务。另外,根据本公开实施例的这种云边协同服务框架还具有灵活的边缘路由能力。边端和云端之间可以灵活地互通消息,即具有可以进行数据交换的消息通道,消息通道位于云端服务器和边端服务器之间,或者更具体地,如图8所示,可以位于边端上的视频网关、存储服务模块或者规则引擎模块与云视频后台之间。在边端,通过视频网关获取的视频数据、利用视频服务模块得到的视频直播数据或视频录像数据、利用规则引擎模块得到的逻辑分析过程及结果等都可以存储到存储服务模块中,并且在云端有需求时,将它们进一步推送到云端服务器。例如,可以将边端的视频网关获取的视频数据,或者边端的存储服务模块存储的视频录像数据经由云端和边端之间的消息通道推送到云端进行播放,这可以极大地降低边端的带宽成本,提高了系统的稳定性,并且云端播放也避免了视频数据在公网上播放可能带来的安全隐患,确保了视频数据的安全性和隐私性。另外,根据本公开实施例的这种云边协同布置还能够提供固件云端托管与边端分发功能,如上文参照图9具体描述的,根据本公开实施例的视频云系统1100还可以包括云端固件中心,云端固件中心可以存储和管理各种应用固件版本,并且可以将固件或者固件更新下发到位于边端的边缘设备。具体地,例如,可以通过管理平台1150上传固件或者固件更新到云端固件中心,例如,用户可以经由诸如webservice服务插件等的网络接口来通过管理平台进行固件上传操作,并且可以对该上传过程进行加密。另一方面,用户可以通过管理平台1150上查询云端固件中心,如果查询到需要的固件或者固件更新,则可以通过管理平台1150下发(例如,下载)固件或者固件更新到边缘设备1120,并且可以将诸如安装状态信息等结果上报给管理平台1150。类似地,该下发或上报过程也可以经由诸如webservice服务插件等的网络接口来进行。根据本公开实施例的这种固件云端托管和分发功能能够快速实现固件更新、功能迭代、漏洞修复等操作,进一步增强了根据本公开实施例的视频云系统1100的稳定性、灵活性和安全性。根据本公开实施例的视频云系统还具有一种安全模块,以确保边缘设备1120接入云端服务器1130以及边缘设备1120与云端服务器1130进行数据交换时的安全性。根据本公开实施例的示例,该安全模块被配置为在多个边缘设备接入云端服务器时采用非对称加密,并且在多个边缘设备与云端服务器进行数据交换时采用对称加密,如上文参照图10具体描述的。根据本公开实施例的示例的用于视频云系统1100的安全模块,能够确保边缘设备接入云端服务器、以及边缘设备与云端服务器进行数据交换时的安全性,从而进一步提高根据本公开实施例的基于视频云的服务提供方法的安全性。利用根据本公开上述实施例的视频云系统,能够实现视频云系统内的设备间的数据共享,对订阅到视频云系统的应用系统进行关联控制;可以通过管理平台对视频云系统内的多个视频设备和多个边缘设备进行统一管理和调度,统一维护和管理视频设备和边缘设备的数据,提供一站式的数据访问服务;此外,通过云端和边端的功能模块布置,可以实现高效的云边协同,支持恶劣网络环境或者云端服务器故障等情况下的有损服务,并且能够通过云端固件中心提供固件云端托管与分发;此外,还通过设置完善的安全机制,确保边缘设备接入云端服务器、以及边缘设备与云端服务器进行数据交换时的安全性。此外,根据本公开实施例的设备(例如,基于视频云的服务提供设备等)也可以借助于图12所示的示例性计算设备的架构来实现。图12示出了根据本公开实施例的示例性计算设备的架构的示意图。如图12所示,计算设备1200可以包括总线1210、一个或多个cpu1220、只读存储器(rom)1230、随机存取存储器(ram)1240、连接到网络的通信端口1250、输入/输出组件1260、硬盘1270等。计算设备1200中的存储设备,例如rom1230或硬盘1270可以存储计算机处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备1200还可以包括用户界面1280。当然,图12所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图12示出的计算设备中的一个或多个组件。本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的基于视频云的服务提供方法。计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。根据本公开的实施例,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机可读指令,处理器执行该计算机可读指令,使得该计算机设备执行上述各个实施例中描述的基于视频云的服务提供方法。本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。此外,如本公开和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。此外,本公开中使用了流程图用来说明根据本公开实施例的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作叠加到这些过程中,或从这些过程移除某一步或数步操作。除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。以上对本公开进行了详细说明,但对于本领域技术人员而言,显然,本公开并非限定于本说明书中说明的实施方式。本公开在不脱离由权利要求书的记载所确定的本公开的宗旨和范围的前提下,可以作为修改和变更方式来实施。因此,本说明书的记载是以示例说明为目的,对本公开而言并非具有任何限制性的意义。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1