一种基于区块链的数据交互方法及装置与流程

文档序号:15639771发布日期:2018-10-12 21:55阅读:197来源:国知局

本发明涉及计算机技术领域,尤其涉及一种基于区块链的数据交互方法及装置。



背景技术:

随着互联网的发展,线上交易的方式已经成为趋势。然而,传统的利用互联网线上交易的方式,在进行数据交易时,容易导致双方的交易信息泄露,并且整个交易过程交由第三方平台进行管控的,导致该交易过程的真实性无从验证。



技术实现要素:

本发明实施例提供了一种基于区块链的数据交互方法及装置,可以使得数据交易过程更为安全并实现了交易过程的不可抵赖性,方便了数据交易过程。

第一方面,本发明实施例提供了一种基于区块链的数据交互方法,包括:

第一设备通过区块链网络对交易请求进行广播;所述交易请求至少包括目标智能合约的地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

所述第一设备接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

所述第一设备若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

第二方面,本发明实施例还提供了一种基于区块链的数据交互方法,应用于区块链网络中的节点设备,包括:

接收由第一设备广播的交易请求;所述交易请求携带目标智能合约地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

根据所述交易请求执行所述目标智能合约得到第二数据信息,并将所述第二数据信息返回至所述第一设备,以便所述第一设备若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

记录由所述第一设备写入区块链中的支付结果。

第三方面,本发明实施例提供了一种基于区块链的数据交互装置,包括:

发送模块,用于通过区块链网络对交易请求进行广播;所述交易请求至少包括目标智能合约的地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

接收模块,用于接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

处理模块,用于若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

第四方面,本发明实施例还提供了一种基于区块链的数据交互装置,应用于区块链网络中的节点设备,包括:

接收模块,用于接收由第一设备广播的交易请求;所述交易请求携带目标智能合约地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

处理模块,用于根据所述交易请求执行所述目标智能合约得到第二数据信息;

发送模块,用于将所述第二数据信息返回至所述第一设备,以便所述第一设备若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

记录模块,用于记录由所述第一设备写入区块链中的支付结果。

综上所述,该第一设备可以通过区块链网络对交易请求进行广播,区块链网络中的节点设备在接收到该交易请求后,可以根据该交易请求执行目标智能合约,并返回第二数据信息,以便该第一设备根据该第二信息确认交易后,可以根据该目标智能合约中的支付信息执行操作,并将得到的支付结果写入区块链中,从而保障了数据交易过程的安全性,并实现了交易过程的不可抵赖性,方便了数据交易过程。

附图说明

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

图1为本发明实施例提供的一种基于区块链的数据交互系统的网络架构图;

图2为本发明实施例提供的一种基于区块链的数据交互方法的流程示意图;

图3为本发明实施例提供的另一种基于区块链的数据交互方法的流程示意图;

图4为本发明实施例提供的一种包含服务目录的界面的示意图;

图5为本发明实施例提供的一种基于区块链的数据交互装置的结构示意图;

图6为本发明实施例提供的另一种基于区块链的数据交互装置的结构示意图;

图7为本发明实施例提供的一种电子设备的结构示意图;

图8为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例的技术方案进行描述。

区块链技术是一种分布式账本技术,是一种互联网数据库技术,它的本质是去中心化、可以由多方共同维护一个不断增长的分布式数据记录。去中心化可以解决传统的数据交易中心的数据留存问题,以及在数据查询过程中引起的客户流失,用户间的不信任和数据资产再次贩卖等问题,并且一定程度上提高了数据安全性、数据隐私性以及数据掌控性。

区块链通过密码学技术保护数据传输和访问的安全,使得任何一方难以篡改、抵赖、造假。狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账,能够存储简单的、有先后关系的、能在系统内验证的数据。基于区块链的智能合约不仅可以发挥智能合约在成本效率方面的优势,还可以避免恶意行为对智能合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由于区块链技术的特性,可以使得智能合约的存储、读取、执行过程是透明、可追踪、不可篡改的。

一个基于区块链的数据交互系统,可以实现安全、可信赖的数据交易过程。该基于区块链的数据交易系统可以采用数据dna技术对数据提供商的数据进行认证,以用于证明数据的价值收益权归属。其中,数据dna技术主要是对数据进行哈希运算得到该数据的哈希值,或者通过摘要算法对数据计算得到该数据的摘要信息的技术。由于不同的数据得到的哈希值或摘要信息是不同的,因此不同数据的哈希值或摘要信息可以用于区分不同的数据,该不同数据的哈希值或摘要信息可以作为该不同数据的数据标识写入对应的智能合约中,以便在将该对应的智能合约写入区块链后,作为正版证明。

