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

基于区块链的设备控制方法和相关设备

文献发布时间:2023-06-19 19:30:30


基于区块链的设备控制方法和相关设备

技术领域

本公开涉及计算机与互联网技术领域,尤其涉及一种基于区块链的设备控制方法及装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

随着网络和计算机技术的发展,物联网技术得到了很快的发展,越来越多的设备都可以连入网络,以实现对设备的智能监测和控制。物联网终端或物联网设备包括自助洗衣机、自助充电桩、自助吹风机、按摩椅、摇摇车、抓娃娃机、机器人、普通驾驶车辆、火车、飞机、无人车以及无人飞机等。但是,随着物联网产业的高速发展,物联网终端或物联网设备面临的网络攻击越来越多。例如,非法用户可通过发起多次指令,以破解获得物联网设备的控制权,进而对物联网设备进行控制和攻击。

上述控制权破解操作,一方面会使得非法用户获得物联网设备的控制器,导致物联网设备不安全;另一方面,物联网多次高频的接收并执行指令,会对物联网设备造成一定的损耗。

发明内容

本公开的目的在于提供一种基于区块链的设备控制方法、装置、电子设备以及计算机可读存储介质,可以通过区块链对目标设备进行控制,以提高目标设备的控制的安全性。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

本公开实施例提供了一种基于区块链的设备控制方法,包括:接收目标设备控制对象发送的第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令;确定与所述第一控制指令对应的第一控制智能合约;响应所述第一交易请求,执行所述第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一,并将所述第一交易请求在所述区块链系统中上链存储;上链存储成功后,将所述第一交易请求发送给所述目标设备,以便所述目标设备执行所述第一控制指令。

本公开实施例提供了一种基于区块链的设备控制方法,所述基于区块链的设备控制方法由目标设备执行,所述方法包括:接收目标区块链系统发送的第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令,所述第一交易请求由目标设备控制对象发送至所述目标区块链系统上链存储的,所述区块链系统是通过执行第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的;获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据设备控制对象与所述目标设备的关联关系生成的,所述设备控制对象对所述目标设备有控制权;根据所述目标证书确定对所述目标设备有控制权的设备控制对象包括所述目标设备控制对象;执行所述第一交易请求中的所述第一控制指令。

本公开实施例提供了一种基于区块链的设备控制方法,所述基于区块链的设备控制方法由设备控制对象执行,所述方法包括:向区块链系统发送第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令,以便在所述第一交易请求上链存储成功后,将所述第一交易发送给所述目标设备;其中所述区块链系统是通过执行所述第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的。

本公开实施例提供了一种基于区块链的设备控制方法,所述方法由区块链系统上的节点设备执行;其中,所述方法包括:接收目标交通工具控制对象发送的第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令;确定与所述第一控制指令对应的第一控制智能合约;响应所述第一交易请求,执行所述第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一,并将所述第一交易请求在所述区块链系统中上链存储;上链存储成功后,将所述第一交易请求发送给所述目标交通工具,以便所述目标交通工具执行所述第一控制指令。

本公开实施例提供了一种基于区块链的设备控制方法,所述基于区块链的设备控制方法由目标交通工具执行,所述方法包括:接收目标区块链系统发送的第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令,所述第一交易请求由目标交通工具控制对象发送至所述目标区块链系统上链存储的,所述区块链系统是通过执行第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的;获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据设备控制对象与所述目标交通工具的关联关系生成的,所述设备控制对象对所述目标交通工具有控制权;根据所述目标证书确定对所述目标交通工具有控制权的设备控制对象包括所述目标交通工具控制对象;执行所述第一交易请求中的所述第一控制指令。

本公开实施例提供了一种基于区块链的设备控制方法,所述基于区块链的设备控制方法由设备控制对象执行,所述方法包括:向区块链系统发送第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令,以便在所述第一交易请求上链存储成功后,将所述第一交易发送给所述目标交通工具;其中所述区块链系统是通过执行所述第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的。

本公开实施例提出一种基于区块链的设备控制装置,该装置部署在区块链系统的节点设备中,包括:第一交易请求获取模块、第一控制智能合约确定模块、第一控制智能合约执行模块和请求发送模块。

其中,所述第一交易请求获取模块配置为接收目标设备控制对象发送的第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令;所述第一控制智能合约确定模块配置为确定与所述第一控制指令对应的第一控制智能合约;所述第一控制智能合约执行模块配置为响应所述第一交易请求,执行所述第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一,并将所述第一交易请求在所述区块链系统中上链存储;所述请求发送模块配置为上链存储成功后,将所述第一交易请求发送给所述目标设备,以便所述目标设备执行所述第一控制指令。

在一些实施例中,所述第一控制智能合约用于根据所述第一值控制向所述目标设备控制对象发行的第一控制通证的数量;其中,所述第一控制智能合约执行模块包括:第一控制通证确定子模块和第一控制通证消耗子模块。

其中,所述第一控制通证确定子模块用于确定所述目标设备控制对象的第一控制通证的剩余数量大于或等于第一数量;所述第一控制通证消耗子模块用于根据所述第一数量消耗所述目标设备控制对象的第一控制通证。

在一些实施例中,所述基于区块链的设备控制装置还包括:第二交易请求获取模块、智能合约匹配模块、第二交易请求响应模块和第二交易请求上链存储模块。

其中,所述第二交易请求获取模块配置为接收所述目标设备控制对象发送的第二交易请求,所述第二交易请求携带用于对所述目标设备进行控制的第二控制指令,所述第一控制指令与所述第二控制指令是不同类型的控制指令;所述智能合约匹配模块配置为确定与所述第二控制指令对应的第一控制智能合约;所述第二交易请求响应模块配置为响应所述第二交易请求,执行所述第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于所述第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一,并将所述第二交易请求在所述区块链系统中上链存储;所述第二交易请求上链存储模块配置为上链存储成功后,将所述第二交易请求发送给所述目标设备,以便所述目标设备执行所述第二控制指令。

在一些实施例中,所述第一控制智能合约用于对第一控制类型的第一控制指令进行处理;其中,所述第一控制智能合约执行模块包括:第一值匹配子模块,所述第一值匹配子模块用于确定所述目标设备控制对象针对所述目标设备进行第一控制类型的控制次数小于或者等于所述第一值,将所述目标设备控制对象针对所述目标设备进行第一控制类型的控制次数加一;其中,基于区块链的设备控制装置还包括:第二交易请求接收模块、第二控制智能合约确定模块、第二控制智能合约执行模块、第二交易请求存储模块。

其中,所述第二交易请求接收模块用于接收所述目标设备控制对象发送的第二交易请求,所述第二交易请求携带用于对所述目标设备进行控制的第二控制指令;所述第二控制智能合约确定模块用于确定与所述第二控制指令对应的第二控制智能合约,所述第二控制智能合约用于对第二控制类型的第二控制指令进行处理,所述第一控制类型和所述第二控制类型是不同的控制类型;所述第二控制智能合约执行模块用于响应所述第二交易请求,执行所述第二控制智能合约,确定所述目标设备控制对象针对所述目标设备进行第二控制类型的控制次数小于或者等于第二值,将所述目标设备控制对象针对所述目标设备进行第二控制类型的控制次数加一,并将所述第二交易请求在所述区块链系统中上链存储;所述第二交易请求存储模块用于上链存储成功后,将所述第二交易请求发送给所述目标设备,以便所述目标设备执行所述第二控制指令。

在一些实施例中,所述请求发送模块包括:第一响应智能合约确定子模块、第三值比较子模块以及第一交易发送子模块。

其中,所述第一响应智能合约确定子模块用于确定与所述第一控制智能合约对应的第一响应智能合约,所述第一响应智能合约用于对第一控制指令所对应的响应进行处理;所述第三值比较子模块用于根据所述第一响应智能合约,确定所述目标设备响应控制指令的次数小于或者等于第三值,将所述目标设备响应控制指令的次数加一;所述第一交易发送子模块用于将所述第一交易请求发送给所述目标设备。

在一些实施例中,所述第一控制智能合约用于对第一控制类型的第一控制指令进行处理;其中,所述第三值比较子模块包括:控制次数比较子模块和次数加一子模块。

其中,所述控制次数比较子模块用于根据所述第一响应智能合约,确定所述目标设备响应所述第一控制类型的控制指令的次数小于或者等于所述第三值;所述次数加一子模块用于将所述目标设备响应所述第一控制类型的控制指令的次数加一。

