掌桥专利:专业的专利平台
掌桥专利
首页

视频存证方法、装置、设备及存储介质

文献发布时间:2024-04-18 20:01:55


视频存证方法、装置、设备及存储介质

技术领域

本申请涉及信息安全技术领域,具体涉及一种视频存证方法、装置、设备及存储介质。

背景技术

视频数据已经成为安全监管部门取证环节中不可或缺的部分,用于存证的视频数据主要由设备部署方的安保部门进行收集管理,很容易出现部署方篡改、删除不利的视频内容导致重要证据丢失的情况。考虑到用于存证的视频数据呈现出数据量大、分布广等特点,集中管理的传输成本、存储代价太大。目前,随着区块链技术的发展,其天然防篡改性虽然可以很好的解决视频数据的安全存储问题,确保存储的视频数据的安全性,但视频数据在采集和存证过程中仍然存在被篡改的风险,导致视频数据在存证过程中的安全性不足。

发明内容

本申请实施例提供一种视频存证方法、装置、设备及存储介质,用以解决现有的视频存证方式在视频数据的采集和存证过程中存在被篡改的风险,导致视频数据存证过程中的安全性不足的技术问题。

第一方面,本申请实施例提供一种视频存证方法,应用于视频存证系统,所述视频存证系统包括区块链、边缘云设备、边缘计算节点和视频采集设备,所述视频存证方法包括:

利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

将所述视频数据和所述摘要信息发送至边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

在一个实施例中,所述对所述交易信息进行存证的步骤,包括:

利用所述区块链从所述交易信息中提取交易的属性信息,将所述属性信息存入所述交易信息的交易类型对应的数据库表中,并计算所述属性信息在所述数据库表中的哈希值;

基于所述哈希值组成新的交易存入所述区块链中,以对所述交易信息进行存证。

在一个实施例中,所述利用所述区块链从所述交易信息中提取交易的属性信息,将所述属性信息存入所述交易信息的交易类型对应的数据库表中的步骤,包括:

当所述交易信息在所述区块链中所在的目标区块到达记账节点时,初始化各交易类型对应的交易信息集合;

通过所述区块链中的记账节点遍历所述目标区块中的各个交易信息,以校验各所述交易信息是否正确;

若所述交易信息正确,利用所述记账节点从所述交易信息中提取交易的属性信息,并基于所述属性信息生成交易记录添加到所述交易信息的交易类型对应的交易信息集合中,以更新初始化后的所述交易信息集合;

当各所述交易信息集合更新完毕时,根据所述交易信息集合对应的目标交易类型,将所述交易信息集合中的交易记录更新到所述目标交易类型对应的数据库表中。

在一个实施例中,所述更新所述数据库表的哈希值,基于更新后的所述哈希值组成新的交易存入所述区块链中进行存证的步骤之后,还包括:

当检测到查询请求时,根据所述查询请求中的查询条件从所述区块链中获取对应的交易数据,其中,所述查询条件包括视频数据的基础信息,所述基础信息包括视频数据生成的时间和视频采集设备的设备编码;

将所述交易数据中的摘要信息与所述查询请求中的摘要信息进行比较,若所述交易数据中的摘要信息与所述查询请求中的摘要信息不一致,则向所述边缘云设备发起原始视频数据的调阅请求;

基于所述调阅请求发起节点签名任务,根据所述节点签名任务获取节点签名;

当所述节点签名的数量超过预设阈值时,返回从所述边缘云设备中调取的原始视频数据。

在一个实施例中,所述视频存证方法还包括:

当检测到查询请求时,从所述区块链中获取所述查询请求对应的第一区块,确定与所述第一区块的版本号对应的目标数据库表;

根据所述目标数据库对应的交易类型的交易编号,从所述第一区块中获取目标交易信息;

确定所述目标交易信息中的哈希值与所述目标数据库表的哈希值是否一致;

若不一致,对所述目标数据库表进行版本回退,将所述第一区块的前一区块作为所述第一区块,返回并执行所述确定与所述第一区块的版本号对应的目标数据库表的步骤,直到所述目标交易信息中的哈希值与所述数据库表的哈希值一致时,将所述第一区块之后的各区块中,与所述目标数据库表对应的交易类型相同的交易信息更新至所述目标数据库表中。

在一个实施例中,所述利用所述视频采集终端采集视频数据,并生成所述视频数据的摘要信息的步骤之前,还包括:

对所述视频采集终端进行注册,以获取所述视频采集终端的设备编码,并根据所述设备编码生成交易信息存储至所述区块链中;

通过所述边缘计算节点监控所述视频采集终端的状态,若所述视频采集终端状态异常,利用所述边缘计算节点生成设备异常的交易信息并广播至所述区块链中,若所述视频采集终端状态正常,基于所述边缘计算节点生成视频数据的采集请求;