由于区块链上的时间戳以及用户地址的唯一性,因此在用户进行交易后,完全可以证明用户对该数据(如数据产品)的拥有权。在不同数据提供方写入区块链的智能合约中存在相同的数据标识时,则可以经由第三方仲裁决定该数据的归属权。通过将数据的哈希值或者数据的摘要信息以智能合约的形式写入区块链中,可以有效地保障数据的安全和隐私。

请参阅图1,为本发明实施例提供的一种基于区块链的数据交互系统的网络架构示意图。该系统可以包括第一设备10、区块链网络中的节点设备20。可选地,该系统还可以包括第二设备30。该区块链网络中的节点设备20可以为一个或多个。该第一设备10、该区块链网络中的节点设备20、该第二设备30可以为服务器或者智能终端。

该第二设备30可以为用户提供数据。该第一设备10可以购买由第二设备30提供的数据。在一个实施例中,该第一设备10以及第二设备30可以接入到区块链网络中,作为区块链网络中的一个节点设备。

该第二设备30可以目标智能合约写入区块链中以便实现数据交易过程。该目标智能合约至少可以包括该第二设备30写入的第一数据信息、交易信息等信息。该目标原始数据包括但不限于电影、音乐、文档等数字内容。该第一数据信息至少可以包括目标原始数据和/或该目标原始数据的数据概览。该交易信息包括但不限于交易价格、交易方式、交易账户。该交易方式包括但不限于虚拟货币或网上转账等方式。

在一个实施例中,该目标智能合约还可以包括目标原始数据的数据标识以及该目标原始数据的数据描述信息。该目标原始数据的数据标识可以是由第二设备30利用摘要算法对所述第二设备30中存储的目标原始数据进行计算后得到并写入所述目标智能合约中的。该数据描述信息与数据概览不同。该数据描述信息主要用于在第一设备发起交易请求之前,方便用户掌握关于目标原始数据的一些基本信息,以便于确认是否购买。该数据概览主要用于在第一设备发起交易请求后,使得用户可以掌握关于该目标原始数据的一些其它基本信息,以便于用户再次确认是否购买。在一个实施例中,该目标原始数据的数据概览可以为该目标原始数据的其中一部分数据内容。

例如,在用户a确认购买数据1后,该第一设备10可以通过区块链网络广播交易请求(该交易请求可以包括智能合约1的地址的标识),区块链网络中的节点设备20在接收到该交易请求后,可以根据该交易请求执行智能合约1,并返回数据1的数据概览,在该第一设备10根据该数据1的数据概览确认交易时,则可以根据智能合约1包括的交易信息执行交易操作,并将支付结果(包括但不限于交易凭证、交易成功、交易失败等信息)写入区块链中,该区块链网络中的节点设备20还可以记录由该第一设备10写入区块链的支付结果。在一个实施例中,该第一设备10还可以在将支付结果写入区块链后,通过区块链网络获取由第二设备30提供的数据1以进行存储,或者,第一设备10在通过区块链网络获取由第二设备30提供的利用第一设备10的公钥加密后的数据1后,利用所述第一设备的私钥对该加密后的数据1进行解密得到所述数据1以进行存储。

请参阅图2,为本发明实施例提供的一种基于区块链的数据交互方法的流程示意图。图2所示的方法可以应用在图1所示的系统中。具体地,该方法可以包括:

s101、第一设备通过区块链网络对交易请求进行广播。

本发明实施例中,该交易请求至少包括目标智能合约的地址的标识。

在一个实施例中,若该第一数据信息中包括目标原始数据,则该目标原始数据可以为数据量小于预设数据量值的数据。即,在一定情况下,还可以通过目标智能合约在区块链上存储小数据。

s102、区块链网络中的节点设备接收由第一设备广播的交易请求。

s103、所述区块链网络中的节点设备根据所述交易请求执行所述目标智能合约得到第二数据信息,并将所述第二数据信息返回至所述第一设备。

本发明实施例中,区块链网络中的节点设备可以在通过存储的目标智能合约接收到该第一设备广播的交易请求后,执行该目标智能合约以得到第二数据信息。