在一些实施例中,所述第一响应智能合约用于根据所述第三值控制向所述目标设备发行的第一响应通证的数量;其中,所述第三值比较子模块包括:第一响应通证确定单元和第一响应通证消耗单元。

其中,所述第一响应通证确定单元用于确定所述目标设备的第一响应通证的剩余数量大于或者等于第二数量;所述第一响应通证消耗单元用于根据所述第二数量消耗所述目标设备的第二控制通证。

在一些实施例中,在接收目标设备控制对象发送的第一交易请求之前,所述基于区块链的设备控制装置还包括:第一控制智能合约接收模块、第一区块打包模块、第一共识处理模块以及第一控制智能合约部署模块。

其中,所述第一控制智能合约接收模块用于接收所述目标设备控制对象发送的第一控制智能合约;所述第一区块打包模块用于将所述第一控制智能合约打包形成第一区块;所述第一共识处理模块用于对所述第一区块中的第一控制智能合约进行共识处理;所述第一控制智能合约部署模块用于共识通过后,通过所述第一区块将所述第一控制智能合约上链部署;

在一些实施例中,所述基于区块链的设备控制装置还包括:第一响应智能合约接收模块、第二区块打包模块、第二区块共识模块以及第二区块上链模块。

其中,所述第一响应智能合约接收模块用于接收所述目标设备控制对象发送的第一响应智能合约;所述第二区块打包模块用于将所述第一响应智能合约打包形成第二区块;所述第二区块共识模块用于对所述第二区块中的第一响应智能合约进行共识处理;所述第二区块上链模块用于共识通过后,通过所述第二区块将所述第一响应智能合约上链部署。

在一些实施例中,所述基于区块链的设备控制装置还包括:第三交易请求接收模块、确定第一响应智能合约模块、第三交易请求响应模块以及第三交易请求上链模块。

其中,所述第三交易请求接收模块用于接收所述目标设备针对所述第一控制指令返回的第三交易请求,所述第三交易请求携带用于对所述第一控制指令进行响应的第一响应;所述确定第一响应智能合约模块用于确定与所述第一响应对应的第一响应智能合约;所述第三交易请求响应模块用于响应所述第三交易请求,执行所述第一响应智能合约,将所述第三交易请求在所述区块链系统中上链存储;所述第三交易请求上链模块用于上链存储成功后,将所述第三交易请求发送给所述目标设备控制对象。

本公开实施例提供了一种基于区块链的设备控制装置,该装置部署在区块链系统的目标设备中,包括:第一交易请求接收模块、证书获取第一模块、关系确定第一模块以及指令执行模块。

其中,所述第一交易请求接收模块配置为接收目标区块链系统发送的第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令,所述第一交易请求由目标设备控制对象发送至所述目标区块链系统上链存储的,所述区块链系统是通过执行第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的;所述证书获取第一模块配置为获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据设备控制对象与所述目标设备的关联关系生成的,所述设备控制对象对所述目标设备有控制权;所述关系确定第一模块配置为根据所述目标证书确定对所述目标设备有控制权的设备控制对象包括所述目标设备控制对象;所述指令执行模块配置为执行所述第一交易请求中的所述第一控制指令。

本公开实施例提供了一种基于区块链的设备控制装置,所述基于区块链的设备控制装置部署在设备控制对象中,所述装置包括:第一交易请求发送模块。

其中,所述第一交易请求发送模块配置为向区块链系统发送第一交易请求,所述第一交易请求携带用于对目标设备进行控制的第一控制指令,以便在所述第一交易请求上链存储成功后,将所述第一交易发送给所述目标设备;其中所述区块链系统是通过执行所述第一控制智能合约,确定所述目标设备控制对象针对所述目标设备进行控制的控制次数小于或者等于第一值,将所述目标设备控制对象针对所述目标设备进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的。

在一些实施例中,所述基于区块链的设备控制装置还包括:第三交易请求获取模块、目标证书获得模块以及控制权确定模块。

其中,所述第三交易请求获取模块用于从所述区块链系统接收所述目标设备发送的第三交易请求,所述第三交易请求携带用于对所述第一控制指令进行响应的第一响应;所述目标证书获得模块用于获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据目标设备控制对象与所述目标设备的关联关系生成的,所述设备控制对象对所述目标设备有控制权;所述控制权确定模块用于根据所述目标证书确定所述目标设备控制对象对所述目标设备有控制权,则根据所述第一控制指令确定所述第一控制指令获得的所述目标设备的响应。

本公开实施例提供了一种基于区块链的设备控制装置,所述装置部署在区块链系统上的节点设备上;其中,所述装置包括:交通工具控制对象信息接收模块、控制智能合约匹配模块、执行智能合约模块、向交通工具发送信息模块。

其中,所述交通工具控制对象信息接收模块用于接收目标交通工具控制对象发送的第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令;所述控制智能合约匹配模块用于确定与所述第一控制指令对应的第一控制智能合约;所述执行智能合约模块用于响应所述第一交易请求,执行所述第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一,并将所述第一交易请求在所述区块链系统中上链存储;所述向交通工具发送信息模块用于上链存储成功后,将所述第一交易请求发送给所述目标交通工具,以便所述目标交通工具执行所述第一控制指令。

在一些实施例中,所述基于区块链的设备控制装置还包括:交通工具信息接收模块、响应智能合约确定模块、响应智能合约执行模块以及向交通工具控制对象发送信息模块。

其中,所述交通工具信息接收模块用于接收所述目标交通工具针对所述第一控制指令返回的第三交易请求,所述第三交易请求携带用于对所述第一控制指令进行响应的第一响应;所述响应智能合约确定模块用于确定与所述第一响应对应的第一响应智能合约;所述响应智能合约执行模块用于响应所述第三交易请求,执行所述第一响应智能合约,将所述第三交易请求在所述区块链系统中上链存储;所述向交通工具控制对象发送信息模块用于上链存储成功后,将所述第三交易请求发送给所述目标交通工具控制对象。

本公开实施例提供了一种基于区块链的设备控制装置,所述基于区块链的设备控置部署在目标交通工具上或者目标交通工具对应的终端上,所述装置包括:第一控制指令接收模块、获取证书模块、确定控制权模块以及第一指令执行模块。

其中,所述第一控制指令接收模块用于接收目标区块链系统发送的第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令,所述第一交易请求由目标交通工具控制对象发送至所述目标区块链系统上链存储的,所述区块链系统是通过执行第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的;所述获取证书模块用于获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据设备控制对象与所述目标交通工具的关联关系生成的,所述设备控制对象对所述目标交通工具有控制权;所述确定控制权模块用于根据所述目标证书确定对所述目标交通工具有控制权的设备控制对象包括所述目标交通工具控制对象;所述第一指令执行模块用于执行所述第一交易请求中的所述第一控制指令。

在一些实施例中,所述基于区块链的设备控制装置还包括:第三交易生成模块,用于在所述第一控制指令执行完成后,向所述区块链系统发送第三交易请求,所述第三交易请求携带用于对所述第一控制指令进行响应的第一响应,以便在所述第三交易请求上链存储成功后,将所述第三交易请求发送给所述目标交通工具控制对象。

本公开实施例提供了一种基于区块链的设备控制装置,所述基于区块链的设备控制装置部署在设备控制对象中或者设备控制对象对应的终端上,所述装置包括:向区块链发送第一交易请求模块,用于向区块链系统发送第一交易请求,所述第一交易请求携带用于对目标交通工具进行控制的第一控制指令,以便在所述第一交易请求上链存储成功后,将所述第一交易发送给所述目标交通工具;其中所述区块链系统是通过执行所述第一控制智能合约,确定所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数小于或者等于第一值,将所述目标交通工具控制对象针对所述目标交通工具进行控制的控制次数加一后,将所述第一交易请求在所述区块链系统中上链存储的。

在一些实施例中,所述装置还包括:第一响应接收模块、证书确定模块以及交通工具响应获取模块。

其中,所述第一响应接收模块用于从所述区块链系统接收所述目标交通工具发送的第三交易请求,所述第三交易请求携带用于对所述第一控制指令进行响应的第一响应;所述证书确定模块用于获取目标证书,所述目标证书由所述区块链系统的证书下发机构根据目标交通工具控制对象与所述目标交通工具的关联关系生成的,所述设备控制对象对所述目标交通工具有控制权;所述交通工具响应获取模块用于根据所述目标证书确定所述目标交通工具控制对象对所述目标交通工具有控制权,则根据所述第一控制指令确定所述第一控制指令获得的所述目标交通工具的响应。