根据所述采集请求对所述边缘计算节点进行身份验证,若身份验证通过,则响应所述采集请求,执行所述利用所述视频采集终端采集视频数据的步骤,若身份验证未通过,则返回无数据采集权限的提示信息。

在一个实施例中,所述区块链中的区块包括区块头和区块体,其中,所述区块体中存储的信息包括所述交易信息中的交易数据,所述区块头中存储的信息包括前一区块的哈希值和所述交易数据在所述区块体中的哈希值,所述交易数据和所述哈希值包含于所述交易信息。

第二方面,本申请实施例提供一种视频存证装置,包括:

数据采集模块,用于利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

第一验证模块,用于将所述视频数据和所述摘要信息发送至所述边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

第二验证模块,用于若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

交易生成模块,用于若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

存证模块,将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的视频存证方法的步骤。

第四方面,本申请实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的视频存证方法的步骤。

本申请实施例提供的视频存证方法、装置、设备及存储介质,通过视频采集设备采集视频数据,并生成视频数据的摘要信息,将视频数据和摘要信息依次发送到边缘计算节点和边缘云设备中,以供边缘计算节点和边缘云设备根据摘要信息验证视频数据的完整性,若验证通过,基于视频数据和摘要信息生成交易信息广播至区块链中进行验证,若在区块链中验证通过,则对包含视频数据的交易信息进行存证。基于采集的原始视频数据及其摘要信息,在传输过程中对视频数据进行两轮完整性验证,确保了视频采集设备采集的视频数据在传输过程中的一致性,通过传输过程中的一致性确保采集的原始视频数据在存证过程中没有被篡改,保证了用于存证的视频数据的真实性,从而提高了视频数据存证过程中的安全性。

附图说明

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

图1是本申请实施例提供的视频存证方法的流程示意图之一;

图2是本申请实施例提供的视频存证系统的结构示意图之一;

图3是本申请实施例提供的视频存证方法中的区块结构示意图之一;

图4是本申请实施例提供的视频存证装置的结构示意图之一;

图5是本申请实施例提供的电子设备的结构示意图。

具体实施方式

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

图1为本申请实施例提供的视频存证方法的流程示意图之一。参照图1,本申请实施例提供的视频存证方法,可以包括:

步骤100,利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

本申请提供的视频存证方法应用于视频存证系统,该系统包括区块链、边缘云设备、边缘计算节点和视频采集设备,参照图2,图2为本实施例提供的视频存证系统的结构示意图之一,在图2中,视频存证系统(以下简称系统)包括若干视频采集设备、多个边缘计算节点,每个边缘计算节点与一个或多个视频采集设备连接,各边缘计算节点分别与边缘云设备和区块链连接交互,区块链中包括多个相互交互的区块节点,边缘云设备与区块链连接交互,实现视频数据的存储、存证和取证。本实施例提供的视频存证系统采用如图2所示的拓扑结构,可以适应视频数据位置分散的特点。其中,视频采集设备主要用于采集视频数据,可以将采集的视频数据存储至本地;边缘计算节点利用部署的智能合约获取视频采集设备采集的视频数据并缓存,同时将获取的视频数据上传至边缘云设备中;边缘云设备用于存储来自多个边缘计算节点上传的视频数据,而且用户只能通过智能合约的方式访问边缘云设备中的数据;区块链用于存储视频数据信息的摘要,部署的智能合约,以及智能合约的执行结果等。图2所示的系统中,边缘计算节点、区块链节点以及视频采集设备等均为数量可变节点,具体数量可以根据实际需要进行设置。

视频数据在采集过程中的安全是视频存证的基础,只有采集的数据是真实可靠的,后续的取证也才能是可靠的,基于图2所示的系统结构,本申请实施例提供的视频存证方法,可以提高视频数据采集和存证过程中的安全性。具体地,系统利用各个视频采集设备采集用于存证的视频数据,并生成该视频数据的摘要信息。其中,视频数据的摘要信息是根据预设算法生成的,该预设算法包括基于密码学的SHA(Secure Hash Algorithm,安全散列算法)算法,以下以SHA-256算法生成视频数据的摘要信息为例进行说明。

步骤200,将所述视频数据和所述摘要信息发送至边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

将视频采集设备采集的视频数据,以及视频数据的摘要信息发送至对应的边缘计算节点中,边缘计算节点接收视频数据和摘要信息并缓存,利用边缘计算节点对视频数据的完整性进行验证。具体地,采用与生成摘要信息相同的算法,即SHA-256算法,重新生成视频数据的摘要信息,将新生成的摘要信息与接收到的摘要信息进行对比,确认摘要信息是否一致,若一致,则视频数据是完整的,完整性验证通过,若不一致,则视频数据是不完整的,完整性验证不通过。若对视频数据的完整性验证不通过,则向上一节点即视频采集设备发起视频数据采集请求,以触发重新上传该时间段内的视频数据和摘要信息的指令,然后根据接收到的视频数据的摘要信息重新验证视频数据的完整性,直到验证通过为止。验证视频数据的完整性实际上是验证视频数据的真实性,检测视频数据是否被篡改或删减,以确保边缘计算节点接收到的视频数据是采集的原始视频数据。