其中,该所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息。该对所述第一数据信息进行处理后得到的数据信息包括但不限于以下任意一项对该第一数据信息进行哈希处理后得到的数据信息和/或对该第一数据信息进行加密处理后得到的数据信息,还可以包括对该第一数据信息进行签名处理后得到的数据信息。

例如,该第二数据信息可以包括加密处理后的第一数据信息,或者还可以包括对该第一数据信息进行签名处理后得到的数字签名以及该第一数据信息,或者还可以包括对该第一数据信息进行哈希处理后得到的第一摘要信息以及该第一数据信息,本发明实施例在此不一一列举。

需要说明的是,该第二数据信息的具体数据内容可以与目标智能合约相关。例如,对该第一数据信息进行处理的过程就可以作为该目标智能合约所规定的条款中的一部分。值得一提的是,根据实际应用场景的不同以及该目标智能合约所规定的条款的不同,该第二数据信息的具体数据内容存在一定差异。

例如,该目标智能合约可以规定:在接收到交易请求时,将第二数据信息发送至第一设备,该第二数据信息至少包括第一数据信息。

或者,该目标智能合约可以规定:在接收到交易请求时,对该目标智能合约中的第一数据信息进行处理后,将第二数据信息发送至第一设备,该第二信息至少包括对该第一数据信息进行处理后得到的数据信息。在一个实施例中,该第二信息还可以包括第一数据信息。

或者,若该第一数据信息包括目标原始数据的数据概览,该目标智能合约可以规定:在接收到交易请求时,从第二设备或者从区块链网络中的节点设备的内存中获取该目标原始数据,并将第二数据信息发送至第一设备。该第二信息可以包括该目标原始数据与该目标原始数据的数据概览。

或者,假设该第一数据信息包括目标原始数据的数据概览。该目标智能合约可以规定:在接收到交易请求时,对该目标原始数据以及该目标原始数据的数据概览进行处理(如加密处理)后,将第二数据信息发送至第一设备,该第二数据信息至少包括对该目标原始数据进行处理后得到的数据信息(如对该目标原始数据进行加密处理得到的加密的目标原始数据)以及对该目标原始数据的数据概览进行处理后得到的数据信息(如对该目标原始数据的数据概览进行加密处理得到的加密的目标原始数据的数据概览)。

s104、所述第一设备接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息。

s105、所述第一设备若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

本发明实施例中,第一设备可以接收由该区块链网络中的节点设备在根据该交易请求执行该目标智能合约后返回的第二数据信息,并可以根据该第二数据信息确认是否交易。该第一设备若根据该第二数据信息确认交易,则该第一设备可以根据该目标智能合约的交易信息执行支付操作。

在一个实施例中,若该第二数据信息包括对该第一数据信息进行处理后得到的数据信息,该对该第一数据信息进行处理后的数据信息为利用该第一设备的公钥加密处理后的第一数据信息,则该第一设备可以利用该第一设备的私钥对该加密处理后的第一数据信息进行解密处理,得到第一数据信息。该第一设备若接收到由用户根据该第一数据信息输入的确认购买操作,则表示该第一设备根据该第二数据信息确认交易。

在一个实施例中,若该第二数据信息包括对该第一数据信息以及对该第一数据信息进行处理后得到的数据信息,该对该第一数据信息进行处理后的数据信息为利用该第一设备的公钥进行签名处理后得到的数据信息(数字签名),则该第一设备可以利用该数字签名来验证该第一数据信息的真实性。即可以利用该第一数据信息以及该第一设备的私钥对该数字签名进行解签处理以验证该第一数据信息的真实性。若解签通过,则表示对该第一数据信息的真实性验证通过。若解签失败,则表示对该第一数据信息的真实性验证失败。在第一设备对该数据签名解签通过后,该第一设备若接收到由用户根据该第一数据信息输入的确认购买操作,则表示该第一设备根据该第二数据信息确认交易。

在一个实施例中,若该第二数据信息包括第一数据信息以及对该第一数据信息进行处理后得到的数据信息,该对该第一数据信息进行处理后得到的数据信息为对该第一数据信息进行哈希运算后得到的第一摘要信息,则该第一设备可以对该第一数据信息进行哈希运算得到第二摘要信息,比较该第一摘要信息与该第二摘要信息的一致性,以验证该第一数据信息的真实性。若一致,则表示对该第一数据信息的真实性验证通过,否则,则表示对该第一数据信息的真实性验证失败。在对该第一数据信息的真实性验证通过后,该第一设备若接收到由用户根据该第一数据信息输入的确认购买操作,则表示该第一设备根据该第二数据信息确认交易。