本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的基于区块链的设备控制方法。

本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的基于区块链的设备控制方法。

本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于区块链的设备控制方法。

本公开实施例提供的基于区块链的设备控制方法、装置及电子设备和计算机可读存储介质,一方面可以通过区块链系统操作物联网设备,使得目标设备和目标设备控制对象之间的权属关系不被伪造,目标设备控制对象对目标设备的操作记录不可篡改、可溯源;另一方面,通过区块链系统中的第一控制智能合约对目标设备控制对象针对目标设备的控制次数进行统计,进而对目标设备控制对象针对目标设备的控制次数进行管控,避免目标设备控制对象对目标设备发起过多的控制请求,进而对目标设备造成损耗,例如可以避免非法用户对目标设备发起过多的控制请求,进而破解对目标设备的控制,提高了目标设备的安全性。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例提供的一种基于区块链的数据处理系统的架构示意图。

图2是本公开实施例提供的一种区块链网络的示意图。

图3是本公开实施例提供的一种区块的结构示意图。

图4是本公开实施例提供的一种新区块产生过程的示意图。

图5是根据一示例性实施例示出的一种基于区块链的设备控制方法的流程图。

图6是根据一示例性实施例示出的一种证书生成示意图。

图7是根据一示例性实施例示出的一种基于区块链系统的设备控制方法。

图8是根据一示例性实施例示出的一种基于区块链系统的设备控制方法。

图9是根据一示例性示出的一种基于区块链的第一交易请求转发方法。

图10是根据一示例性实施例示出的一种基于区块链的设备控制方法。

图11是根据一示例性实施例示出的一种基于区块链的第三交易请求转发方法。

图12是根据一示例性实施例示出的一种基于区块链的设备控制方法。

图13是根据一示例性实施例示出的一种基于区块链的交通工具控制方法的流程图。

图14是根据一示例性实施例示出的一种基于区块链的设备控制装置的框图。

图15是根据一示例性实施例示出的一种基于区块链的设备控制装置的框图。

图16示出了适于用来实现本公开实施例的电子设备的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本说明书中,用语“一个”、“一”、“该”、和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

本公开实施例涉及了区块链(blockchain或block chain)技术,该区块链是一种分布式数据存储、点对点(Peer to Peer,P2P)传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效记录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链系统中实现不同节点之间建立信任、获取权益的数学算法,即共识机制是区块链各网络节点共同认可的一种数学算法。

如图1所示,本公开实施例提供的基于区块链的数据处理系统可以包括区块链系统100及多个终端设备,图1中以包括三个终端设备为例,分别为第一终端201、第二终端202和第三终端203。其中,第一终端201、第二终端202和第三终端203可用于从区块链系统获取交易数据(包括交易请求或者执行交易请求后生成的交易数据),或向区块链系统上传交易数据。

如图2所示,图1实施例中的区块链系统100中可以包括多个节点设备101,多个节点设备101可以是指区块链系统中各个客户端,区块链系统100是指用于进行节点设备101与节点设备101之间数据共享的系统。每个节点设备101在进行正常工作时可以接收到交易数据,并基于接收到的交易数据维护该区块链系统100内的共享数据。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点设备101之间可以存在信息连接,节点设备101之间可以通过上述信息连接进行信息传输。例如,当区块链系统100中的任意节点设备101接收到交易数据时,区块链系统100中的其他节点设备101便根据共识算法获取该交易数据,将该交易数据作为共享数据中的数据进行存储,使得区块链系统100中全部节点设备101上存储的数据均一致。

其中,区块链系统100中的节点设备101、第一终端201、第二终端202和第三终端203可以为任意的电子设备,包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(mobile internet device,MID)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等);还可以是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心。

对于区块链系统100中的每个节点设备101,均具有与其对应的节点设备标识,而且区块链系统100中的每个节点设备101均可以存储有区块链系统100中其他节点设备101的节点设备标识,以便后续根据其他节点设备101的节点设备标识,将生成的区块广播至区块链系统100中的其他节点设备101。每个节点设备101中可维护一个如下表1所示的节点设备标识列表,将节点设备名称和节点设备标识对应存储至该节点设备标识列表中。其中,节点设备标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点设备的信息,表1中仅以IP地址为例进行说明。其中N为大于或等于1的正整数。

表1

区块链系统100中的每个节点设备101均存储一条相同的区块链。区块链由多个区块组成,每一个区块包含了前一个区块的加密散列(可以用默克尔树(Merkle tree)算法计算的散列值表示)、相应时间戳以及交易数据,这样的设计使得区块内容具有难以篡改的特性。

参见图3,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有交易数据特征值、版本号、时间戳和难度值,区块主体中存储有交易数据;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的交易数据特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中交易数据的安全性。

在生成区块链中的各个区块时,参见图4,区块链所在的节点设备在接收到交易数据时,对交易数据进行校验,完成校验后,将交易数据存储至内存池中,并更新其用于记录交易数据的哈希树;之后,将更新时间戳更新为接收到交易数据的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:

SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET(1)

其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为交易数据的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。

这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点设备根据区块链系统100中其他节点设备的节点设备标识,将新生成的区块分别发送给其所在的区块链系统100中的其他节点设备,由其他节点设备对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。

为了对本公开实施例提供的技术方案进行说明,下面将对实施例中涉及到的名称进行解释。

ChainMaker(长安链):作为区块链开源底层软件平台,包涵区块链核心框架、丰富的组件库和工具集,致力于为用户高效、精准地解决差异化区块链实现需求,构建高性能、高可信、高安全的新型数字基础设施,同时也是国内首个自主可控区块链软硬件技术体系。长安链具备高并发、低延时、大规模节点组网等先进技术优势,交易吞吐能力可达10万TPS(每秒钟请求/事务数量),位居全球领先水平。

ChainMaker CA(ChainMaker Certificate Authority,长安链证书下发机构):指使用长安链配套证书管理工具管理的证书、密钥体系。

ChainMaker SDK(ChainMaker Software Development Kit,长安链软件开发工具包):用于与长安链交互(发送交易,订阅等)的软件开发工具。

TBFT(一种拜占庭容错共识算法):可以在拜占庭节点数小于总数1/3的情况下,保证系统的安全运行。TBFT基于Tendermint(共识)算法,与PBFT(Practical ByzantineFault Tolerance,实用拜占庭容错系统)的最大区别在于:PBFT有一个固定的leader(一种节点)节点打包交易,当leader节点故障的时候会使用view-change(一种共识协议)子协议更换leader;而在TBFT中,leader是轮换的,每提交n个块(n是可以配置的正整数)leader会轮换成下一个节点。因此,TBFT比PBFT有更好的公平性。

Token:Token目前有两种,一种是在区块链系统中内置的,用于用户之间的转账交易,并奖励矿工,这种被理解为数字加密货币;另一种是在DApp(Decentralizationapplication,去中心化应用)或智能合约上自行铸造的,用于内部交易,这种更接近“通证”这个含义,本公开中的Token指的就是这种。

图5是根据一示例性实施例示出的一种基于区块链的设备控制方法的流程图。

本公开实施例提供的技术方案核心组件可以包括:区块链系统、用于通证发行和通证转账交易的智能合约、设备控制对象、目标设备、加密芯片(可以内置于目标设备中),通过上述硬件设备和软件系统,可以实现目标设备和设备控制对象的关系绑定。

在执行图5所示技术方案之前,可以根据以下方法在区块链系统中部署控制智能合约:接收目标设备控制对象发送的第一控制智能合约;将第一控制智能合约打包形成第一区块;对第一区块中的第一控制智能合约进行共识处理;共识通过后,通过第一区块将第一控制智能合约上链部署。

还可以根据以下方法在区块链系统中部署响应智能合约:接收目标设备控制对象发送的第一响应智能合约;将第一响应智能合约打包形成第二区块;对第二区块中的第一响应智能合约进行共识处理;共识通过后,通过第二区块将第一响应智能合约上链部署。

需要注意的是,上述控制智能合约或响应智能合约可以由目标设备控制对象部署,也可以由区块链运营者对应的设备部署,或者由其他设备部署,本公开对此不做限制。