步骤300,若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

步骤400,若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

步骤500,将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

若边缘计算节点对视频数据的完整性验证通过,则将视频数据和摘要信息发送至边缘云设备中,边缘云设备接收视频数据和摘要信息,利用边缘云设备对视频数据的完整性再次进行验证,具体地,边缘云设备中部署的合约根据边缘云设备接收的视频数据和摘要信息,对视频数据的完整性进行验证,验证方法可以与边缘计算节点相同,在此不再赘述。若边缘云设备验证通过,将视频数据和摘要信息保存到边缘云设备中,并基于边缘计算节点中缓存的视频数据和摘要信息,通过边缘计算节点生成交易信息,将交易信息广播至区块链中,以供区块链进行验证。在区块链中的验证包括区块链接收到的视频数据的完整性的验证,以及根据接收到的交易信息,对视频采集设备采集的视频数据、边缘计算节点中缓存的视频数据、边缘云设备中保存的视频数据与交易信息中的交易数据进行一致性验证,确保区块链中用于存证的交易数据即视频数据的真实性。若区块链验证通过,则将视频数据的交易信息存入区块中进行上链保存,对包含视频数据交易信息进行存证,从而完成对视频数据的存证,其中,视频数据为交易信息中的交易数据。

在本实施例中,通过视频采集设备采集视频数据,并生成视频数据的摘要信息,将视频数据和摘要信息依次发送到边缘计算节点和边缘云设备中,以供边缘计算节点和边缘云设备根据摘要信息验证视频数据的完整性,若验证通过,基于视频数据和摘要信息生成交易信息广播至区块链中进行验证,若在区块链中验证通过,则对包含视频数据的交易信息进行存证。基于采集的原始视频数据及其摘要信息,在传输过程中对视频数据进行两轮完整性验证,确保了视频采集设备采集的原始视频数据现在传输过程中的一致性,即确保了视频采集设备采集的视频数据、边缘计算节点缓存的视频数据和边缘云设备中的视频数据的一致性。通过传输过程中的一致性保证了采集的原始视频数据在传输过程中没有被篡改,确保了用于存证的视频数据与采集的原始视频数据的一致性,保证了用于存证的视频数据的真实性,从而提高了视频数据在存证过程中的安全性。

进一步地,步骤100之前,还可以包括:

步骤001,对所述视频采集终端进行注册,以获取所述视频采集终端的设备编码,并根据所述设备编码生成交易信息存储至所述区块链中;

步骤002,通过所述边缘计算节点监控所述视频采集终端的状态,若所述视频采集终端状态异常,利用所述边缘计算节点生成设备异常的交易信息并广播至所述区块链中,若所述视频采集终端状态正常,基于所述边缘计算节点生成视频数据的采集请求;

步骤003,根据所述采集请求对所述边缘计算节点进行身份验证,若身份验证通过,则响应所述采集请求,执行所述利用所述视频采集终端采集视频数据的步骤,若身份验证未通过,则返回无数据采集权限的提示信息。

视频采集设备接入系统时,需要进行注册,注册成功后,可以获取到视频采集设备的唯一设备编码,基于该设备编码,结合视频采集设备的其他信息,生成交易信息存储至区块链中。在各视频采集设备接入系统时,将视频采集设备的所有信息组成一条交易存储至区块链中,确保视频数据来源的合法性。

通过边缘计算节点监控视频采集设备的状态,若视频采集设备的状态异常,则将异常信息作为一条交易,广播至区块链中存储。若视频采集设备的状态正常,根据边缘计算节点中部署的智能合约,生成视频数据的采集请求。基于该采集请求对边缘计算节点进行身份验证,如身份验证未通过,返回无数据采集权限的提示信息,该提示信息例如“身份异常,没有数据采集权限”等。若身份验证通过,则响应数据采集请求,进行视频数据采集,具体地,按照边缘计算节点中的合约设定的时间,通过视频采集设备采集视频数据,并生成摘要信息,每隔预设时长将采集的视频数据和生成的摘要信息发送至边缘计算节点中进行缓存和验证。若边缘计算节点或边缘云设备对视频数据的完整性验证未通过,则通过边缘计算节点重新发起视频数据的采集请求,通过视频采集设备重新上传视频数据和摘要信息。采用智能合约的方式自动的进行视频数据的采集,可以减少人为干预,确保视频数据在采集和备份至边缘云设备过程中的安全性。

