基于区块链的存证方法、装置、系统、设备及存储介质与流程

文档序号:30949378发布日期:2022-07-30 06:48阅读:157来源:国知局
基于区块链的存证方法、装置、系统、设备及存储介质与流程

1.本技术涉及区块链技术领域,尤其涉及一种基于区块链的存证方法、装置、系统、设备及存储介质。


背景技术:

2.随着区块链技术的发展,应用区块链技术进行防伪存证的落地方案越来越普遍,尤其是在互联网电商时代,用户需要经过下单、商家发货、物流运输,最后才能到达用户手中,应用区块链技术在用户购物的各个环节进行区块链追朔,从而保证购物环节中用户商品不被调换,若出现损坏,或用户对收到的商品不满意需要进行维权时,也能通过区块链技术追朔到问题出现的位置及责任人,避免取证困难的情况。
3.目前,相关技术中,用户下单后对商品打上防伪码,通过在发货、物流运输的各个环节由商家、快递员等参与人员扫描防伪码来将商品的信息、位置、运输路径等上传至区块链中保存,从而完成对商品流转过程中信息的保存,同时方便追朔。然而,仅靠防伪码来进行区块链存证具有假证风险,不法分子将物码分离后对商品实施违法操作再将物码绑定后依然能顺利进行货运流程,因此在电商物流领域如何进行数据存证仍是一个亟需解决的问题。
4.针对在电商物流领域如何进行数据存证的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供了一种基于区块链的存证方法、装置、系统、设备及存储介质,以解决背景技术中提及的在电商物流领域如何进行数据存证的技术问题。
6.根据本技术实施例的一个方面,本技术提供了一种基于区块链的存证方法,包括:
7.获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录;
8.提取视频序列中每一帧的图像特征;
9.在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。
10.可选地,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络之前,该方法还包括按照如下方式确定视频序列的目标哈希值:
11.在接收到对第一视频的第一确认操作的情况下,确定第一视频的第一哈希值,第一视频和第一确认操作为目标资源的资源发送对象上传的,视频序列包括第一视频,目标哈希值包括第一哈希值;
12.在接收到对第二视频的第二确认操作的情况下,确定第二视频的第二哈希值,第二视频和第二确认操作为目标资源的资源运输对象上传的,视频序列包括第二视频,目标哈希值包括第二哈希值;
13.在接收到对第三视频的第三确认操作的情况下,确定第三视频的第三哈希值,第三视频和第三确认操作为目标资源的资源接收对象上传的,视频序列包括第三视频,目标哈希值包括第三哈希值。
14.可选地,在确定视频序列的目标哈希值之后,该方法还包括按照如下方式确定区块链网络中是否已经存在视频序列:
15.遍历存证系统素材库中保存的哈希值,并将各个哈希值与目标哈希值进行异或运算,以确定目标哈希值与存证系统素材库中保存的各个哈希值之间的汉明距离,存证系统素材库中保存的数据为已经在区块链网络中存证的数据;
16.在存在汉明距离的值在目标数值范围内的情况下,确定区块链网络中已存在视频序列。
17.可选地,确定区块链网络中是否已经存在视频序列还包括:
18.逐帧确定视频序列的第一感知哈希值,包括:将第一目标帧缩小为第一尺寸,第一目标帧为视频序列中的图像帧;将缩小尺寸后的第一目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第一目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第一变换结果,并确定第一变换结果的第一平均值;将第一变换结果中,大于等于第一平均值的数值用第一数值替换,将小于第一平均值的数值用第二数值替换;将替换数值后的第一变换结果按照目标顺序进行排列,得到第一感知哈希值;
19.提取存证系统素材库中保存的已存证视频,并逐帧确定已存证视频的第二感知哈希值,包括:将第二目标帧缩小为第一尺寸,第二目标帧为已存证视频中的图像帧;将缩小尺寸后的第二目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第二目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第二变换结果,并确定第二变换结果的第二平均值;将第二变换结果中,大于等于第二平均值的数值用第一数值替换,将小于第二平均值的数值用第二数值替换;将替换数值后的第二变换结果按照目标顺序进行排列,得到第二感知哈希值;
20.确定第一感知哈希值和第二感知哈希值之间对应位相同数值的个数;
21.在对应位相同数值的个数大于或等于目标个数的情况下,确定区块链网络中已存在视频序列。
22.可选地,确定区块链网络中是否已经存在视频序列还包括:
23.确定视频序列中第一目标帧的平均值、方差,确定已存证视频中第二目标帧的平均值、方差,并确定第一目标帧和第二目标帧之间的协方差;
24.利用第一目标帧的平均值、第二目标帧的平均值确定第一目标帧和第二目标帧之间的亮度相似度;
25.利用第一目标帧的方差、第二目标帧的方差确定第一目标帧和第二目标帧之间的对比度相似度;
26.利用第一目标帧和第二目标帧之间的协方差确定第一目标帧和第二目标帧之间的结构相似度;
27.利用亮度相似度、对比度相似度及结构相似度确定第一目标帧和第二目标帧之间的全局相似度;
28.在全局相似度大于或等于目标阈值时,确定区块链网络中已存在视频序列。
29.可选地,完成数据存证之后,该方法还包括:
30.在接收到对目标资源的维权请求的情况下,获取与目标资源关联的资源交换标识;
31.从区块链网络中提取与资源交换标识匹配的第三视频作为第一存证数据,从区块链网络中提取与资源交换标识匹配的第一视频和第二视频中的至少一种作为第二存证数据;
32.确定第一存证数据和第二存证数据之间的相似度;
33.在相似度满足目标条件的情况下,确定维权通过。
34.根据本技术实施例的另一方面,本技术提供了一种基于区块链的存证装置,包括:
35.数据获取模块,用于获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录;
36.特征提取模块,用于提取视频序列中每一帧的图像特征;
37.特征比对及存证模块,用于在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。
38.根据本技术实施例的又一方面,本技术提供了一种基于区块链的存证系统,包括:
39.至少一个数据采集设备,用于采集对目标资源进行操作的视频序列;
40.服务器,用于提取视频序列中每一帧的图像特征,并在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络中存证,以及,在接收到对目标资源的维权请求时,从区块链网络中提取与目标资源相关联的存证数据,以确定维权请求是否通过;
41.区块链网络,用于生成数据区块以对视频序列和资源交换标识进行存证,数据区块中保存有对视频序列进行哈希计算得到的哈希值。
42.根据本技术实施例的又一方面,本技术提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
43.根据本技术实施例的又一方面,本技术还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
44.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
45.本技术技术方案为获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录;提取视频序列中每一帧的图像特征;在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。本技术通过将对目标资源的操作记录用视频记录下来,对视频进行特征识别,在确认该视频中不包括管制内容的情况下,将视频上传至区块链中存证,从而有效将电商物流中商品的真实情况进行存证,解决了在电商物流领域如何进行数据存证的问题。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
47.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
48.图1为本技术实施例提供的一种可选的区块链应用系统结构示意图;
49.图2为本技术实施例提供的一种可选的区块链结构示意图;
50.图3为本技术实施例提供的一种可选的区块链网络功能结构示意图;
51.图4为本技术实施例提供的一种可选的基于区块链的存证系统示意图;
52.图5为本技术实施例提供的一种可选的基于区块链的存证方法流程示意图;
53.图6为本技术实施例提供的一种可选的基于区块链的存证装置结构示意图;
54.图7为本技术实施例提供的一种可选的电子设备结构示意图。
具体实施方式
55.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.在以下的描述中,涉及到“一个具体实施例”,其描述了所有可能实施例的子集,但是可以理解,“一个具体实施例”,其描述了所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
57.除非另有定义,本文所使用的所有的技术的科学技术与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本发明。
58.在对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
59.(1)交易(transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗称地使用了“交易”这一术语,本技术实施例遵循了这一习惯。
60.例如,部署(deploy)交易用于向区块链网络中的结点安装指定的智能合约并准备好被调用;调用(invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
61.(2)区块链(blockchain),是由区块(block)形成的加密的、链式的交易的存储结构。
62.(3)区块链网络(blockchain network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
63.(4)账本(ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的
统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(key)值(value)对的形式来记录区块链中的交易,用于支持区块链中交易的快速查询。
64.(5)智能合约(smart contracts),也称为链码(chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询操作。
65.(6)共识(consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(pow,proof of work)、权益证明(pos,proof of stake)、股权授权证明(dpos,delegatd proof-of-stake)、消逝时间量证明(poet,proof of elapsed time)等。
66.下面说明本技术实施例,提供的区块链网络的示例性应用,如图1所示,图1是本技术实施例提供的区块链应用系统示意图,包括区块链网络101、共识节点102,认证中心103、业务主体104、客户端节点104-1,业务主体105和客户端节点105-1,下面分别进行说明:
67.区块链网络101的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络101;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络101,此时,成为区块链网络101中的客户端节点。
68.在一些实施例中,客户端节点104-1可以只作为区块链网络101的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络101的共识节点102的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络101中,通过区块链网络101实现数据和业务处理过程的可信和可追溯。
69.区块链网络101中的共识节点接收来自不同业务主体,例如图1中示出的业务主体104的客户端节点104-1提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体104的客户端节点104-1中显示。
70.例如,客户端节点104-1可以订阅区块链网络101中感兴趣的事件,例如区块链网络101中特定的组织/通道中发生的交易,由共识节点102推送相应的交易通知到客户端节点104-1,从而触发客户端节点104-1中相应的业务逻辑。
71.作为区块链的示例,如图2所示,图2是本技术实施例提供的区块链网络101中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
72.下面说明本技术实施例提供的区块链网络的示例性的功能架构,如图3所示,图3是本技术实施例提供的区块链网络101的功能架构示意图,包括应用层301、共识层302、网络层303、数据层304和资源层305,下面分别进行说明:
73.应用层301封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
74.共识层302封装了区块链网络101中的节点102对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括pos、pow和dpos等共识算法,支持共识算法的可插拔。交易管理用于验证节点101接收到的交易中携带的数字签名,验证业务主体104的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络101的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
75.网络层303封装了点对点(p2p,pointtopoint)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
76.其中,p2p网络协议实现区块链网络101中节点102之间的通信,数据传播机制保证了交易在区块链网络101中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点102之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络101的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络101的权限;业务主体104身份管理用于存储允许接入区块链网络101的业务主体104的身份、以及权限(例如能够发起的交易的类型)。
77.数据层304封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
78.资源层305封装了实现区块链网路101中的各个节点102的计算资源、存储资源和通信资源。
79.为了更清楚的说明本技术,将智能合约的工作原理进行简单介绍:
80.构建智能合约:智能合约由区块链内的多个用户共同参与制定,可用于任何用户之间的任何交易。协议当中明确规定了交易双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。
81.存储智能合约:一旦编码完成,这份智能合约上传至区块链网络上,即全网的每个节点都可以收到这份智能合约。
82.执行智能合约:智能合约会定期检查是否存在相关事件和触发条件,以满足条件的事件推送到待验证的队列中,区块链上的验证节点先对事件进行签名验证,以确保其有效性,等大多数验证节点对该事件达成共识,智能合约将成功执行,并通知给用户。
83.基于上述架构,本技术实施例提出了以下的实现方式。
84.相关技术中,用户下单后对商品打上防伪码,通过在发货、物流运输的各个环节由商家、快递员等参与人员扫描防伪码来将商品的信息、位置、运输路径等上传至区块链中保存,从而完成对商品流转过程中信息的保存,同时方便追朔。然而,仅靠防伪码来进行区块链存证具有假证风险,不法分子将物码分离后对商品实施违法操作再将物码绑定后依然能
顺利进行货运流程,因此在用户维权时系统(电商平台)难以确定商家、物流及用户提供的证据的真伪。
85.为了解决背景技术中提及的技术问题,根据本技术实施例的一方面,提供了一种基于区块链的存证方法的实施例。
86.可选地,在本技术实施例中,上述基于区块链的存证方法可以应用于如图4所示的由至少一个数据采集设备401、服务器403及区块链网络405所构成的基于区块链的存证系统中。数据采集设备可以是配备有视频拍摄装置的终端设备,服务器为电商平台的服务器。
87.数据采集设备401用于采集对用户购买的商品(目标资源)进行操作的视频序列,如商家装箱发货、快递员揽收、物流运输及用户收货开箱等操作。
88.服务器403用于提取视频序列中每一帧的图像特征,并在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络中存证,以及,在接收到对商品的维权请求时,从区块链网络中提取与该商品相关联的存证数据,以确定维权请求是否通过。
89.本技术实施例中,管制资源为涉黄、涉敏、涉恐、涉毒等商品,资源交换标识可以是订单号、物流号、交易流水号等。
90.区块链网络405用于生成数据区块以对视频和订单号、物流号进行存证,数据区块中保存有对视频进行哈希计算得到的哈希值。
91.如图4所示,服务器403通过网络与数据采集设备401、区块链网络405进行连接,可用于为数据采集设备或数据采集设备上安装的客户端提供服务。上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于pc、手机、平板电脑等。
92.本技术实施例中的一种基于区块链的存证方法可以由服务器403来执行,如图5所示,该方法可以包括以下步骤:
93.步骤s502,获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录。
94.本技术实施例中,由于视频具有连贯性,能顾真实记录目标资源的所有操作,在电商物流领域,目标资源可以是商品。还可以采用多媒体来作为信息载体。多媒体(multimedia)是多种媒体的综合,包括文本,声音和图像等多种媒体形式,在计算机系统中,多媒体指组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。使用的媒体包括文字、图片、照片、声音、动画和影片,以及程式所提供的互动功能。
95.本技术实施例提供的一种基于区块链的存证方法可以应用于电商购物场景,具体可以涉及到用户在线下单、商家装箱发货、快递员确认揽收、物流运输、用户收货开箱等一系列商品交易和物流运输的过程,上述目标资源即可以表示用户购买的商品,对目标资源进行物流运输的操作记录即可以表示商家装箱发货、快递员确认揽收、物流运输及用户收货开箱等操作。
96.通过上述视频序列保存上述商家装箱发货、快递员确认揽收、物流运输及用户收货开箱等操作记录,可以是视频影像、图片、文本、语音或以上一种或多种的结合。
97.步骤s504,提取视频序列中每一帧的图像特征。
98.步骤s506,在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链
网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。
99.本技术实施例中,可以通过对视频序列进行特征提取和识别,从而找出物理运输的商品中是否包含管制商品。管制商品为涉黄、涉敏、涉恐、涉毒等的商品,资源交换标识可以是订单号、物流号、交易流水号等。可以采用卷积神经网络对视频序列中的每一帧图像进行视频序列的特征提取和识别。
100.可选地,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络之前,该方法还包括按照如下方式确定视频序列的目标哈希值:
101.在接收到对第一视频的第一确认操作的情况下,确定第一视频的第一哈希值,第一视频和第一确认操作为目标资源的资源发送对象上传的,视频序列包括第一视频,目标哈希值包括第一哈希值;
102.在接收到对第二视频的第二确认操作的情况下,确定第二视频的第二哈希值,第二视频和第二确认操作为目标资源的资源运输对象上传的,视频序列包括第二视频,目标哈希值包括第二哈希值;
103.在接收到对第三视频的第三确认操作的情况下,确定第三视频的第三哈希值,第三视频和第三确认操作为目标资源的资源接收对象上传的,视频序列包括第三视频,目标哈希值包括第三哈希值。
104.本技术实施例中,目标资源的资源发送对象为商家,第一视频为装箱发货视频,第一确认操作为商家点击“确认发货”操作。目标资源的资源运输对象为快递员,第二视频为快递员确认揽收视频,第二确认操作为快递员点击“确认揽收”操作。目标资源的资源接收对象为用户,第三视频为收货开箱视频,第三确认操作为用户点击“确认收货”操作。
105.本技术实施例中,商家可以对商品装箱发货的视频上传至电商平台后点击“确认发货”,即可触发对装箱发货视频的确认操作。触发该确认操作是为了确定商品装箱发货及记录该操作的责任人为商家,确认无误之后,电商平台可以调用哈希运算模块计算装箱发货视频的哈希值,上述视频序列包括商家上传的装箱发货视频,上述目标哈希值包括装箱发货视频的哈希值。快递员在揽收商品时,可以将揽收商品的视频上传至电商平台后点击“确认揽收”,即可触发对商品揽收的确认操作。触发该确认操作是为了确定商品揽收及记录该操作的责任人为快递员,确认无误之后,电商平台可以调用哈希运算模块计算确认揽收视频的哈希值,上述视频序列包括快递员上传的确认揽收视频,上述目标哈希值包括确认揽收视频的哈希值。用户在收到商品时,可以将收货开箱的视频上传至电商平台后点击“确认收货”,即可触发对收货开箱视频的确认操作。触发该确认操作是为了确定商品收货开箱及该操作的责任人为用户,确认无误之后,电商平台可以调用哈希运算模块计算收货开箱视频的哈希值,上述视频序列包括用户上传的收货开箱视频,上述目标哈希值包括收货开箱视频的哈希值。
106.本技术实施例中,为了将证据存证,可以将商家上传的装箱发货视频及其哈希值、快递员上传的确认揽收视频及其哈希值、用户上传的收货开箱视频及其哈希值上传至区块链网络中进行存证,还可以将用户购买该商品时生成的订单号、快递员揽收商品进行物流运输时生成的物流号等与该商品相关的序列号一同上传至区块链网络中存证。上述资源交换标识可以包括订单号、物流号等与该商品相关联的序列号。区块链网络生成数据区块以
保存上述视频、哈希值及订单号、物流号等。生成数据区块时,在区块链网络的共识层中将上述视频、哈希值、订单号、物流号在多个区块链节点中进行共识,共识完成后在当前区块链网络的尾部追加生成新的数据区块,完成数据上链。实现共识的机制包括工作量证明(pow,proof of work)、权益证明(pos,proof of stake)、股权授权证明(dpos,delegatd proof-of-stake)、消逝时间量证明(poet,proof of elapsed time)等。
107.采用本技术技术方案,可以将商品从商家装箱发货、快递员确认揽收、物流运输、用户收货开箱等一系列商品流转程序全部通过视频记录下来,对视频进行特征识别,在确认该视频中不包括管制内容的情况下,将视频上传至区块链中存证,从而有效将电商物流中商品的真实情况进行存证,解决了在电商物流领域如何进行数据存证的问题。
108.本技术实施例还提供了将保存操作记录的视频序列上传至区块链之前,检查区块链中是否已经存在该视频序列的方法,以便于提高存证效率、节省区块链空间。
109.可选地,在确定视频序列的目标哈希值之后,该方法还包括按照如下方式确定区块链网络中是否已经存在视频序列:
110.步骤11,遍历存证系统素材库中保存的哈希值,并将各个哈希值与目标哈希值进行异或运算,以确定目标哈希值与存证系统素材库中保存的各个哈希值之间的汉明距离,存证系统素材库中保存的数据为已经在区块链网络中存证的数据;
111.步骤12,在存在汉明距离的值在目标数值范围内的情况下,确定区块链网络中已存在视频序列。
112.本技术实施例中,存证系统素材库为预设保存存证数据的数据库,电商平台将数据上传至区块链网络中进行存证后,同步将存证数据保存在该存证系统素材库,作为本地保存,还可以直接将区块链数据库作为该存证系统素材库,从而在上传数据至区块链中存证时,可以直接在区块链中查找是否有相同数据。
113.本技术实施例中,目标哈希值可以是待存证数据,即视频序列的哈希值,视频序列包括上述商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频等。将待存证数据的哈希值与已存证数据的哈希值进行异或运算,可以对待存证数据和已存证数据进行对比,异或运算的结果为待存证数据的哈希值与已存证数据的哈希值之间的汉明距离。例如,有编码10001001和10110001,异或运算后得到00111000,即两个编码中不同位值的数目为3,即表示该两个编码之间的汉明距离为3。若待存证数据的哈希值与已存证数据的哈希值之间的汉明距离在目标数值范围内,则确定区块链中已有该待存证数据,本次待存证数据不上传。目标数值范围可以根据实际需要进行设置,可以根据实验结果进行设置,还可以根据经验进行设置。设置汉明距离的浮动范围是为了在待存证数据和已存证数据大部分相同的情况下,仍然判定为相同数据。例如同一个视频文件采用不同的编码格式保存等。
114.本技术不仅可以采用汉明距离来判断区块链网络中是否已存在商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频等,还可以采用感知哈希算法来实现。
115.可选地,确定区块链网络中是否已经存在视频序列还包括:
116.步骤21,逐帧确定视频序列的第一感知哈希值,包括:将第一目标帧缩小为第一尺寸,第一目标帧为视频序列中的图像帧;将缩小尺寸后的第一目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第一目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第一变换结果,并确定第一变换结果的第一平均值;将第一变换结果中,大于
等于第一平均值的数值用第一数值替换,将小于第一平均值的数值用第二数值替换;将替换数值后的第一变换结果按照目标顺序进行排列,得到第一感知哈希值。
117.本技术实施例中,视频序列为商家上传的装箱发货视频、快递员确认揽收视频及用户收货开箱视频等,第一目标帧为上述视频序列中的各个图像帧。
118.步骤22,提取存证系统素材库中保存的已存证视频,并逐帧确定已存证视频的第二感知哈希值,包括:将第二目标帧缩小为第一尺寸,第二目标帧为已存证视频中的图像帧;将缩小尺寸后的第二目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第二目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第二变换结果,并确定第二变换结果的第二平均值;将第二变换结果中,大于等于第二平均值的数值用第一数值替换,将小于第二平均值的数值用第二数值替换;将替换数值后的第二变换结果按照目标顺序进行排列,得到第二感知哈希值。
119.步骤23,确定第一感知哈希值和第二感知哈希值之间对应位相同数值的个数。
120.步骤24,在对应位相同数值的个数大于或等于目标个数的情况下,确定区块链网络中已存在视频序列。
121.感知哈希算法是哈希算法的一类,主要用来做相似图片的搜索工作。本技术实施例中,可以将待存证数据,即商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频等,逐帧计算第一感知哈希值,将区块链中已存证视频逐帧计算第二感知哈希值,再将第一感知哈希值和第二感知哈希值进行对应位的数值分析,统计出对应位数值相同的个数,从而判断待存证数据和已存证数据是否相同。
122.感知哈希不同于数据的原始哈希,感知哈希为针对数据的结构进行优化计算得到的哈希值,相当于每一帧图片包含的特征可以生成一组指纹,从而进行指纹比较。
123.本技术实施例中,可以逐帧计算对应位相同数值的个数,在大于或等于目标个数的情况下,确定区块链网络中已存在视频序列。目标个数可以根据实际需要进行设置,可以根据实验结果进行设置,还可以根据经验进行设置。再通过逐帧对比的结果,确定待存证数据和已存证数据中相似帧的个数。相似帧个数大于预设阈值的情况下,确定区块链网络中已存在该待存证数据。
124.本技术实施例中,计算上述第一感知哈希值和第二感知哈希值的方法具体为:
125.第一步,缩小尺寸。通过缩小尺寸能够最快速的去除高频和细节,只保留结构明暗,具体缩小到的第一尺寸可以根据实际需要进行设置,可以根据实验结果进行设置,还可以根据经验进行设置。例如,将图像帧缩小到8x8的尺寸,总共64个像素。摒弃不同尺寸、比例带来的图片差异。
126.第二步,简化色彩。将缩小后的图像帧,转为64级灰度。也即所有像素点总共只有64种颜色。上述预设灰度级可以是64级灰度,还可以是128、32等其他灰度级。
127.第三步,计算dct(离散余弦变换)。dct是把图像帧分解频率聚集和梯状形,可以使用8*8的dct变换,也可以使用32*32的dct变换。
128.第四步,缩小dct。以32*32的dct变换为例,虽然dct的结果是32*32大小的矩阵,但本技术可以只保留左上角的8*8的矩阵,这部分呈现了图片中的最低频率。8*8的大小即为上述第二尺寸,还可以采用4*4、16*16等其他尺寸。
129.第五步,计算平均值。计算所有64个值的平均值。
130.第六步,进一步减小dct。根据8*8的dct矩阵,设置1(上述第一数值)或0(上述第二数值)的64位的哈希值,大于等于dct均值的设为“1”,小于dct均值的设为“0”。
131.第七步,计算感知哈希值。将替换数值后的dct变换结果按照像素点的排列顺序进行组合,得到感知哈希值。
132.本技术实施例中,还可以利用结构相似性(structural similarity,ssim)算法来计算上述商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频和已存证视频的相似度,从而根据视频相似度来判断区块链网络中是否已存在商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频等。
133.可选地,确定区块链网络中是否已经存在视频序列还包括:
134.步骤31,确定视频序列中第一目标帧的平均值、方差,确定已存证视频中第二目标帧的平均值、方差,并确定第一目标帧和第二目标帧之间的协方差。
135.本技术实施例中,若以x表示视频序列中的第一目标帧,以y表示已存证视频中的第二目标帧,则通过第一目标帧中的所有像素值可以计算得到平均值μ
x
、方差通过第二目标帧中的所有像素值可以计算得到平均值μy、方差通过第一目标帧和第二目标帧的所有像素值可以计算得到协方差σ
xy

136.步骤32,利用第一目标帧的平均值、第二目标帧的平均值确定第一目标帧和第二目标帧之间的亮度相似度。
137.本技术实施例中,亮度(luminance)相似度可以表示为:
[0138][0139]
其中,c1=(k1l)2为常数,避免除零,k1=0.01,l为像素值的范围。
[0140]
步骤33,利用第一目标帧的方差、第二目标帧的方差确定第一目标帧和第二目标帧之间的对比度相似度。
[0141]
本技术实施例中,对比度(contrast)相似度可以表示为:
[0142][0143]
其中,c2=(k2l)2为常数,避免除零,k2=0.03,l为像素值的范围。
[0144]
步骤34,利用第一目标帧和第二目标帧之间的协方差确定第一目标帧和第二目标帧之间的结构相似度。
[0145]
本技术实施例中,结构(structure)相似度可以表示为:
[0146][0147]
其中,c3为常数,避免除零,可以取c3=c2/2。
[0148]
步骤35,利用亮度相似度、对比度相似度及结构相似度确定第一目标帧和第二目标帧之间的全局相似度。
[0149]
本技术实施例中,全局相似度可以表示为:
[0150]
ssim(x,y)=[l(x,y)
α
·
c(x,y)
β
·
s(x,y)
γ
]
[0151]
将α、β、γ设为1,则可以得到:
[0152][0153]
步骤36,在全局相似度大于或等于目标阈值时,确定区块链网络中已存在视频序列。
[0154]
ssim(x,y)为待存证的视频与已存证的视频之间的每一帧的相似度,可以利用各帧的相似度判断数据是否已存证,还可以在帧与帧的相似度计算出来后,取所有帧的加权平均值,得到视频整体的相似度,从而可以根据视频整体的相似度判断区块链网络中是否已存在商家装箱发货视频、快递员确认揽收视频及用户收货开箱视频等。
[0155]
本技术实施例还提供基于视频存证的维权方法。
[0156]
可选地,完成数据存证之后,该方法还包括:
[0157]
步骤41,在接收到对目标资源的维权请求的情况下,获取与目标资源关联的资源交换标识;
[0158]
步骤42,从区块链网络中提取与资源交换标识匹配的第三视频作为第一存证数据,从区块链网络中提取与资源交换标识匹配的第一视频和第二视频中的至少一种作为第二存证数据;
[0159]
步骤43,确定第一存证数据和第二存证数据之间的相似度;
[0160]
步骤44,在相似度满足目标条件的情况下,确定维权通过。
[0161]
本技术实施例中,用户发起维权请求,电商平台根据用户的维权请求确定纠纷商品,然后获取该商品关联的订单号、物流号等。根据订单号、物流号,电商平台从区块链网络中提取该商品的所有相关视频,然后计算用户收货开箱视频与商家装箱发货视频的相似度、用户收货开箱视频与快递员确认揽收视频的相似度以及快递员确认揽收视频与商家装箱发货视频的相似度,从而判断用户收到的商品、快递员确认揽收的商品与商家发货的商品是否一致,从而进行维权判定。在各个相似度指示用户收到的商品与商家发出的商品不一致或用户收到的商品与快递员确认揽收的商品不一致时,确定用户的维权请求通过,并从区块链中进一步收集电子证据,电子证据可以同步至司法部门及互联网法院的存证数据库中。
[0162]
采用本技术技术方案,可以将商品从商家装箱发货、快递员确认揽收、物流运输、用户收货开箱等一系列商品流转程序全部通过视频记录下来,对视频进行特征识别,在确认该视频中不包括管制内容的情况下,将视频上传至区块链中存证,从而有效将电商物流中商品的真实情况进行存证,解决了在电商物流领域如何进行数据存证的问题。并且,由于视频具有连贯性,难以伪造、篡改,因此可以在发生纠纷时,可以从区块链网络中获取纠纷商品相关的所有视频,将绑定责任人的视频进行对比,从而可以追溯责任,避免取证困难、证据造假。
[0163]
根据本技术实施例的又一方面,如图6所示,提供了一种基于区块链的存证装置,包括:
[0164]
数据获取模块601,用于获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录;
[0165]
特征提取模块603,用于提取视频序列中每一帧的图像特征;
[0166]
特征比对及存证模块605,用于在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。
[0167]
需要说明的是,该实施例中的数据获取模块601可以用于执行本技术实施例中的步骤s502,该实施例中的特征提取模块603可以用于执行本技术实施例中的步骤s504,该实施例中的特征比对及存证模块605可以用于执行本技术实施例中的步骤s506。
[0168]
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
[0169]
可选地,该基于区块链的存证装置,还包括哈希计算模块,用于:
[0170]
在接收到对第一视频的第一确认操作的情况下,确定第一视频的第一哈希值,第一视频和第一确认操作为目标资源的资源发送对象上传的,视频序列包括第一视频,目标哈希值包括第一哈希值;
[0171]
在接收到对第二视频的第二确认操作的情况下,确定第二视频的第二哈希值,第二视频和第二确认操作为目标资源的资源运输对象上传的,视频序列包括第二视频,目标哈希值包括第二哈希值;
[0172]
在接收到对第三视频的第三确认操作的情况下,确定第三视频的第三哈希值,第三视频和第三确认操作为目标资源的资源接收对象上传的,视频序列包括第三视频,目标哈希值包括第三哈希值。
[0173]
可选地,该基于区块链的存证装置,还包括数据重复性判断模块,用于:
[0174]
遍历存证系统素材库中保存的哈希值,并将各个哈希值与目标哈希值进行异或运算,以确定目标哈希值与存证系统素材库中保存的各个哈希值之间的汉明距离,存证系统素材库中保存的数据为已经在区块链网络中存证的数据;
[0175]
在存在汉明距离的值在目标数值范围内的情况下,确定区块链网络中已存在视频序列。
[0176]
可选地,该数据重复性判断模块,还包括感知哈希判别单元,用于:
[0177]
逐帧确定视频序列的第一感知哈希值,包括:将第一目标帧缩小为第一尺寸,第一目标帧为视频序列中的图像帧;将缩小尺寸后的第一目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第一目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第一变换结果,并确定第一变换结果的第一平均值;将第一变换结果中,大于等于第一平均值的数值用第一数值替换,将小于第一平均值的数值用第二数值替换;将替换数值后的第一变换结果按照目标顺序进行排列,得到第一感知哈希值;
[0178]
提取存证系统素材库中保存的已存证视频,并逐帧确定已存证视频的第二感知哈希值,包括:将第二目标帧缩小为第一尺寸,第二目标帧为已存证视频中的图像帧;将缩小尺寸后的第二目标帧转换为预设灰度级的图像帧,以简化色彩;对简化色彩后的第二目标帧进行离散余弦变换;从变换结果中提取第二尺寸大小的第二变换结果,并确定第二变换结果的第二平均值;将第二变换结果中,大于等于第二平均值的数值用第一数值替换,将小
integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0197]
根据本技术实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
[0198]
可选地,在本技术实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
[0199]
获取待存证的视频序列,视频序列保存有对目标资源进行物流运输的操作记录;
[0200]
提取视频序列中每一帧的图像特征;
[0201]
在视频序列所有帧的图像特征均指示目标资源为非管制资源的情况下,将视频序列、视频序列的目标哈希值及与视频序列关联的资源交换标识上传至区块链网络,以在区块链网络中生成数据区块保存视频序列、目标哈希值及资源交换标识,并在至少一个区块链节点中进行共识,以完成数据存证。
[0202]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0203]
本技术实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
[0204]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0205]
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0206]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0207]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0208]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0209]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0210]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0211]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0212]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1