在一些实施例中,在智能合约部署完成后,可以参考图6为目标设备601(可以内置加密芯片603)和设备控制对象602生成公私钥和证书:目标设备601或设备控制对象602向加密芯片603发送生成公私钥的请求;加密芯片603可以为目标设备601、设备控制对象602生成公私钥;目标设备601本地存储设备控制对象602的公钥,用来对设备控制对象602的身份进行验证;设备控制对象602将自己和目标设备601的公钥发送给区块链系统的证书下发机构(ChainMaker CA)604;区块链系统的证书下发机构为设备控制对象602和目标设备601分别生成证书;设备控制对象602保存目标设备601的证书,用来对目标设备601的身份进行验证;目标设备601保存设备控制对象602的证书,用来对设备控制对象602的身份进行验证。

其中,目标设备可以指的是一种可以被控制的设备,例如一种物联网设备(例如普通驾驶车辆、火车、飞机、无人车、无人飞机、机器人、扫地机、空调、冰箱、车间设备、洗衣机、充电桩、吹风机、按摩椅、摇摇车或者抓娃娃机等)。

设备控制对象可以指的是能够对目标设备进行控制的设备,例如是对目标设备有控制权的用户所操作的设备,例如该用户对应的终端设备(手机、电脑、笔记本等)。

可以理解的是,上述实施例为目标设备和设备控制对象的公私钥和证书的生成和保存提供了一种方法,但本公开并不限制于此。

在完成上述部署后,设备控制对象可以向区块链系统发送第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,以便在第一交易请求上链存储成功后,将第一交易发送给目标设备,以便目标设备执行该第一控制指令;其中区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

其中,第一控制指令可以指的是任意一种能够对目标设备进行控制的指令信息,可以是开关指令、转弯指令、后退指令等任意一种指令,本公开对此不做限制。

其中,第一控制指令可以是单一指令,也可以是指令组(由多个指令组成的组合),本公开对此不做限制。

在设备控制对象向区块链系统发送第一交易请求后,区块链系统上的节点设备会执行如图5所示步骤。

步骤S502,接收目标设备控制对象发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令。

步骤S504,确定与第一控制指令对应的第一控制智能合约。

在区块链系统中,可以预先部署一个或者多个控制智能合约,该一个或者多个控制智能合约可以用于对设备控制对象发出的控制指令进行处理。

在区块链系统中,若仅部署有一个控制智能合约,则直接将该控制智能合约作为与第一控制指令匹配的第一控制智能合约;若区块链系统中部署有多个控制智能合约,则可以从多个控制智能合约中确定与第一控制指令匹配的第一控制智能合约,例如可以根据第一控制指令的控制类型从多个控制智能合约中确定与第一控制指令匹配的第一控制智能合约,再例如,还可以根据发送第一控制指令的指令发送者确定第一控制智能合约(即不同的指令发送者对应不同的控制智能合约),本公开对第一控制智能合约的确定方法不做限定。

步骤S506,响应第一交易请求,执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一,并将第一交易请求在区块链系统中上链存储。

在一些实施例中,可以通过第一控制智能合约判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值。

其中判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值,可以指的是判断目标设备控制对象在一段时间内对目标设备的控制次数是否小于或者第一值,也可以指的是判断目标设备控制对象对目标设备的总控制次数是否小于或者等于第一值。

另外,判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值可以指的是不区分控制类型的判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值;还可以指的是判断目标设备控制对象对目标设备进行某种控制类型的控制次数是否小于或者等于第一值。其中,无论是否区分控制类型判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值,均可以通过同一控制智能合约进行判断,也可以通过不同的控制智能合约进行判断(例如一个控制类型对应一个控制智能合约)。

其中,控制类型可以指的是按照某种分类标准确定的控制类型,本公开对上述分类标准不做限制。上述控制类型可以指的是开关控制类型、转弯控制类型、降速控制类型等,本公开对此不做限制。

在一些实施例中,可以在第一控制智能合约中为目标设备控制对象设置计数器以判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值;还可以为目标设备控制对象预先发行一定数量的通证,每当目标设备控制对象通过控制指令对目标设备进行控制时均会消耗一定的通证,待目标设备控制对象的通证消耗完之后,则不再允许(或者在一段时间内不再运行)目标设备控制对象对目标设备进行控制;当然,还可以通过其他方式对目标设备控制对象对目标设备的控制次数进行统计,本公开对此不做限制。

其中,消耗目标设备控制对象的第一控制通证可以指的是将目标设备控制对象的第一控制通证从目标设备控制对象的账户转移至目标设备的账户中,本公开对此不做限制。

在一些实施例中,第一控制智能合约可以用于根据第一值控制向目标设备控制对象发行的第一控制通证的数量。那么,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值具体可以包括:第一控制智能合约确定目标设备控制对象的第一控制通证的剩余数量是否大于或等于第一数量,若目标设备控制对象的第一控制通证的剩余数量大于或等于第一数量,那么可以根据第一数量消耗目标设备控制对象的第一控制通证(一种“将目标设备控制对象针对目标设备进行控制的控制次数加一”的方法);若目标控制对象的第一控制通证的剩余数量小于第一数量,则确定该目标设备控制对象针对目标设备进行控制的控制次数大于第一值,则拒绝该第一交易请求(例如不再将第一交易请求转发给目标设备,并向目标设备控制对象展示拒绝请求提示)。

本实施例提供的技术方案中,可以通过第一控制智能合约对目标设备控制对象针对目标设备的控制次数进行管控,可以避免目标设备控制对象对目标设备发起过多的控制指令(或者在一段时间内发起过的控制指令),从而保护目标设备不被非法攻击。

步骤S508,将第一交易请求发送给目标设备,以便目标设备执行第一控制指令。

本实施例提供的技术方案,一方面可以通过区块链系统操作物联网设备,使得目标设备和目标设备控制对象之间的权属关系不被伪造,目标设备控制对象对目标设备的操作记录不可篡改、可溯源;另一方面,通过区块链系统中的第一控制智能合约对目标设备控制对象针对目标设备的控制次数进行统计,进而对目标设备控制对象针对目标设备的控制次数进行管控,避免目标设备控制对象对目标设备发起过多的控制请求,进而降低对目标设备造成的损耗,例如可以避免非法用户对目标设备发起过多的控制请求,进而破解对目标设备的控制;另外,第一交易请求的上链存储会消耗目标控制对象在区块链系统中的数字加密货币,增加了目标控制对象对目标设备的控制成本,降低了非法用户的非法攻击可能性。

图7是根据一示例性实施例示出的一种基于区块链系统的设备控制方法。

在一些实施例中,若通过不同的控制智能合约对不同控制类型的控制指令进行处理,则可以通过图7所示方法对目标设备控制对象发出的第二交易请求进行处理。

参考图7,上述设备控制方法可以包括以下步骤。

步骤S702,接收目标设备控制对象发送的第二交易请求,第二交易请求携带用于对目标设备进行控制的第二控制指令,第一控制指令与第二控制指令是不同类型的控制指令。

步骤S704,确定与第二控制指令对应的第一控制智能合约。

步骤S706,响应第二交易请求,执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一,并将第二交易请求在区块链系统中上链存储。

在一些实施例中,可以在第一控制智能合约中为目标设备控制对象设置计数器以判断目标设备控制对象对目标设备的控制次数是否小于或者等于第一值;还可以为目标设备控制对象预先发行一定数量的通证,每当目标设备控制对象通过控制指令对目标设备进行控制时均会消耗一定的通证,待目标设备控制对象的通证消耗完之后,则不再允许(或者在一段时间内不再运行)目标设备控制对象对目标设备进行控制;当然,还可以通过其他方式对目标设备控制对象对目标设备的控制次数进行统计,本公开对此不做限制。

步骤S708,上链存储成功后,将第二交易请求发送给目标设备,以便目标设备执行第二控制指令。

本实施例提供的技术方案,可以通过同一控制智能合约对目标控制对象发出的控制指令进行统一管控,使得目标控制对象对目标设备的控制次数在可控范围内,减少目标设备控制对象的非法攻击。

图8是根据一示例性实施例示出的一种基于区块链系统的设备控制方法。

在一些实施例,若通过不同控制智能合约对不同控制类型的控制指令进行处理,则可以通过图8所示方法对目标设备控制对象发出的第一交易请求进行处理。

其中,第一控制智能合约用于对第一控制类型的第一控制指令进行处理;并且,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一可以包括:确定目标设备控制对象针对目标设备进行第一控制类型的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行第一控制类型的控制次数加一。