进一步地,由于需要明确参与者的身份,以联盟链作为视频存证系统区块链的底层链为例,区块链主要负责对边缘计算节点上传的设备信息、视频数据和智能合约执行结果等交易信息进行排序、打包、验证和上链等。在将视频数据和摘要信息的交易信息广播至区块链中后,需要通过区块链对交易信息进行交易验证,该验证过程为联盟链的交易处理流程,在此不再赘述。若区块链的交易验证通过,则表示视频数据存证成功,删除边缘计算节点中缓存的已通过交易验证的视频数和摘要信息;若区块链的交易验证未通过,通过边缘计算节点重新发起视频数据采集请求。

进一步地,在本实施例中,通过边缘计算节点,对各视频采集设备进行注册和状态监控,并将各视频采集设备的信息和异常状态广播至区块链中,确保了视频数据来源的合法性,提高了视频数据在采集过程中的安全性,从源头处保证了视频数据的真实性和安全性。

在一个实施例中,步骤500中,对视频数据进行存证,具体包括:

步骤501,利用所述区块链从所述交易信息中提取交易的属性信息,将所述属性信息存入所述交易信息的交易类型对应的数据库表中,并更新所述数据库表的哈希值;

步骤502,基于所述哈希值组成新的交易存入所述区块链中,以对所述交易信息进行存证。

在对视频数据进行存证时,系统通过边缘计算节点基于视频数据和摘要信息生成对应的交易信息,并将交易信息发送至区块链中,等待区块链进行验证,若区块链验证通过,则对交易信息进行上链,保存到区块中。利用区块链从交易信息中提取该交易的属性信息,将提取的属性信息存入对应的数据库表中,然后计算属性信息在数据库表中的哈希值,将计算出的属性信息的哈希值存入区块链中,以对视频数据进行存证。具体地,根据视频数据对应的交易信息的交易类型,确定对应的数据库表,不同类型的交易信息对应不同的数据库表,将从交易信息中提取的属性信息存入对应的数据库表中,并计算存入的属性信息在数据库表中的哈希值,基于计算出的哈希值对数据库表的哈希值进行更新,基于数据库表更新后的哈希值生成新的交易信息存入区块链中,从而完成对交易信息的存证。

可知地,区块链属于仅追加的链式结构,在进行数据的查询时,需要从最新区块开始对交易信息进行重放,这大大降低了查询的效率,同时,不支持范围查询或联合查询等复杂查询。在本申请提供的视频存证方法中,根据不同的交易类型设计了不同类型的关系数据库表,通过属性提取的方法将交易信息的属性信息提取出来存入相对应的表中,根据区块链中存储的交易信息的特点,采用关系数据库来对交易信息进行存储,不仅可以提高查询效率,还可以支持复杂的查询方式,方便后续的视频数据查询和取证。

进一步地,根据视频数据的特性,对联盟链的区块结构进行了改进,参照图3,图3为本实施例提供的视频存证方法的区块结构示意图之一,在图3中,区块链的区块结构包括区块头和区块体,其中,区块头中存储的信息主要包括前一区块的哈希值、交易数据在区块体中的哈希值、版本号和时间戳,区块体中存储的信息主要包括交易数据,图3所示的区块结构中的交易数据采用Merkle树(默克尔树)进行组织,便于对后续的交易进行验证,区块头存储的交易数据在区块体中的哈希值,即为Merkle树根的Hash值。交易数据及其在区块体中的哈希值包含于交易信息中,即区块头和区块体中存储的信息,组成交易信息存储到区块链中实现对视频数据的存证。其中,交易数据包括不同交易类型的交易的属性信息,交易类型主要包括视频数据、设备信息、异常信息和表信息,交易类型为视频数据的交易,主要用于视频数据的存证;交易类型为设备信息的交易,主要用于视频采集设备的注册和设备信息的存储;交易类型为异常信息的交易,主要用于存储边缘计算节点广播的状态异常的视频采集设备的信息;交易类型为表信息的交易,主要用于存储各交易类型对应的关系数据库表的信息。图3给出了部分交易类型的属性字段,交易类型为视频数据的交易,其属性信息主要包括交易编号、采集视频数据的设备编号及位置、视频数据采集的起止时间、视频摘要和时间戳;交易类型为设备信息的交易,其属性信息主要包括交易编号、设备编号及位置、设备的注册时间和设备类型,其中,交易编号即交易ID,是根据每笔交易的大小、时间、类型中的至少一项进行计算得到的字符,相当于每笔交易的身份证明(ID),具有唯一性和不可更改性,可用于区分不同的交易;交易类型为异常信息的交易,其属性信息主要包括交易编号、状态异常的设备编号、异常类型、异常时间和恢复时间;交易类型为表信息的交易,其属性信息主要包括交易编号、表名、表摘要、异常时间和恢复时间。可以理解的是,还可以包括其他交易类型,各类型交易的属性信息为可配置信息,用户可以根据实际的业务需求对区块中的交易类型、各类型交易的属性信息的字段及结构进行设置。