在一个实施例中,该第一设备可以输出提示信息或者交易确认界面,该提示信息或者该交易确认界面可以用于使用户根据该第二数据信息输入确认购买操作。在对第一数据信息的真实性验证失败后,该用户终端还可以输出提示信息,以提示用户。

在一个实施例中,该支付结果可以包括交易凭证。若该第一设备是根据该目标智能合约的交易信息在区块链上执行支付操作,则该支付结果可以直接由该第一设备写入区块链中的。若该第一设备是根据该目标智能合约的交易信息在区块链下执行支付操作,则该第一设备可以获取支付结果,并将该支付结果写入区块链中。

s106、区块链网络中的节点设备记录由所述第一设备写入区块链中的支付结果。

该第一设备可以通过该区块链网络对该支付结果进行广播。该区块链网络中的节点设备可以记录由该第一设备写入区块链中的支付结果。

本发明实施例中,该第一设备可以通过区块链网络对交易请求进行广播,区块链网络中的节点设备在接收到该交易请求后,可以根据该交易请求执行目标智能合约,并返回第二数据信息,以便该第一设备根据该第二信息确认交易后,可以根据该目标智能合约中的支付信息执行操作,并将得到的支付结果写入区块链中,从而保障了数据交易过程的安全性,并方便实现交易过程的不可抵赖性。

请参阅图3,为本发明实施例提供的另一种基于区块链的数据交互方法的流程示意图。图3所示的方法可以应用在图1所示的系统中。具体地,该方法可以包括:

s201、第一设备读取区块链上的智能合约。

s202、所述第一设备根据所述区块链上的智能合约生成并输出服务目录。

其中,该服务目录包括多个数据的数据描述信息以及各自对应的数据标识。该区块链上的智能合约可以包括目标智能合约,该目标智能合约可以包括目标原始数据的数据标识以及该目标原始数据的数据描述信息。该目标原始数据的数据标识包括但不限于该目标原始数据的名称、编号。该目标原始数据的数据描述信息包括但不限于该目标原始数据的类别、简介。

请参阅图4,为本发明实施例提供的一种包含服务目录的界面的示意图。具体地,该服务目录可以包括数据xxx选项,数据xxxx选项、数据xxxxx选项,各个数据的选项可以包括该各个数据的数据标识以及各自对应的数据描述信息,该数据xxx的数据描述信息为歌手1、歌曲1,该数据xxxx的数据描述信息为歌手2、歌曲2,该数据xxxxx的数据描述信息为歌手3、歌曲3。

需要说明的是,本发明实施例根据应用场景的不同,区块链上的智能合约的不同,该服务目录包括但不限于如图4所示的服务目录,本发明实施例在此不一一列举。

s203、所述第一设备在检测到用户根据所述服务目录输入的购买操作时,生成交易请求。

本发明实施例中,用户可以根据服务目录包含的多个数据的数据标识以及各自对应的数据描述信息来选择需要购买的数据,该第一设备可以在检测到该用户根据该服务目录输入的购买操作时,生成交易请求。

在一个实施例中,若该第一设备的服务目录所在界面可以包括购买按钮,该第一设备在检测到用户根据该服务目录输入的购买操作时,生成交易请求,可以为:该第一设备在检测到用户对服务目录中目标原始数据选项(包括该目标原始数据的数据标识和该目标原始数据的数据描述信息)的点击操作后,若检测到针对该购买按钮的点击操作,则生成交易请求。

例如,如图4所示,在第一设备检测到用户对服务目录中数据xxxx选项(包括数据xxxx和该数据xxxx的数据描述信息)的点击操作后,若检测到针对该服务目录所在界面的购买按钮的点击操作,则生成交易请求。

在一个实施例中,该第一设备在检测到用户根据该服务目录输入的购买操作时,生成交易请求,还可以为:第一设备在检测到针对该服务目录中的目标原始数据选项(包括目标原始数据的数据标识以及该目标原始数据的数据描述信息)的触控操作时,跳转到包括购买按钮的页面,以便在检测到针对该购买按钮的点击操作后生成交易请求。

在一个实施例中,该第一设备在检测到用户根据该服务目录输入的购买操作时,生成交易请求,还可以为:该第一设备还可以在检测到针对该服务目录中的目标原始数据目录的目标触控操作(如指定滑动操作)时,生成交易请求。