参考图8,上述设备控制方法可以包括以下步骤。

步骤S802,接收目标设备控制对象发送的第二交易请求,第二交易请求携带用于对目标设备进行控制的第二控制指令。

步骤S804,确定与第二控制指令对应的第二控制智能合约,第二控制智能合约用于对第二控制类型的第二控制指令进行处理,第一控制类型和第二控制类型是不同的控制类型。

步骤S806,响应第二交易请求,执行第二控制智能合约,确定目标设备控制对象针对目标设备进行第二控制类型的控制次数小于或者等于第二值,将目标设备控制对象针对目标设备进行第二控制类型的控制次数加一,并将第二交易请求在区块链系统中上链存储。

在一些实施例中,可以在第二控制智能合约中为目标设备控制对象设置计数器以判断目标设备控制对象对目标设备进行第二控制类型的控制次数是否小于或者等于第一值;还可以为目标设备控制对象预先发行一定数量的通证,每当目标设备控制对象通过控制指令对目标设备进行控制时均会消耗一定的通证,待目标设备控制对象的通证消耗完之后,则不再允许(或者在一段时间内不再运行)目标设备控制对象对目标设备进行第二类型的控制;当然,还可以通过其他方式对目标设备控制对象对目标设备进行第二类型的控制次数进行统计,本公开对此不做限制。

步骤S808,上链存储成功后,将第二交易请求发送给目标设备,以便目标设备执行第二控制指令。

本实施例提供的技术方案,可以通过不同的控制智能合约对不同类型的控制指令进行处理,同样可以通过不同的控制智能合约对不同类型的控制指令的控制次数进行管控,实现了不同的控制类型进行不同的处理。

图9是根据一示例性示出的一种基于区块链的第一交易请求转发方法。

在一些实施例中,可以在第一交易请求上链存储成功之后直接将第一交易请求发送给目标设备;还可以通过图9所示方法将第一交易请求发送给目标设备。

参考图9,上述第一交易请求转发方法可以包括以下步骤。

步骤S902,确定与第一控制智能合约对应的第一响应智能合约,第一响应智能合约用于对第一控制指令所对应的响应进行处理。

其中,第一响应智能合约用于对第一控制指令的响应进行处理,该第一响应智能合约还可以对目标设备的响应次数进行管控。

其中,第一响应智能合约处理的响应可以是第一控制智能合约处理的控制指令的响应。

步骤S904,根据第一响应智能合约,确定目标设备响应控制指令的次数小于或者等于第三值,将目标设备响应控制指令的次数加一。

其中,确定目标设备响应控制指令的次数小于或者等于第三值可以确定的是目标设备在一段时间内总共的响应次数(不区分控制类型),还可以统计目标设备在一段时间内针对某种控制类型的控制指令的响应次数,本公开对此不做限制。

在一些实施例中,第一控制智能合约处理的控制指令的控制类型可以与第一响应智能合约处理的响应所对应的控制类型一致,而第一控制智能合约用于对第一控制类型的第一控制指令进行处理。那么,根据第一响应智能合约,确定目标设备响应控制指令的次数小于或者等于第三值,将目标设备响应控制指令的次数加一可以包括:根据第一响应智能合约,确定目标设备响应第一控制类型的控制指令的次数小于或者等于第三值;将目标设备响应第一控制类型的控制指令的次数加一。

在一些实施例中,可以在第一响应智能合约中为目标设备设置计数器以判断目标设备的响应次数是否小于或者等于第三值;还可以为目标设备预先发行一定数量的通证,每当目标设备针对控制指令进行响应时均会消耗一定的通证,待目标设备控制对象的通证消耗完之后,则目标设备不再针对任何指令进行响应;当然,还可以通过其他方式对目标设备的响应次数进行统计,本公开对此不做限制。

例如,第一响应智能合约可以用于根据第三值控制向目标设备发行的第一响应通证的数量。那么,根据第一响应智能合约,确定目标设备响应控制指令的次数小于或者等于第三值,将目标设备响应控制指令的次数加一可以包括:确定目标设备的第一响应通证的剩余数量大于或者等于第二数量;根据第二数量消耗目标设备的第二控制通证。

步骤S906,将第一交易请求发送给目标设备。

上述方法可以通过第一响应智能合约对目标设备的响应次数(例如在一段时间内的响应次数)进行控制,当目标设备的响应次数达到一定的阈值时,则不再向目标设备转发控制指令,以避免目标设备在一段时间内频繁响应,对目标设备造成损害,或者避免非法用户的非法攻击。

图10是根据一示例性实施例示出的一种基于区块链的设备控制方法。

本实施例所提供的方法可以由目标设备执行。

参考图10,上述基于区块链的设备控制方法可以包括以下步骤。

步骤S1002,接收目标区块链系统发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,第一交易请求由目标设备控制对象发送至目标区块链系统上链存储的,区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

步骤S1004,获取目标证书,目标证书由区块链系统的证书下发机构根据设备控制对象与目标设备的关联关系生成的,设备控制对象对目标设备有控制权。

其中目标证书可以指的是区块链系统的证书下发机构根据目标设备控制对象和目标设备的关联关系为目标设备或者目标设备控制对象生成的证书,该证书可以保存在目标设备的本地,也可以保存在区块链系统中,本公开对此不做限制。

步骤S1006,根据目标证书确定对目标设备有控制权的设备控制对象包括目标设备控制对象。

在一些实施例中,可以根据目标证书中存储的关联关系确定对目标设备有控制权的对象中是否有目标设备控制对象。

步骤S1008,执行第一交易请求中的第一控制指令。

在一些实施例中,若目标设备控制对象对目标设备有控制权,则目标设备可以执行第一交易请求中的第一控制指令;若目标设备控制对象对目标设备没有控制权,则目标设备拒绝执行第一交易请求中的第一控制指令。

本实施例提供的技术方案,可以通过目标证书存储目标设备与目标控制对象之间的关联关系,以便在目标设备获得第一控制指令时对第一控制指令的发送者的控制权限进行验证,提高了控制安全性。

图11是根据一示例性实施例示出的一种基于区块链的第三交易请求转发方法。

在目标设备将第一控制指令执行完成后,可以向区块链系统发送第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应,以便在第三交易请求上链存储成功后,将第三交易请求发送给目标设备控制对象。

区块链系统在接受到目标设备发送的第三交易请求后会通过节点设备执行以下步骤。

步骤S1102,接收目标设备针对第一控制指令返回的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应。

步骤S1104,确定与第一响应对应的第一响应智能合约。

步骤S1106,响应第三交易请求,执行第一响应智能合约,将第三交易请求在区块链系统中上链存储。

步骤S1108,上链存储成功后,将第三交易请求发送给目标设备控制对象。

在区块链系统向目标设备控制对象转发第三交易请求后,目标设备控制对象会从区块链系统接收目标设备发送的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;获取目标证书,目标证书由区块链系统的证书下发机构根据目标设备控制对象与目标设备的关联关系生成的,设备控制对象对目标设备有控制权;根据目标证书确定目标设备控制对象对目标设备有控制权,则根据第一控制指令确定第一控制指令获得的目标设备的响应,从而确定目标设备已完成此次控制指令。

本实施例提供的技术方案,一方面在目标设备在执行第一控制指令之后,及时向目标控制对象返回响应,以便目标控制对象获知第一控制指令的执行情况;另一方面,区块链系统会向将目标设备针对第一控制指令的响应上链,使得目标设备对目标设备控制对象的响应记录不可篡改,可溯源。

图12是根据一示例性实施例示出的一种基于区块链的设备控制方法。

本实施例提供了一种通过区块链系统操作物联网设备的系统和方法,所述系统的核心组件包括:区块链系统、用于通证(token)发行和通证(token)转账交易的智能合约、用户客户端、物联网设备客户端、物联网设备内置加密芯片,通过上述硬件设备和软件系统,实现物联网设备和设备所有者的关系绑定,物联网操作记录上链,可溯源,不可篡改。

本方案涉及的核心组件如下:

(1)区块链系统:本方案基于ChainMaker区块链系统,多个物联网设备生产厂商组成一个联盟,共同维护一条ChainMaker联盟链。采用TBFT共识算法,防止非法节点作恶,这条ChainMaker联盟链服务于物联网设备购买者,用户和物联网设备通过它进行通证(token)转账交易实现交互;