进一步地,步骤501中,利用区块链从视频数据的交易信息中提取交易的属性信息,并将提取的属性信息存入交易信息的交易类型对应的数据库表中,具体包括:

步骤5011,当所述交易信息在所述区块链中所在的目标区块到达记账节点时,初始化各交易类型对应的交易信息集合;

步骤5012,通过所述区块链中的记账节点遍历所述目标区块中的各个交易信息,以校验各所述交易信息是否正确;

步骤5013,若所述交易信息正确,利用所述记账节点从所述交易信息中提取交易的属性信息,并基于所述属性信息生成交易记录添加到所述交易信息的交易类型对应的交易信息集合中,以更新初始化后的所述交易信息集合;

步骤5014,当各所述交易信息集合更新完毕时,根据所述交易信息集合对应的目标交易类型,将所述交易信息集合中的交易记录更新到所述目标交易类型对应的数据库表中。

根据联盟链中的交易处理流程,当新的区块到达记账节点时,在更新账本前会对区块中所有的交易信息进行验证。在此过程中,记账节点会遍历区块中所有的交易信息,将通过验证的交易信息写入账本中存储。具体地,当需要存证的视频数据的交易信息所在的目标区块到达记账节点时,初始化各交易类型对应的交易信息集合,该交易信息集合包括视频数据集合、设备信息集合和异常信息集合等,以初始化视频数据集合A、设备信息集合B和异常信息集合C为例,逐条遍历目标区块中的各个交易,以校验各交易的交易信息是否正确,其中包含待存证的视频数据的交易信息。若交易信息不正确,则将对应的交易标记为不合法交易,若交易信息正确,则通过交易验证,对通过交易验证的交易,从其交易信息中提取属性信息组成一条交易记录,并添加到对应的交易信息集合中,以对初始化后的各个交易信息集合进行更新。待所有的交易信息集合更新完毕时,将各交易信息集合中的交易记录相关数据更新到对应的数据库表中,重新计算各数据库表更新后的哈希值,并组成一条新的交易,广播至区块链中,执行联盟链的交易处理流程进行存证。

可知地,一个区块中一般包含多条交易,在视频存证系统中,一个区块中可能包含视频数据、设备信息、异常信息和表信息等不同类型的交易的交易信息。以图3所示的交易数据为例,当待存证的视频数据所在的目标区块到达记账节点时,初始化视频信息集合A,设备信息集合B,异常信息集合C等不同交易类型对应的交易信息集合,逐条遍历目标区块中的所有交易,校验各交易的交易信息是否正确。在对目标区块中的交易进行校验和属性提取时,可以是先对所有交易的交易信息进行校验,然后对于验证通过的交易,逐条提取其交易信息中的属性信息生成交易记录,更新到对应的交易信息集合中。也可以是通过遍历逐条校验各交易的交易信息,具体地,以遍历的方式获取一条交易并对当前的交易进行校验,若验证不通过,则将当前的交易标记为不合法交易,然后继续获取下一条交易进行校验;若验证通过,则从当前交易的交易信息中提取属性信息生成交易记录,并添加到该交易对应的交易信息集合中,然后获取下一条交易进行校验,在此不做具体限定。

在从交易信息中提取属性信息时,首先根据交易数据中的交易类型,确定要提取的属性信息的字段,以待存证的视频数据为例,提取其交易信息中交易类型的字段值x为“视频数据”,则可以确定其交易类型为视频数据交易,基于图3中所示出的交易数据,需要提取的属性信息的字段包括交易编号、设备编号、设备位置、起始时间、结束时间、视频摘要和时间戳,提取该字段下的信息得到属性信息,将提取的属性信息组成一条交易记录t,添加到x对应的交易信息集合,即视频数据集合A中,对视频数据集合A进行更新。按照此方式,将待存证的视频数据所在的目标区块中的各个交易的交易信息,逐条更新到对应的集合A、B或C中,待集合A、B、C等都更新完毕时,将集合A、B、C中的数据分别更新到对应的数据库表中,例如,将视频数据集合A中的数据更新到视频数据的数据库表中,该视频数据的数据库表对应的交易类型为视频数据交易。然后重新计算更新后的各数据库表的哈希值,基于各数据库表新生成的哈希值组成一条新的交易y,并广播至区块链中进行存证,该交易y的交易类型为表信息交易。其中,各交易信息集合更新完毕的标志,可以是目标区块中的各个交易处理完毕,也可以是交易信息集合中的数据量达到设定阈值,将各交易信息集合中的数据更新到对应的数据库表中时,可以是同步更新,也可以是异步更新,在此同样不做限定。