s204、第一设备通过区块链网络对交易请求进行广播。

s205、区块链网络中的节点设备接收由第一设备广播的交易请求。

s206、所述区块链网络中的节点设备根据所述交易请求执行所述目标智能合约得到第二数据信息,并将所述第二数据信息返回至所述第一设备。

s207、所述第一设备接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息。

s208、所述第一设备若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

s209、区块链网络中的节点设备记录由所述第一设备写入区块链中的支付结果。

需要说明的是,步骤s204-s209可以参见图1实施例中的步骤s101-s106,本发明实施例在此不做赘述。

在一个实施例中,区块链网络中的节点设备可以根据该目标原始数据的数据标识查询该第二设备中是否存在该目标原始数据;若查询到该第二设备中存在该目标原始数据,则执行步骤s206中的根据该交易请求执行该目标智能合约得到第二数据信息。

在一个实施例中,区块链网络中的节点设备可以根据该目标原始数据的数据标识查询该第二设备中是否存在该目标原始数据;若查询到该第二设备中存在该目标原始数据,该过程还可以发生在步骤s206中的根据所述交易请求执行所述目标智能合约得到第二数据信息之后,将所述第二数据信息返回至所述第一设备之前。

在一个实施例中,上述区块链网络中的节点设备可以根据该目标原始数据的数据标识查询该第二设备中是否存在该目标原始数据的步骤可以为目标智能合约中所规定的条款。

具体地,该根据该目标原始数据的数据标识查询该第二设备中是否存在该目标原始数据,包括:从该第二设备获取该目标原始数据的数据标识;验证从第二设备获取的该目标原始数据的数据标识是否与目标智能合约中的该目标原始数据的数据标识一致;若一致,则确定该第二设备存在该目标原始数据;若不一致,则返回交易失败的信息至该第一设备。

s210、所述第一设备对目标原始数据进行可信度评估,并将所述评估结果写入区块链中。

s211、区块链网络中的节点设备记录由所述第一设备写入区块链中的评估结果。

其中,所述评估结果是所述第一设备对目标原始数据进行可信度评估后得到的。

需要说明的是,该第一设备对目标原始数据进行可信度评估,可以为:该第一设备获取由用户输入的针对该目标原始数据的评价数据(如服务评价、信任度评价、数据描述评价)以进行可信度评估,并将该评价数据作为评估结果。

在一个实施例中,该区块链网络中的节点设备可以也可以参与可信度评估过程,例如,该区块链网络中的节点设备可以统计该目标原始数据的数据提供方所对应的成交量、交易总额等数据,并将该成交量以及该交易总额等数据计入到上述评估结果中。

可见,图3所示的实施例中,第一设备可以根据服务目录生成对目标原始数据的交易请求,并可以通过区块链网络对该交易请求进行广播,以接收由区块链网络中的节点设备在根据所述交易请求执行目标智能合约后返回的第二数据信息,使得该第一设备可以根据该第二信息执行交易操作,并可以将支付结果以及评价结果写入区块链中,不仅方便了用户购买数据,还保证了交易过程的不可抵赖性,以及数据交易过程的安全性。

请参阅图5,为本发明实施例提供的一种基于区块链的数据处理装置的结构示意图。该装置可以应用于图2-图3实施例中的第一设备中。具体地,该装置可以包括:

发送模块11,用于通过区块链网络对交易请求进行广播;所述交易请求至少包括目标智能合约的地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

接收模块12,用于接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

处理模块13,用于若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

在一种可选的实施方式中,在所述第一数据信息包括目标原始数据时,所述第二数据信息至少包括所述目标原始数据和/或对所述目标原始数据进行处理后得到的数据信息;和/或,在所述第一数据信息包括目标原始数据的数据概览时,所述第二数据信息至少包括所述目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息。

在一种可选的实施方式中,所述目标智能合约是由第二设备写入区块链中的;所述目标智能合约还包括所述目标原始数据的数据标识;所述数据标识是由所述第二设备利用摘要算法对所述第二设备中存储的目标原始数据进行计算后得到并写入所述目标智能合约中的。

在一种可选的实施方式中,所述第二数据信息是所述节点设备根据所述目标原始数据的数据标识查询到所述第二设备存在所述目标原始数据后得到的。