(2)智能合约:本方案涉及在ChainMaker区块链上部署通证(token)智能合约,用户对物联网设备进行不同类型的操作,需要在ChainMaker中部署相应的智能合约,对应发行不同的通证(token),运行合约执行相应的通证(token)转账交易;

·用户发送一笔部署智能合约的交易,交易中包含智能合约的字节码,交易被打包到区块中后,智能合约就被永久保存到区块链中;

·不同类型的通证(token)对应唯一的一种智能合约,在智能合约中指定通证(token)的名称,通证(token)的发行总量或者一段时间内的总发行量。

通过区块链系统对物联网设备进行操作,需要在区块链系统中部署两种智能合约:

1.一种用于用户对物联网设备的操作,对应一种第一控制通证(op_token)用户操作物联网设备的通证(token)需要向合约运营者购买,通证(token)有成本,可以防止非法攻击。

2.一种用于物联网设备操作成功后通知用户,对应一种第一响应通证(ok_token),第一响应通证(ok_token)为用户发行,可以有效控制设备响应次数(设备持有的第一响应通证(ok_token)为0时,不能再执行设备控制对象发送的指令)。

(3)用户客户端

通过ChainMaker SDK与长安链进行交互,发送交易,比如部署智能合约的交易、转账交易,订阅事件等;

用户客户端将用户对物联网设备不同的操作,转化为调用ChainMaker SDK发起不同类型的通证(token)转账交易;

将物联网设备的公钥保存到本地,并提供公钥访问和验证的功能。

(4)物联网设备客户端

接受请求,调用加密芯片生成物联网设备和设备所有者的公私钥;

通过ChainMaker SDK与长安链进行交互,比如发送转账交易,订阅事件等;

识别物联网设备收到的通证(token)类型,建立不同通证(token)类型与设备不同操作的对应关系,并执行相关操作;

将用户的公钥保存到本地,并提供公钥访问和验证的功能。

本方案涉及的核心操作流程如下:

1、通过加密芯片、ChainMaker CA,生成物联网设备和用户证书,具体流程如图6所示:物联网设备(一种目标设备)、用户通过(目标设备控制对象)向物联网设备客户端发送生成公私钥的请求;物联网设备客户端调用加密芯片,为物联网设备、用户生成公私钥,物联网设备本地存储物联网设备所有者的公钥,用来对设备所有者的身份进行验证;用户将自己和物联网设备的公钥发送给ChainMaker CA;ChainMaker CA生成用户和物联网设备的证书,用户的客户端保存物联网设备的证书,用来对物联网设备的身份进行验证。

2、用户通过区块链系统操作物联网设备,具体流程如图12所示:

物联网设备所有者1201发起一笔操作物联网设备的交易,向用户客户端SDK 1202输入相应的参数;用户通过用户客户端SDK向物联网设备转账1个第一控制通证(op_token),将交易发送给区块链节点1203。区块链节点将交易广播给相邻区块链节点,同时区块链节点运行智能合约执行转账交易,然后将交易存储到区块链中;物联网设备通过物联网客户端SDK 1204监听物联网设备的地址收到第一控制通证(op_token)的事件。物联网设备收到交易的事件响应:物联网设备收到一个第一控制通证(op_token),并且交易对手为设备所有者(可通过本地保存的设备所有者的公钥验签);物联网设备1205执行相应的操作指令;物联网设备1205操作成功后,物联网设备1205主动发起一笔告知用户设备操作成功的交易,向物联网设备客户端SDK 1204传入相应的参数;物联网设备通过物联网客户端SDK1204向设备所有者转账1个第一响应通证(ok_token),将交易发送给区块链节点1203;区块链节点1203将交易广播给相邻区块链节点,同时区块链节点运行智能合约执行转账交易,然后将交易存储到区块链中;物联网设备所有者1201通过用户客户端SDK 1202监听物联网设备所有者1201的地址收到第一响应通证(token)的事件。物联网设备所有者1201收到交易的事件响应:物联网设备所有者1201收到一个第一响应通证(ok_token),并且交易对手为物联网设备1205(可通过本地保存的物联网设备的公钥验签);用户客户端SDK 1202通知物联网设备所有者1201,物联网设备操作成功。

本公开实施例提供了一种通过区块链系统操作物联网设备的方法。本公开实施例基于ChainMaker区块链系统,采用TBFT拜占庭共识算法,在物联网设备中内置加密芯片,生成物联网设备和设备所有者的公私钥。通过ChainMaker CA(证书颁发机构)生成物联网设备和设备所有者的身份证书,用来进行身份标示和验证,身份证书中包含用户与设备的所有权关系,防止物联网设备的所有权关系被伪造。将物联网设备和设备的所有者都作为区块链用户,两者都具有查询交易、发起交易的权限。设备所有者对物联网设备的每一次操作,都可以通过设备所有者向物联网设备发起一笔通证(token)转账交易来实现,对设备的不同操作对应不同类型的通证(token)转账,物联网设备根据收到的通证(token)类型执行相应的操作。物联网设备操作成功后,同样也向设备所有者发起一笔第一响应通证(ok_token)转账交易,不同类型的操作成功执行后对应不同类型的第一响应通证(ok_token)转账,用户收到物联网设备发送的某种类型操作成功的第一响应通证(ok_token)后,就知道物联网设备相应类型的操作成功了。实现了通过区块链系统操作物联网设备,物联网设备的操作记录上链。

本实施例的创新点如下:

1.通过区块链的证书验证体系保证设备权属关系不被伪造,用户和物联网设备在整个交互过程需要相互确认对方身份,安全可靠。

2.用户对物联网设备的操作记录全部存储到区块链中,实现不可篡改,可追溯。

3.对物联网设备的操作次数受控,双向通证(token)除了可以增加作恶成本外,还可以提供给用户灵活定义设备响应次数的能力。用户操作物联网设备的通证(token)需要向合约运营者购买,通证(token)有成本,可以防止非法攻击,第一响应通证(ok_token)为用户发行,可以有效控制设备响应次数(设备持有的第一响应通证(ok_token)为0时,不能再执行远程指令)。

4.基于ChainMaker区块链系统,ChainMaker具备高并发、低延时、大规模节点组网等先进技术优势,交易吞吐能力可达10万TPS,保证了通过区块链系统对物联网设备操作的高性能。

5.采用ChainMaker区块链系统的tbft共识算法,tbft共识算法是拜占庭共识算法,可有效防止非法节点作恶,通过ChainMaker区块链系统,在保证安全、可信的前提下,实现对物联网设备的远程操作。

在一些实施例中,上述实施例的目标设备可以是交通工具(例如普通驾驶车辆、火车、飞机、无人车、无人飞机等),目标控制对象可以是交通工具的交通工具控制对象(例如上述普通驾驶车辆的车主、无人车的车主、无人飞机的所有者等)所对应的终端设备。若目标设备是交通工具,那么对应的基于区块链的交通工具控制方法可以包括以下过程。

1、设备控制对象执向区块链系统发送第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令,以便在第一交易请求上链存储成功后,将第一交易发送给目标交通工具;其中区块链系统是通过执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

2、区块链系统上的节点设备接收目标交通工具控制对象发送的第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令;确定与第一控制指令对应的第一控制智能合约;响应第一交易请求,执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一,并将第一交易请求在区块链系统中上链存储;上链存储成功后,将第一交易请求发送给目标交通工具,以便目标交通工具执行第一控制指令。

3、目标交通工具接收目标区块链系统发送的第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令,第一交易请求由目标交通工具控制对象发送至目标区块链系统上链存储的,区块链系统是通过执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的;获取目标证书,目标证书由区块链系统的证书下发机构根据设备控制对象与目标交通工具的关联关系生成的,设备控制对象对目标交通工具有控制权;根据目标证书确定对目标交通工具有控制权的设备控制对象包括目标交通工具控制对象;执行第一交易请求中的第一控制指令。

4、目标交通工具在第一控制指令执行完成后,向区块链系统发送第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应,以便在第三交易请求上链存储成功后,将第三交易请求发送给目标交通工具控制对象。

区块链系统上的节点设备接收目标交通工具针对第一控制指令返回的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;确定与第一响应对应的第一响应智能合约;响应第三交易请求,执行第一响应智能合约,将第三交易请求在区块链系统中上链存储;上链存储成功后,将第三交易请求发送给目标交通工具控制对象。