将区块链上的数据经过处理重新存储至数据库表中,就可以直接按照关系数据库提供的API(Application Programming Interface,应用程序编程接口)接口进行数据查询,极大的提高了数据的查询速度。

在本实施例中,基于改进的区块结构,对交易信息进行属性提取,将交易信息重新存储至关系数据库表中,通过对区块链上的数据进行处理重新存储至数据库表中,提高了数据的查询速度。

在一个实施例中,由视频采集设备的部署方提供的视频数据没有通过区块链的校验时,安全监管机构可以访问存储在边缘云设备中的原始视频数据。安全监管机构在访问边缘云设备中的原始视频数据时,可以通过智能合约的方式获取原始视频数据,其访问记录也会存入区块链中。基于此,步骤502之后,还包括:

步骤510,当检测到查询请求时,根据所述查询请求中的查询条件从所述区块链中获取对应的交易数据,其中,所述查询条件包括视频数据的基础信息,所述基础信息包括视频数据生成的时间和视频采集设备的设备编码;

步骤520,将所述交易数据中的摘要信息与所述查询请求中的摘要信息进行比较,若所述交易数据中的摘要信息与所述查询请求中的摘要信息不一致,则向所述边缘云设备发起原始视频数据的调阅请求;

步骤530,基于所述调阅请求发起节点签名任务,根据所述节点签名任务获取节点签名;

步骤540,当所述节点签名的数量超过预设阈值时,返回从所述边缘云设备中调取的原始视频数据。

当用户取得某段视频数据的基础信息和摘要信息时,可以将该基础信息作为查询条件,向区块链发起查询请求。当检测到查询请求时,根据该查询请求中的查询条件从区块链中获取对应的交易数据,其中,查询条件包括视频数据的基础信息,基础信息包括视频数据的产生时间、用于采集视频数据的视频采集设备的设备编码中的至少一项。

比较获取的交易数据的视频数据的摘要信息,与查询条件中的视频数据的摘要信息,若二者一致,则视频数据的真实性验证通过,说明用户取得的视频数据为真实数据,验证结束。若交易数据的视频数的摘要信息与查询条件中的视频数据的摘要信息不一致,则说明用户取得的视频数据不是真实数据,存在伪造。此时,基于部署的智能合约向边缘云设备发起原始视频数据的调阅请求,基于该调阅请求,以及边缘云设备中部署的智能合约,发起随机收集节点签名的任务,在设定的时间内等待,若在该设定的等待时长内获取到的节点签名的数量超过预设阈值,向用户返回从边缘云设备中获取的原始视频数据。其中,智能合约是针对视频存证需求设计的视频存证和视频真实性验证合约,智能合约以代码的形式能够自动执行任务,减少人为因素的干扰,确保视频数据的隐私和安全性。

进一步地,考虑到关系数据库的数据可能存在被篡改的问题,对于数据库表中的数据设置了校验机制,即对每个新产生的区块进行处理后,更新后的数据库表都会生成哈希值组成新的交易存储至区块链上。因此,在数据查询前,可以校验区块链节点中存储的数据库表的哈希值是否与区块链中的哈希值一致,如果一致,则说明数据库表中的数据是真实可靠的,可以直接用于查询;如果不一致,则需要对数据库表进行更新。现有的视频存证方法,只能检查视频数据是否被篡改,而对于被篡改的视频数据,难以获取被篡改前的原始视频数据,因此造成取证困难。基于此,本申请提供的视频存证方法采用回退机制,在校验并更新数据库表时,对被篡改或删除的视频数据采用版本回退的方式,在数据库表中的数据被篡改的情况下,快速的对数据库表中的数据进行恢复。对数据库表进行校验和恢复的步骤,具体包括:

步骤601,当检测到查询请求时,从所述区块链中获取所述查询请求对应的第一区块,确定与所述第一区块的版本号对应的目标数据库表;

步骤602,根据所述目标数据库对应的交易类型的交易编号,从所述第一区块中获取目标交易信息;

步骤603,确定所述目标交易信息中的哈希值与所述目标数据库表的哈希值是否一致;

步骤604,若不一致,对所述目标数据库表和所述第一区块进行回退,将所述第一区块的前一区块作为所述第一区块,返回并执行所述确定与所述第一区块的版本号对应的目标数据库表的步骤,直到所述目标交易信息中的哈希值与所述目标数据库表的哈希值一致时,将所述第一区块之后的各区块中,与所述目标数据库表对应的交易类型相同的交易信息更新至所述目标数据库表中。