在一种可选的实施方式中,存储模块14,用于若所述第二数据信息包括目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息,则在将得到的支付结果写入区块链中之后,通过接收模块12从所述区块链网络获取由所述第二设备提供的所述目标原始数据以进行存储;或者,在通过接收模块12从所述区块链网络获取由所述第二设备提供的利用所述第一设备的公钥加密后的目标原始数据后,利用所述第一设备的私钥对所述加密后的目标原始数据进行解密得到所述目标原始数据以进行存储。

在一种可选的实施方式中,所述目标智能合约还包括所述目标原始数据的数据描述信息。

在一种可选的实施方式中,读取模块15,用于在发送模块11通过区块链网络对交易请求进行广播之前,读取区块链上的智能合约。

在一种可选的实施方式中,生成模块16,用于根据所述区块链上的智能合约生成服务目录;所述服务目录包括多个数据的数据描述信息以及各自对应的数据标识。

在一种可选的实施方式中,输出模块17,用于输出服务目录。

在一种可选的实施方式中,生成模块16,还用于在检测到用户根据所述服务目录输入的购买操作时,生成交易请求。

在一种可选的实施方式中,处理模块13,还用于若所述第二数据信息包括对所述第一数据信息进行处理后得到的数据信息,所述对所述第一数据信息进行处理后得到的数据信息包括利用所述第一设备的公钥加密处理后的第一数据信息,在若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作之前,利用所述第一设备的私钥对所述第二数据信息进行解密得到第一数据信息;若透过接收模块12接收到由用户根据所述第一数据信息输入的确认购买操作,则表示所述第一设备根据所述第二数据信息确认交易。

在一种可选的实施方式中,评估模块18,用于对目标原始数据进行可信度评估,并将所述评估结果写入区块链中。

可见,图5所示的实施例中,第一设备可以通过区块链网络对交易请求进行广播,并可以接收由区块链网络中的节点设备根据该交易请求执行目标智能合约后返回的第二数据信息,从而可以在根据该第二数据信息确认交易时,根据该目标智能合约中的交易信息执行支付操作,并将得到的支付结果写入区块链中,使得数据交易过程更加安全且具有不可抵赖性。

请参阅图6,为本发明实施例提供的另一种基于区块链的数据处理装置的结构示意图。该装置可以用于图2-图3实施例中的区块链网络中的节点设备中。具体地,该装置可以包括:

接收模块21,用于接收由第一设备广播的交易请求;所述交易请求携带目标智能合约地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

处理模块22,用于根据所述交易请求执行所述目标智能合约得到第二数据信息;

发送模块23,用于将所述第二数据信息返回至所述第一设备,以便所述第一设备若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

记录模块24,用于记录由所述第一设备写入区块链中的支付结果。

在一种可选的实施方式中,在所述第一数据信息包括目标原始数据时,所述第二数据信息至少包括所述目标原始数据和/或对所述目标原始数据进行处理后得到的数据信息;和/或,在所述第一数据信息包括目标原始数据的数据概览时,所述第二数据信息至少包括所述目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息。

在一种可选的实施方式中,所述目标智能合约还包括所述目标原始数据的数据标识;所述数据标识是由所述第二设备利用摘要算法对所述第二设备中存储的目标原始数据进行计算后得到并写入所述目标智能合约中的。

在一种可选的实施方式中,查询模块25,用于根据所述目标原始数据的数据标识查询所述第二设备中是否存在所述目标原始数据;若查询到所述第二设备中存在所述目标原始数据,则通过处理模块22根据所述交易请求执行所述目标智能合约得到第二数据信息的操作。

在一种可选的实施方式中,所述查询模块25,具体用于从所述第二设备获取所述目标原始数据的数据标识;验证从第二设备获取的所述目标原始数据的数据标识是否与目标智能合约中的所述目标原始数据的数据标识一致;若一致,则确定所述第二设备存在所述目标原始数据;若不一致,则确定所述第二设备不存在所述目标原始数据,并通过发送模块23返回交易失败的信息至所述第一设备。

在一种可选的实施方式中,所述记录模块24,还用于在所述记录由所述第一设备写入区块链中的支付结果之后,记录由所述第一设备写入区块链中的评估结果;其中,所述评估结果是所述第一设备对目标原始数据进行可信度评估后得到的。