5、设备控制对象从区块链系统接收目标交通工具发送的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;获取目标证书,目标证书由区块链系统的证书下发机构根据目标交通工具控制对象与目标交通工具的关联关系生成的,设备控制对象对目标交通工具有控制权;根据目标证书确定目标交通工具控制对象对目标交通工具有控制权,则根据第一控制指令确定第一控制指令获得的目标交通工具的响应。

若上述交通工具是无人车,那么上述交通工具的控制过程具体可以参考图13所示实施例。

图13是根据一示例性实施例示出的一种基于区块链的无人车控制方法的流程图。

参考图13,上述无人车控制方法可以包括以下步骤。

多家无人汽车厂商(例如无人汽车生产商1301或无人汽车生产商1302等)组成一个联盟,共同维护一条ChainMaker联盟链,此联盟链服务于无人汽车车主(例如车主1303),车主可以通过连接此联盟链实现对无人汽车(例如无人汽车1304)的操作。

用户(例如车主1303)购买了一台无人汽车(例如无人汽车1304),首先线下触发无人汽车内置的“加密机(加密芯片)”为无人汽车和车主分别创建一对公私钥,并通过ChainMaker CA给这台无人汽车和车主都签发身份证书,证书中包含了车主与无人汽车的所有权关系,车主的公钥以及交互配置信息同时也导入无人汽车中;

车主通过用户客户端向ChainMaker联盟链发送两个通证(token)智能合约部署的交易,将车主启动无人汽车所需的智能合约部署到ChainMaker区块链上,一个智能合约发行第一控制通证(op_token)用来车主启动无人汽车,第一控制通证(op_token)需要向合约运营者购买,第一控制通证(op_token)有成本,可以防止非法攻击;另外一个智能合约发行第一响应通证(ok_token)用来无人汽车通知车主汽车已经成功启动,第一响应通证(ok_token)为用户发行,可以自定义控制设备响应次数;

把无人汽车和车主都作为区块链的用户,都具有查询交易、发起交易的权限,车主启动无人汽车可以通过一次转账交易来完成。车主向合约运营者购买了一定量的第一控制通证(op_token),车主同时也向无人汽车发行了一定量的第一响应通证(ok_token)。

车主启动无人汽车的过程为:

车主1303向无人汽车1304转账1个第一控制通证(op_token),该转账交易中携带控制指令;

无人汽车1304通过汽车客户端监听到自己收到一个第一控制通证(op_token)的事件,并且第一控制通证(op_token)的发送者为自己的主人(可通过本地保存的用户公钥验签);

无人汽车1304执行启动命令,启动成功后通过汽车客户端向车主1303发送一个第一响应通证(ok_token);

车主1303通过用户客户端监听到自己收到一个第一响应通证(ok_token)的事件,并且第一控制通证(op_token)的发送者为无人汽车1304(可以通过本地保存的无人汽车证书验签),则认为本次启动成功;一次安全的远程控制无人汽车启动的指令完成。

图14是根据一示例性实施例示出的一种基于区块链的设备控制装置的框图,该装置可以部署在区块链系统的节点设备中。参照图14,本公开实施例提供的基于区块链的设备控制装置1400可以包括:第一交易请求获取模块1401、第一控制智能合约确定模块1402、第一控制智能合约执行模块1403和请求发送模块1404。

其中,第一交易请求获取模块1401可以配置为接收目标设备控制对象发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令;第一控制智能合约确定模块1402可以配置为确定与第一控制指令对应的第一控制智能合约;第一控制智能合约执行模块1403可以配置为响应第一交易请求,执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一,并将第一交易请求在区块链系统中上链存储;请求发送模块1404可以配置为上链存储成功后,将第一交易请求发送给目标设备,以便目标设备执行第一控制指令。

在一些实施例中,第一控制智能合约用于根据第一值控制向目标设备控制对象发行的第一控制通证的数量;其中,第一控制智能合约执行模块1403可以包括:第一控制通证确定子模块和第一控制通证消耗子模块。

其中,第一控制通证确定子模块可以用于确定目标设备控制对象的第一控制通证的剩余数量大于或等于第一数量;第一控制通证消耗子模块可以用于根据第一数量消耗目标设备控制对象的第一控制通证。

在一些实施例中,基于区块链的设备控制装置1400还可以包括:第二交易请求获取模块、智能合约匹配模块、第二交易请求响应模块和第二交易请求上链存储模块。

其中,第二交易请求获取模块可以配置为接收目标设备控制对象发送的第二交易请求,第二交易请求携带用于对目标设备进行控制的第二控制指令,第一控制指令与第二控制指令是不同类型的控制指令;智能合约匹配模块可以配置为确定与第二控制指令对应的第一控制智能合约;第二交易请求响应模块可以配置为响应第二交易请求,执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一,并将第二交易请求在区块链系统中上链存储;第二交易请求上链存储模块可以配置为上链存储成功后,将第二交易请求发送给目标设备,以便目标设备执行第二控制指令。

在一些实施例中,第一控制智能合约用于对第一控制类型的第一控制指令进行处理;其中,第一控制智能合约执行模块1403可以包括:第一值匹配子模块,第一值匹配子模块可以用于确定目标设备控制对象针对目标设备进行第一控制类型的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行第一控制类型的控制次数加一;其中,基于区块链的设备控制装置还可以包括:第二交易请求接收模块、第二控制智能合约确定模块、第二控制智能合约执行模块、第二交易请求存储模块。

其中,第二交易请求接收模块可以用于接收目标设备控制对象发送的第二交易请求,第二交易请求携带用于对目标设备进行控制的第二控制指令;第二控制智能合约确定模块可以用于确定与第二控制指令对应的第二控制智能合约,第二控制智能合约用于对第二控制类型的第二控制指令进行处理,第一控制类型和第二控制类型是不同的控制类型;第二控制智能合约执行模块可以用于响应第二交易请求,执行第二控制智能合约,确定目标设备控制对象针对目标设备进行第二控制类型的控制次数小于或者等于第二值,将目标设备控制对象针对目标设备进行第二控制类型的控制次数加一,并将第二交易请求在区块链系统中上链存储;第二交易请求存储模块可以用于上链存储成功后,将第二交易请求发送给目标设备,以便目标设备执行第二控制指令。

在一些实施例中,请求发送模块1404可以包括:第一响应智能合约确定子模块、第三值比较子模块以及第一交易发送子模块。

其中,第一响应智能合约确定子模块可以用于确定与第一控制智能合约对应的第一响应智能合约,第一响应智能合约用于对第一控制指令所对应的响应进行处理;第三值比较子模块可以用于根据第一响应智能合约,确定目标设备响应控制指令的次数小于或者等于第三值,将目标设备响应控制指令的次数加一;第一交易发送子模块可以用于将第一交易请求发送给目标设备。

在一些实施例中,第一控制智能合约用于对第一控制类型的第一控制指令进行处理;其中,第三值比较子模块可以包括:控制次数比较子模块和次数加一子模块。

其中,控制次数比较子模块可以用于根据第一响应智能合约,确定目标设备响应第一控制类型的控制指令的次数小于或者等于第三值;次数加一子模块可以用于将目标设备响应第一控制类型的控制指令的次数加一。

在一些实施例中,第一响应智能合约用于根据第三值控制向目标设备发行的第一响应通证的数量;其中,第三值比较子模块可以包括:第一响应通证确定单元和第一响应通证消耗单元。

其中,第一响应通证确定单元可以用于确定目标设备的第一响应通证的剩余数量大于或者等于第二数量;第一响应通证消耗单元可以用于根据第二数量消耗目标设备的第二控制通证。

在一些实施例中,在接收目标设备控制对象发送的第一交易请求之前,基于区块链的设备控制装置还包括:第一控制智能合约接收模块、第一区块打包模块、第一共识处理模块以及第一控制智能合约部署模块。

其中,第一控制智能合约接收模块可以用于接收目标设备控制对象发送的第一控制智能合约;第一区块打包模块可以用于将第一控制智能合约打包形成第一区块;第一共识处理模块可以用于对第一区块中的第一控制智能合约进行共识处理;第一控制智能合约部署模块可以用于共识通过后,通过第一区块将第一控制智能合约上链部署;

在一些实施例中,基于区块链的设备控制装置还包括:第一响应智能合约接收模块、第二区块打包模块、第二区块共识模块以及第二区块上链模块。