当用户需要查询视频数据时,首先要通过区块链验证,从区块链中获取与用户查询请求对应的第一区块,获取该第一区块的版本号n,以及该版本号对应的目标数据库表,可知地,每个新的区块都会产生一个新的版本号,且在对新产生的区块进行处理,更新各数据库表后,数据库表的版本号也随之更新,因此,数据库表基于新产生的区块更新后的版本号与新的区块的版本号是一致的。根据目标数据库对应的交易类型的交易编号,从第一区块中获取该交易编号下的目标交易信息,该目标交易信息的交易类型与目标数据库表相对应,其中,交易信息的交易编号根据交易类型确定,不同类型的交易信息具有不同的交易编号,同一类型的交易信息的交易编号相同。确定获取的目标交易信息中存储的哈希值,与目标数据库表的哈希值是否一致,若一致,则说明目标数据库表中的数据是真实,若不一致,则需要通过回退机制对目标数据库表中的数据进行重构,以恢复目标数据库表中的真实数据。具体地,将第一区块的前一区块作为第一区块,重新获取该第一区块的版本号,以及该版本号对应的目标数据库表。获取版本号对应的目标数据库表,实际上,是获取不同版本下的目标数据库表,从而对目标数据库表进行版本回退,直到目标数据库表中的哈希值与第一区块的交易信息中的哈希值一致时,将第一区块之前的各个区块中的交易信息重新更新到目标数据库表中,从而可以在数据库表中的数据被篡改的情况下,通过重构数据库表中的数据,快速对数据库表中的数据进行恢复,然后重新进行查询。

以更新某数据库表a为例,详细说明利用回退机制对数据库表中被篡改的数据进行恢复的过程。基于检测到的查询请求,区块链中当前用于校验的第一区块中存储的版本号为n(n为大于0的正整数),第一区块中保存的版本号一般与第一区块的区块高度相同,因此,每产生一个新的区块,新产生的区块的区块高度决定了其保存的版本号,以及对应的数据库表的版本号都会发生变化。相对应地,表a的版本号也为n,根据表a对应的交易类型的交易编号,从第一区块中获取该交易编号下的各交易的目标交易信息。然后比较目标交易信息中的哈希值与表a的哈希值是否一致,若不一致,则将表a回退至版本n-1,将第一区块到的前一区块,即区块高度为n-1的区块作为第一区块,继续比较表a在n-1版本下的哈希值,与区块高度为n-1的第一区块的哈希值是否一致,若一致,则停止回退,只需要将区块n中,与表a对应的交易类型相同的交易信息更新到表a中;若不一致,则继续回退至表a的n-2版本进行哈希值的比较,直到表a在某一版本p的哈希值,与区块高度为p的区块中存储的哈希值一致为止,则停止回退,将区块p之后的各个区块中,与表a对应的交易类型相同的交易信息更新至表a中,完成对表a中,被篡改数据的重构,实现对表a数据的恢复。

在本实施例中,基于部署的智能合约,查询数据库表中的数据,对用户取得的视频数据的真实性进行验证,并在验证不通过时,即用户取得的视频数据为伪造数据时,向用户返回从边缘云设备中调取的原始视频数据,确保了用户取得的视频数据的真实性。

进一步地,在进行数据查询之前,基于区块链中存储的数据对数据库表中的数据进行校验,防止数据库表中的数据被篡改,当数据库表中的数被篡改时,通过版本回退机制,重构数据库表中的数据,以确保数据库表中数据的真实性。

基于上述各实施例,本申请提供的视频存证方法,结合区块链和边缘计算来解决现有视频存证方法存在问题,具体地,通过两轮验证的方式,确保视频采集设备终端、边缘计算节点和边缘云设备中存储的视频数据完全一致,利用边缘计算提升了对视频数据的处理效率;利用关系数据库来重新存储交易数据,加快区块链上的查询速度,并支持更多的查询类型;并且在数据库表中的数据被篡改的情况下,通过版本回退机制,重构数据库表中的数据,快速恢复数据库表;基于区块链对用户取得的数据的真实性进行校验,在校验不通过,即视频数据被篡改或删除的情况下,从边缘云设备中获取真实的原始视频数据,确保用户取得的视频数据的真实性,提高了取证安全性;整个视频存证流程的关键部分,都基于部署的智能合约实现,减少了人为因素的干扰,保证了视频数据采集、存证和取证过程中的安全性。

下面对本申请实施例提供的视频存证装置进行描述,下文描述的视频存证装置与上文描述的视频存证方法可相互对应参照。

参照图4,本申请实施例提供的视频存证装置,包括:

数据采集模块10,用于利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

第一验证模块20,用于将所述视频数据和所述摘要信息发送至所述边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

第二验证模块30,用于若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

交易生成模块40,用于若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

存证模块50,用于将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

在一个实施例中,所述存证模块50,还用于:

利用所述区块链从所述交易信息中提取交易的属性信息,将所述属性信息存入所述交易信息的交易类型对应的数据库表中,并计算所述属性信息在所述数据库表的哈希值;

基于所述哈希值组成新的交易存入所述区块链中,以对所述交易信息进行存证。

在一个实施例中,所述存证模块50,还用于:

当所述交易信息在所述区块链中所在的目标区块到达记账节点时,初始化各交易类型对应的交易信息集合;

通过所述区块链中的记账节点遍历所述目标区块中的各个交易信息,以校验各所述交易信息是否正确;

若所述交易信息正确,利用所述记账节点从所述交易信息中提取交易的属性信息,并基于所述属性信息生成交易记录添加到所述交易信息的交易类型对应的交易信息集合中,以更新初始化后的所述交易信息集合;

当各所述交易信息集合更新完毕时,根据所述交易信息集合对应的目标交易类型,将所述交易信息集合中的交易记录更新到所述目标交易类型对应的数据库表中。

在一个实施例中,所述视频存证装置还包括查询取证模块,用于:

当检测到查询请求时,根据所述查询请求中的查询条件从所述区块链中获取对应的交易数据,其中,所述查询条件包括视频数据的基础信息,所述基础信息包括视频数据生成的时间和视频采集设备的设备编码;

将所述交易数据中的摘要信息与所述查询请求中的摘要信息进行比较,若所述交易数据中的摘要信息与所述查询请求中的摘要信息不一致,则向所述边缘云设备发起原始视频数据的调阅请求;

基于所述调阅请求发起节点签名任务,根据所述节点签名任务获取节点签名;

当所述节点签名的数量超过预设阈值时,返回从所述边缘云设备中调取的原始视频数据。

在一个实施例中,所述视频存证装置还包括数据重构模块,用于:

当检测到查询请求时,从所述区块链中获取所述查询请求对应的第一区块,确定与所述第一区块的版本号对应的目标数据库表;

根据所述目标数据库对应的交易类型的交易编号,从所述第一区块中获取目标交易信息;

确定所述目标交易信息中的哈希值与所述目标数据库表的哈希值是否一致;

若不一致,对所述目标数据库表进行版本回退,将所述第一区块的前一区块作为所述第一区块,返回并执行所述确定与所述第一区块的版本号对应的目标数据库表的步骤,直到所述目标交易信息中的哈希值与所述数据库表的哈希值一致时,将所述第一区块之后的各区块中,与所述目标数据库表对应的交易类型相同的交易信息更新至所述目标数据库表中。

在一个实施例中,所述视频存证装置还包括身份认证模块,用于:

对所述视频采集终端进行注册,以获取所述视频采集终端的设备编码,并根据所述设备编码生成交易信息存储至所述区块链中;

通过所述边缘计算节点监控所述视频采集终端的状态,若所述视频采集终端状态异常,利用所述边缘计算节点生成设备异常的交易信息并广播至所述区块链中,若所述视频采集终端状态正常,基于所述边缘计算节点生成视频数据的采集请求;

根据所述采集请求对所述边缘计算节点进行身份验证,若身份验证通过,则响应所述采集请求,执行所述利用所述视频采集终端采集视频数据的步骤,若身份验证未通过,则返回无数据采集权限的提示信息。

在一个实施例中,所述区块链中的区块包括区块头和区块体,其中,所述区块体中存储的信息包括所述交易信息中的交易数据,所述区块头中存储的信息包括前一区块的哈希值和所述交易数据在所述区块体中的哈希值,所述交易数据和所述哈希值包含于所述交易信息。

图5例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communication Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的计算机程序,以执行视频存证方法的步骤,例如包括:

利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

将所述视频数据和所述摘要信息发送至所述边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的视频存证方法的步骤,例如包括:

利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

将所述视频数据和所述摘要信息发送至所述边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:

利用所述视频采集设备采集视频数据,并生成所述视频数据的摘要信息;

将所述视频数据和所述摘要信息发送至所述边缘计算节点中,以供所述边缘计算节点根据所述摘要信息验证所述视频数据的完整性;

若所述边缘计算节点验证通过,将所述视频数据和所述摘要信息发送至所述边缘云设备中,以供所述边缘云设备根据所述摘要信息验证所述视频数据的完整性;

若所述边缘云设备验证通过,通过所述边缘计算节点基于所述视频数据和所述摘要信息生成交易信息;

将所述交易信息广播至所述区块链中进行验证,若在所述区块链中验证通过,则对所述交易信息进行存证,其中,所述交易信息包含所述视频数据。

所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种柔性加筋体提高根部掏蚀夯土遗址抗震性的方法
  • 一种柔性加筋体提高根部掏蚀夯土遗址抗震性的方法
技术分类

06120116574306