在一种可选的实施方式中,在所述第二数据信息包括目标原始数据的数据概览和/或对目标原始数据的数据概览进行处理后得到的数据信息时,获取模块26,用于在记录模块24记录由所述第一设备写入区块链中的支付结果之后,获取由所述第二设备提供的所述目标原始数据以通过发送模块23发送至所述第一设备;或,获取由所述第二设备提供的利用所述第一设备的公钥加密后的目标原始数据以通过发送模块23发送至所述第一设备。

可见,图6所示的实施例中,区块链网络中的节点设备可以接收由区块链网络中的节点设备根据该交易请求,并在根据该交易请求执行目标智能合约后返回第二数据信息至第一设备,以便该第一设备根据该第二数据信息确认交易后,可以根据该目标智能合约中的交易信息执行支付操作,并将得到的支付结果写入区块链中,该区块链网络中的节点设备可以记录该支付结果,使得数据交易过程更加安全,并方便实现交易过程的不可抵赖性。

请参阅图7,为本发明实施例提供的一种电子设备的结构示意图。该电子设备可以为图2-图3实施例中的第一设备。本实施例中的电子设备可以包括:一个或多个处理器701;一个或多个输入设备702,一个或多个输出设备703和存储器704。上述处理器701、输入设备702、输出设备703和存储器704通过总线705连接。存储器704用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令。

应当理解,在本发明实施例中,所称处理器701可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备702可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备703可以包括显示器(lcd等)、扬声器等。该输入设备702以及输出设备703还可以包括标准的有线以及无线通信接口。

该存储器704可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。

在本发明实施例中,由处理器701加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述图2-图3所示方法流程的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器701加载并执行如下步骤:

通过区块链网络对交易请求进行广播;所述交易请求至少包括目标智能合约的地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

接收由所述区块链网络中的节点设备在根据所述交易请求执行所述目标智能合约后返回的第二数据信息;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

若根据所述第二数据信息确认交易,则根据所述目标智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中。

在一种可选的实施方式中,在所述第一数据信息包括目标原始数据时,所述第二数据信息至少包括所述目标原始数据和/或对所述目标原始数据进行处理后得到的数据信息;和/或,在所述第一数据信息包括目标原始数据的数据概览时,所述第二数据信息至少包括所述目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息。

在一种可选的实施方式中,所述目标智能合约是由第二设备写入区块链中的;所述目标智能合约还包括所述目标原始数据的数据标识;所述数据标识是由所述第二设备利用摘要算法对所述第二设备中存储的目标原始数据进行计算后得到并写入所述目标智能合约中的。

在一种可选的实施方式中,所述第二数据信息是所述节点设备根据所述目标原始数据的数据标识查询到所述第二设备存在所述目标原始数据后得到的。

在一种可选的实施方式中,若所述第二数据信息包括所述目标原始数据的数据概览或者为处理后的目标原始数据的数据概览,一条或一条以上指令由处理器701加载并执行在所述将得到的支付结果写入区块链中之后,还用于执行如下步骤:通过所述区块链网络获取由所述第二设备提供的所述目标原始数据以进行存储;或者,在通过所述区块链网络获取由所述第二设备提供的利用所述第一设备的公钥加密后的目标原始数据后,利用所述第一设备的私钥对所述加密后的目标原始数据进行解密得到所述目标原始数据以进行存储。

在一种可选的实施方式中,所述目标智能合约还包括所述目标原始数据的数据描述信息;一条或一条以上指令由处理器701加载并执行在通过区块链网络对交易请求进行广播之前,还用于执行如下步骤:读取区块链上的智能合约;根据所述区块链上的智能合约生成并输出服务目录;所述服务目录包括多个数据的数据描述信息以及各自对应的数据标识;在检测到用户根据所述服务目录输入的购买操作时,生成交易请求。

在一种可选的实施方式中,若所述第二数据信息包括对所述第一数据信息进行处理后得到的数据信息,所述对所述第一数据信息进行处理后得到的数据信息包括利用所述第一设备的公钥加密处理后的第一数据信息,一条或一条以上指令由处理器701加载并执行若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作之前,还用于执行以下步骤:利用所述第一设备的私钥对所述第二数据信息进行解密得到第一数据信息;若接收到由用户根据所述第一数据信息输入的确认购买操作,则表示所述第一设备根据所述第二数据信息确认交易。

在一种可选的实施方式中,一条或一条以上指令由处理器701加载,还用于执行如下步骤:对目标原始数据进行可信度评估,并将所述评估结果写入区块链中。