其中,第一响应智能合约接收模块可以用于接收目标设备控制对象发送的第一响应智能合约;第二区块打包模块可以用于将第一响应智能合约打包形成第二区块;第二区块共识模块可以用于对第二区块中的第一响应智能合约进行共识处理;第二区块上链模块可以用于共识通过后,通过第二区块将第一响应智能合约上链部署。

在一些实施例中,基于区块链的设备控制装置还包括:第三交易请求接收模块、确定第一响应智能合约模块、第三交易请求响应模块以及第三交易请求上链模块。

其中,第三交易请求接收模块可以用于接收目标设备针对第一控制指令返回的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;确定第一响应智能合约模块可以用于确定与第一响应对应的第一响应智能合约;第三交易请求响应模块可以用于响应第三交易请求,执行第一响应智能合约,将第三交易请求在区块链系统中上链存储;第三交易请求上链模块可以用于上链存储成功后,将第三交易请求发送给目标设备控制对象。

图15是根据一示例性实施例示出的一种基于区块链的设备控制装置的框图,该装置可以部署在区块链系统的目标设备中。参照图15,本公开实施例提供的基于区块链的设备控制装置1500可以包括:第一交易请求接收模块、证书获取第一模块、关系确定第一模块以及指令执行模块。

其中,第一交易请求接收模块可以配置为接收目标区块链系统发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,第一交易请求由目标设备控制对象发送至目标区块链系统上链存储的,区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的;证书获取第一模块可以配置为获取目标证书,目标证书由区块链系统的证书下发机构根据设备控制对象与目标设备的关联关系生成的,设备控制对象对目标设备有控制权;关系确定第一模块可以配置为根据目标证书确定对目标设备有控制权的设备控制对象包括目标设备控制对象;指令执行模块可以配置为执行第一交易请求中的第一控制指令。

本公开实施例提供了一种基于区块链的设备控制装置,基于区块链的设备控制装置部署在设备控制对象中,装置包括:第一交易请求发送模块。

其中,第一交易请求发送模块可以配置为向区块链系统发送第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,以便在第一交易请求上链存储成功后,将第一交易发送给目标设备;其中区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

在一些实施例中,基于区块链的设备控制装置还可以包括:第三交易请求获取模块、目标证书获得模块以及控制权确定模块。

其中,第三交易请求获取模块可以用于从区块链系统接收目标设备发送的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;目标证书获得模块可以用于获取目标证书,目标证书由区块链系统的证书下发机构根据目标设备控制对象与目标设备的关联关系生成的,设备控制对象对目标设备有控制权;控制权确定模块可以用于根据目标证书确定目标设备控制对象对目标设备有控制权,则根据第一控制指令确定第一控制指令获得的目标设备的响应。

本公开实施例提供了一种基于区块链的设备控制装置,装置可以部署在区块链系统上的节点设备上;其中,装置包括:交通工具控制对象信息接收模块、控制智能合约匹配模块、执行智能合约模块、向交通工具发送信息模块。

其中,交通工具控制对象信息接收模块可以用于接收目标交通工具控制对象发送的第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令;控制智能合约匹配模块可以用于确定与第一控制指令对应的第一控制智能合约;执行智能合约模块可以用于响应第一交易请求,执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一,并将第一交易请求在区块链系统中上链存储;向交通工具发送信息模块可以用于上链存储成功后,将第一交易请求发送给目标交通工具,以便目标交通工具执行第一控制指令。

在一些实施例中,基于区块链的设备控制装置还可以包括:交通工具信息接收模块、响应智能合约确定模块、响应智能合约执行模块以及向交通工具控制对象发送信息模块。

其中,交通工具信息接收模块可以用于接收目标交通工具针对第一控制指令返回的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;响应智能合约确定模块可以用于确定与第一响应对应的第一响应智能合约;响应智能合约执行模块可以用于响应第三交易请求,执行第一响应智能合约,将第三交易请求在区块链系统中上链存储;向交通工具控制对象发送信息模块可以用于上链存储成功后,将第三交易请求发送给目标交通工具控制对象。

本公开实施例提供了一种基于区块链的设备控制装置,基于区块链的设备控置可以部署在目标交通工具上或者目标交通工具对应的终端上,装置包括:第一控制指令接收模块、获取证书模块、确定控制权模块以及第一指令执行模块。

其中,第一控制指令接收模块用于接收目标区块链系统发送的第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令,第一交易请求由目标交通工具控制对象发送至目标区块链系统上链存储的,区块链系统是通过执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的;获取证书模块可以用于获取目标证书,目标证书由区块链系统的证书下发机构根据设备控制对象与目标交通工具的关联关系生成的,设备控制对象对目标交通工具有控制权;确定控制权模块可以用于根据目标证书确定对目标交通工具有控制权的设备控制对象包括目标交通工具控制对象;第一指令执行模块可以用于执行第一交易请求中的第一控制指令。

在一些实施例中,基于区块链的设备控制装置还可以包括:第三交易生成模块,用于在第一控制指令执行完成后,向区块链系统发送第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应,以便在第三交易请求上链存储成功后,将第三交易请求发送给目标交通工具控制对象。

本公开实施例提供了一种基于区块链的设备控制装置,基于区块链的设备控制装置可以部署在设备控制对象中或者设备控制对象对应的终端上,装置包括:向区块链发送第一交易请求模块,用于向区块链系统发送第一交易请求,第一交易请求携带用于对目标交通工具进行控制的第一控制指令,以便在第一交易请求上链存储成功后,将第一交易发送给目标交通工具;其中区块链系统是通过执行第一控制智能合约,确定目标交通工具控制对象针对目标交通工具进行控制的控制次数小于或者等于第一值,将目标交通工具控制对象针对目标交通工具进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

在一些实施例中,装置还可以包括:第一响应接收模块、证书确定模块以及交通工具响应获取模块。

其中,第一响应接收模块可以用于从区块链系统接收目标交通工具发送的第三交易请求,第三交易请求携带用于对第一控制指令进行响应的第一响应;证书确定模块可以用于获取目标证书,目标证书由区块链系统的证书下发机构根据目标交通工具控制对象与目标交通工具的关联关系生成的,设备控制对象对目标交通工具有控制权;交通工具响应获取模块可以用于根据目标证书确定目标交通工具控制对象对目标交通工具有控制权,则根据第一控制指令确定第一控制指令获得的目标交通工具的响应。

由于上述装置的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。

描述于本申请实施例中所涉及到的模块和/或子模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或子模块也可以设置在处理器中。其中,这些模块和/或子模块的名称在某种情况下并不构成对该模块和/或子模块本身的限定。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

图16示出了适于用来实现本公开实施例的电子设备的结构示意图。需要说明的是,图16示出的电子设备1600仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图16所示,电子设备1600包括中央处理单元(CPU)1601,其可以根据存储在只读存储器(ROM)1602中的程序或者从储存部分1608加载到随机访问存储器(RAM)1603中的程序而执行各种适当的动作和处理。在RAM 1603中,还存储有电子设备1600操作所需的各种程序和数据。CPU 1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(I/O)接口1605也连接至总线1604。

以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1607;包括硬盘等的储存部分1608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入储存部分1608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(CPU)1601执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能可以包括:接收目标设备控制对象发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令;确定与第一控制指令对应的第一控制智能合约;响应第一交易请求,执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一,并将第一交易请求在区块链系统中上链存储;上链存储成功后,将第一交易请求发送给目标设备,以便目标设备执行第一控制指令。

当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能还可以包括:接收目标区块链系统发送的第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,第一交易请求由目标设备控制对象发送至目标区块链系统上链存储的,区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的;获取目标证书,目标证书由区块链系统的证书下发机构根据设备控制对象与目标设备的关联关系生成的,设备控制对象对目标设备有控制权;根据目标证书确定对目标设备有控制权的设备控制对象包括目标设备控制对象;执行第一交易请求中的第一控制指令。

当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能还可以包括:向区块链系统发送第一交易请求,第一交易请求携带用于对目标设备进行控制的第一控制指令,以便在第一交易请求上链存储成功后,将第一交易发送给目标设备;其中区块链系统是通过执行第一控制智能合约,确定目标设备控制对象针对目标设备进行控制的控制次数小于或者等于第一值,将目标设备控制对象针对目标设备进行控制的控制次数加一后,将第一交易请求在区块链系统中上链存储的。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图5、图7、图8、图9、图10、图11、图12或图13的一个或多个所示的步骤。

本领域技术人员在考虑说明书及实践在这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

技术分类

06120115935306