可见,图7所示的实施例中,第一设备可以通过区块链网络对交易请求进行广播,并可以接收由区块链网络中的节点设备根据该交易请求执行目标智能合约后返回的第二数据信息,从而可以在根据该第二数据信息确认交易时,根据该目标智能合约中的交易信息执行支付操作,并将得到的支付结果写入区块链中,使得数据交易过程更加安全且具有不可抵赖性。

请参阅图8,为本发明实施例提供的另一种电子设备的结构示意图。该电子设备可以为图2-图3实施例中的区块链网络中的节点设备。本实施例中的电子设备可以包括:一个或多个处理器801;一个或多个输入设备802,一个或多个输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线805连接。存储器804用于存储计算机程序,所述计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令。

应当理解,在本发明实施例中,所称处理器801可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备802可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备803可以包括显示器(lcd等)、扬声器等。该输入设备802以及输出设备803还可以包括标准的有线以及无线通信接口。

该存储器804可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。

在本发明实施例中,由处理器801加载并执行计算机存储介质中存放的一条或多条程序指令,以实现上述图2-图3所示方法流程的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器801加载并用于执行如下步骤:

接收由第一设备广播的交易请求;所述交易请求携带目标智能合约地址的标识;所述目标智能合约至少包括第一数据信息、交易信息;

根据所述交易请求执行所述目标智能合约得到第二数据信息,并将所述第二数据信息返回至所述第一设备,以便所述第一设备若根据所述第二数据信息确认交易,则根据所述智能合约的交易信息执行支付操作,并将得到的支付结果写入区块链中;所述第二数据信息至少包括第一数据信息和/或对所述第一数据信息进行处理后得到的数据信息;

记录由所述第一设备写入区块链中的支付结果。

在一种可选的实施方式中,在所述第一数据信息包括目标原始数据时,所述第二数据信息至少包括所述目标原始数据和/或对所述目标原始数据进行处理后得到的数据信息;和/或,在所述第一数据信息包括目标原始数据的数据概览时,所述第二数据信息至少包括所述目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息。

在一种可选的实施方式中,所述目标智能合约还包括所述目标原始数据的数据标识;所述数据标识是由所述第二设备利用摘要算法对所述第二设备中存储的目标原始数据进行计算后得到并写入所述目标智能合约中的。

在一种可选的实施方式中,一条或一条以上指令由处理器801加载,还用于执行如下步骤:根据所述目标原始数据的数据标识查询所述第二设备中是否存在所述目标原始数据;若查询到所述第二设备中存在所述目标原始数据,则执行所述根据所述交易请求执行所述目标智能合约得到第二数据信息的步骤。

在一种可选的实施方式中,一条或一条以上指令由处理器801加载并用于执行所述根据所述目标原始数据的数据标识查询所述第二设备中是否存在所述目标原始数据,具体用于执行如下步骤:从所述第二设备获取所述目标原始数据的数据标识;验证从第二设备获取的所述目标原始数据的数据标识是否与目标智能合约中的所述目标原始数据的数据标识一致;若一致,则确定所述第二设备存在所述目标原始数据;若不一致,则确定所述第二设备不存在所述目标原始数据,并返回交易失败的信息至所述第一设备。

在一种可选的实施方式中,一条或一条以上指令由处理器801加载并执行记录由所述第一设备写入区块链中的支付结果之后,还用于执行如下步骤:记录由所述第一设备写入区块链中的评估结果;其中,所述评估结果是所述第一设备对目标原始数据进行可信度评估后得到的。

在一种可选的实施方式中,在所述第二数据信息包括目标原始数据的数据概览和/或对所述目标原始数据的数据概览进行处理后得到的数据信息时,一条或一条以上指令由处理器801加载并用于执行所述在记录由所述第一设备写入区块链中的支付结果之后,还用于执行如下步骤:获取由所述第二设备提供的所述目标原始数据以发送至所述第一设备;或,获取由所述第二设备提供的利用所述第一设备的公钥加密后的目标原始数据以发送至所述第一设备。

可见,图8所示的实施例中,区块链网络中的节点设备可以接收由区块链网络中的节点设备根据该交易请求,并在根据该交易请求执行目标智能合约后返回第二数据信息至第一设备,以便该第一设备根据该第二数据信息确认交易后,可以根据该目标智能合约中的交易信息执行支付操作,并将得到的支付结果写入区块链中,该区块链网络中的节点设备可以记录该支付结果,使得数据交易过程更加安全且具有不可抵赖性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

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