基于区块链的数据处理方法、装置、数据处理设备及系统
技术领域
本发明实施例涉及数据处理技术领域,具体涉及一种基于区块链的数据处理方法、装置、数据处理设备及系统。
背景技术
区块链一般被理解为一个分布式的账本,它实质上是一个分布式计算和存储系统。区块链有多个节点,不同节点通过一定的计算规则达成共识,并将共识后的交易执行结果以区块的形式存储至数据库中,多个区块组成了区块链,多个节点之间可以对区块互为备份。
但是,目前基于区块链的数据处理方式的效率并不高。
发明内容
本发明实施例一个目的旨在提供一种基于区块链的数据处理方法、装置、数据处理设备及系统,能够提高数据处理效率。
根据本发明实施例的第一方面,提供了一种基于区块链的数据处理方法,所述方法包括数据写入步骤;所述数据写入步骤包括:获取第一客户端的第一数据以及所述第一数据的第一签名;获取第二客户端的第二数据以及所述第二数据的第二签名;根据所述第一数据和/或所述第一签名,生成第一数据标识;根据所述第二数据和/或所述第二签名,生成第二数据标识;根据所述第一数据、所述第一签名、所述第一数据标识的对应关系以及所述第二数据、所述第二签名、所述第二数据标识的对应关系,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为交易数据包;将所述交易数据包发送到区块链网络,以使所述区块链网络的节点设备按照预设交易规则对所述交易数据包进行数据写入。
在一种可选的方式中,所述根据所述第一数据和/或所述第一签名,生成第一数据标识,进一步包括:将所述第一数据和/或所述第一签名进行哈希运算,得到第一哈希值,并将所述第一哈希值确定为所述第一数据标识;
所述根据所述第二数据和/或所述第二签名,生成第二数据标识,进一步包括:将所述第二数据和/或所述第二签名进行哈希运算,得到第二哈希值,并将所述第二哈希值确定为所述第二数据标识。
在一种可选的方式中,所述根据所述第一数据、所述第一签名、所述第一数据标识的对应关系以及所述第二数据、所述第二签名、所述第二数据标识的对应关系,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为交易数据包,进一步包括:按照所述第一数据标识、所述第一数据、所述第一签名、所述第二数据标识、所述第二数据、所述第二签名的顺序,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为所述交易数据包。
在一种可选的方式中,在将所述交易数据包发送到区块链网络之前,所述数据写入步骤还包括:压缩所述交易数据包。
在一种可选的方式中,所述数据写入步骤还包括:根据所述交易数据包,生成交易签名;将所述交易签名和所述第一数据标识返回所述第一客户端,并将所述交易签名和所述第二数据标识返回所述第二客户端;
所述将所述交易数据包发送到区块链网络,进一步还包括:将所述交易数据包和所述交易签名发送到所述区块链网络。
在一种可选的方式中,所述方法还包括数据读取步骤;
所述数据读取步骤包括:接收所述第一客户端发送的所述交易签名和所述第一数据标识;根据所述交易签名,从所述区块链网络获取所述交易数据包;根据所述第一数据标识,从所述交易数据包中获取所述第一数据和所述第一签名;将所述第一数据和所述第一签名返回所述第一客户端。
在一种可选的方式中,所述数据读取步骤还包括:储存所述交易签名和所述交易数据包;接收所述第二客户端发送的所述交易签名和所述第二数据标识;根据所述交易签名,确定所述交易数据包;根据所述第二数据标识,从所述交易数据包中获取所述第二数据和所述第二签名;将所述第二数据和所述第二签名返回所述第二客户端。
根据本发明实施例的第二方面,提供了一种基于区块链的数据处理装置,所述装置包括:获取模块,用于获取第一客户端的第一数据以及所述第一数据的第一签名,以及获取第二客户端的第二数据以及所述第二数据的第二签名;数据标识生成模块,用于根据所述第一数据和/或所述第一签名,生成第一数据标识,以及根据所述第二数据和/或所述第二签名,生成第二数据标识;数据包生成模块,用于根据所述第一数据、所述第一签名、所述第一数据标识的对应关系以及所述第二数据、所述第二签名、所述第二数据标识的对应关系,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为交易数据包;发送模块,用于将所述交易数据包发送到区块链网络,以使所述区块链网络的节点设备按照预设交易规则对所述交易数据包进行数据写入。
根据本发明实施例的第三方面,提供了一种数据处理设备,包括:处理器和存储器,当所述数据处理设备运行时,所述处理器执行所述可执行指令,使所述处理器执行如上所述的基于区块链的数据处理方法的操作。
根据本发明实施例的第四方面,提供了一种数据处理系统,包括:第一客户端、第二客户端、区块链网络以及如上所述的数据处理设备,所述第一客户端和所述第二客户端分别通过所述数据处理设备与所述区块链网络通信连接。
根据本发明实施例的第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行根据如上所述的基于区块链的数据处理方法的步骤。
本发明实施例通过获取第一客户端的第一数据以及第一数据的第一签名,获取第二客户端的第二数据以及第二数据的第二签名,根据第一数据和/或第一签名,生成第一数据标识,根据第二数据和/或第二签名,生成第二数据标识,根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包,将交易数据包发送到区块链网络,以使区块链网络的节点设备按照预设交易规则对交易数据包进行数据写入,能够同时将多个客户端的数据打包,一同发送到区块链网络,相比以往只能逐个客户端写入数据的情况,提高了数据处理效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据处理系统的结构示意图;
图2示出了本发明其中一实施例提供的一种基于区块链的数据处理方法的流程示意图;
图3示出了本发明另一实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4示出了本发明另又一实施例提供的一种基于区块链的数据处理方法的流程示意图;
图5示出了本发明实施例提供的一种基于区块链的数据处理装置的结构示意图;
图6示出了本发明实施例提供的数据处理设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
目前基于区块链的数据处理方式的效率并不高。具体为,传统的区块链网络的性能测试指标(Transaction Per Second,TPS)较低,例如,比特币(Bitcion)区块链网络的TPS为7,以太坊(Ethereum)区块链网络的TPS为20。
基于此,本发明实施例提供一种基于区块链的数据处理方法、装置、数据处理设备及数据处理系统,能够提高数据处理效率。
具体地,下面结合附图,对本发明实施例作进一步阐述。
其中,应当理解的是,本发明提供的下述实施例之间,只要不冲突,均可相互结合以形成新的实施方式。
图1示出了本发明实施例提供的一种数据处理系统的结构示意图。如图1所示,该系统10包括:客户端11、数据处理设备12和区块链网络13。
其中,客户端11的数量可以为多个,例如,客户端11可以包括第一客户端111和第二客户端112。
其中,客户端11与数据处理设备12通信连接,数据处理设备12与区块链网络13通信连接。客户端11可以通过数据处理设备12向区块链网络13写入数据,客户端11还可以通过数据处理设备12从区块链网络13读取数据。
其中,区块链网络13可以包括若干节点设备,若干节点设备中包括至少一个由指定管理方管理的节点设备。当某个节点设备获取到发送到区块链网络13的数据时,该节点设备构建包含该数据的交易,并在区块链网络13广播交易,其他节点设备当需要进行数据写入时,其他节点设备将交易打包成区块写入自身设备。其中,节点设备可以为计算机、笔记本、掌上电脑、服务器等计算设备。节点设备可以包括但不限于存储器和处理器。
图2示出了本发明其中一实施例提供的一种基于区块链的数据处理方法的流程示意图。该方法应用于图1中的数据处理系统,该方法包括数据写入步骤。
如图2所示,数据写入步骤包括:
步骤210、获取第一客户端的第一数据以及第一数据的第一签名,以及获取第二客户端的第二数据以及第二数据的第二签名。
其中,第一数据为第一客户端的用户需要写入区块链网络的数据,第二数据为第二客户端的用户需要写入区块链网络的数据。第一客户端和第二客户端均设置有公钥和私钥,第一客户端可以通过自身的私钥对第一数据进行签名加密,得到第一签名,第二客户端可以通过自身的私钥对第二数据进行签名加密,得到第二签名。
可选地,签名加密可以通过椭圆曲线数字签名算法(Elliptic Curve DigitalSignature Algorithm,ECDSA)实现。签名加密的过程可以为:一、选择一条椭圆曲线Ep(a,b),和基点G;二、选择私有密钥k(k<n,n为G的阶),利用基点G计算公开密钥K=kG;三、产生一个随机整数r(r<n),计算点R=rG;四、将原数据和点R的坐标值x,y作为参数,计算SHA1做为hash,即Hash=SHA1(原数据,x,y);五、计算s≡r-Hash*k(mod n);六、r和s做为签名值,如果r和s其中一个为0,重新从第三步开始执行。
其中,当第一客户端将第一数据和第一签名发送到数据处理设备后,则数据处理设备接收到第一数据和第一签名;当第二客户端将第二数据和第二签名发送到数据处理设备后,则数据处理设备接收到第二数据和第二签名。
其中,当数据处理设备接收到第一数据和第一签名时,数据处理设备对第一数据和第一签名进行缓存,当数据处理设备接收到第二数据和第二签名时,数据处理设备对第二数据和第二签名进行缓存。
步骤220、根据第一数据和/或第一签名,生成第一数据标识,以及根据第二数据和/或第二签名,生成第二数据标识。
其中,根据第一数据和/或第一签名,生成第一数据标识,具体可以为:将第一数据和/或第一签名进行哈希运算,得到第一哈希值,并将第一哈希值确定为第一数据标识。即,数据处理设备可以对第一数据,或者第一签名,或者第一数据和第一签名进行哈希运算,得到第一哈希值,从而生成第一数据标识。根据第二数据和/或第二签名,生成第二数据标识,具体可以为:将第二数据和/或第二签名进行哈希运算,得到第二哈希值,并将第二哈希值确定为第二数据标识。即,数据处理设备可以对第二数据,或者第二签名,或者第二数据和第二签名进行哈希运算,得到第二哈希值,从而生成第二数据标识。例如,数据处理设备对第一数据进行哈希运算,得到第一数据标识,对第二签名进行哈希运算,得到第二数据标识;又例如,数据处理设备对第一签名进行哈希运算,得到第一数据标识,数据处理设备对第二数据进行哈希运算,得到第二数据标识;再例如,数据处理设备对第一数据和第一签名进行哈希运算,得到第一数据标识,数据处理设备对第二数据和第二签名进行哈希运算,得到第二数据标识。
其中,数据处理设备运用的哈希算法可以为MD4、MD5、SHA-1或其他等等。
其中,计算得到的数据标识可以表示为:UserDataIDn=HASH(Dn||Sn),Dn为数据,Sn为签名,n为第n个客户端。若通过对数据进行哈希运算得到数据标识,则UserDataIDn=HASH(Dn);若通过对签名进行哈希运算得到数据标识,则UserDataIDn=HASH(Sn);若通过对数据和签名进行哈希运算得到数据标识,则UserDataIDn=HASH(Dn+Sn)。例如,若对第一数据进行哈希运算,得到的第一数据标识为UserDataID1=HASH(D1)。
需要说明的是,步骤210和步骤220可以先后进行也可以同时进行,例如,当数据处理设备获取到第一数据和第一签名后,数据处理设备生成第一数据标识,当数据处理设备获取到第二数据和第二签名后,数据处理设备生成第二数据标识。可选地,当数据处理设备生成第一数据标识后,仍未接收到第二数据时,数据处理设备等待预设时间,再执行步骤230的操作。预设时间可以根据实际情况进行设置,例如,当单位时间内接收到的不同客户端的数据较多时,即需要批量处理的数据较多时,则预设时间可以设置得较短,当单位时间内接收到的不同客户端的数据较少时,则预设时间可以设置得较长,以等待更多客户端的数据。通过使数据处理设备等待预设时间,能够使得数据处理设备获取尽量多的客户端的数据。
步骤230、根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包。
其中,交易数据包为用于写入区块链的数据包。第一数据、第一签名、第一数据标识的对应关系是指由第一客户端在一次写入过程中产生的第一数据、第一签名、第一数据标识的对应关系,第二数据、第二签名、第二数据标识的对应关系是由第二客户端在一次写入过程中产生的第二数据、第二签名、第二数据标识的对应关系。在步骤230中,可以根据预设存储规则将数据、签名、数据标识对应储存为交易数据包。
具体地,根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包,可以为:按照第一数据标识、第一数据、第一签名、第二数据标识、第二数据、第二签名的顺序,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包。例如,将交易数据包记为DATA,则DATA=[UserDataID1,D1,S1,UserDataID2,D2,S2]。
在一些实施例中,数据处理设备可以接收n个客户端的数据和签名,并生成n个客户端的数据标识,则交易数据包可以记为DATA=[UserDataID1,D1,S1,UserDataID2,D2,S2……UserDataIDn,Dn,Sn],n为整数。
在一些实施例中,当数据处理设备接收较多个客户端的数据时,或者某些数据的数据量较大,使得交易数据包的数据量较大时,在步骤240之前,该方法还包括:压缩交易数据包。通过对交易数据包进行压缩,以减小交易数据包的大小,从而提高处理效率。
步骤240、将交易数据包发送到区块链网络,以使区块链网络的节点设备按照预设交易规则对交易数据包进行数据写入。
其中,将交易数据包发送到区块链网络,具体可以包括:数据处理设备根据交易数据包,生成交易签名,并将交易数据包和交易签名发送到区块链网络中的任一节点设备。交易签名是由数据处理设备通过自身的私钥对交易数据包进行签名加密得到的。
其中,不同的区块链网络有不同的预设交易规则,当区块链网络中的某个节点设备获取到交易数据包时,该节点根据其所处的区块链网络的交易规则对交易数据包进行数据写入。例如,获取到交易数据包和交易签名的交易节点设备发起一条针对交易数据包的交易,该交易包括交易目标信息、交易数据包和交易签名;通过该交易节点设备在区块链网络中插入与该交易对应的新的区块,并将该新的区块同步给区块链网络中所有的节点设备,若其中一个节点设备收到交易节点设备同步的新的区块并进行验证后,该节点设备根据交易签名生成本地索引,从而将交易数据包写入自身节点。其中,交易目标信息是指交易相对方的账户地址,例如,在比特币区块链网络中,该账户地址是指脚本地址,在以太坊区块链网络中,该账户地址是指合约地址。当然,在一些其他实施例中,区块链网络的节点设备还可以按照预设交易规则将交易数据包写入其他的存储设备。
需要说明的是,本实施例中的基于区块链的数据处理方法还能够获取两个以上客户端的数据以及签名,根据数据和/或签名生成数据标识,并根据数据、签名、数据标识的对应关系将数据、签名、数据标识储存为交易数据包,将交易数据包发送到区块链网络,从而同时写入多个客户端的数据。
本实施例通过获取第一客户端的第一数据以及第一数据的第一签名,获取第二客户端的第二数据以及第二数据的第二签名,根据第一数据和/或第一签名,生成第一数据标识,根据第二数据和/或第二签名,生成第二数据标识,根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包,将交易数据包发送到区块链网络,以使区块链网络的节点设备按照预设交易规则对交易数据包进行数据写入,能够同时将多个客户端的数据打包,一同发送到区块链网络,相比以往只能逐个客户端写入数据的情况,提高了数据处理效率。
在一些实施例中,该数据写入步骤还包括:
步骤250、将交易签名和第一数据标识返回第一客户端,并将交易签名和第二数据标识返回第二客户端。
其中,当数据处理设备生成交易数据包后,数据处理设备根据交易数据包生成交易签名,并将交易签名和第一数据标识返回第一客户端,将交易签名和第二数据标识返回第二客户端,以使第一客户端和第二客户端可以根据交易签名和数据标识进行后续的数据读取。
图3示出了本发明另一实施例提供的一种基于区块链的数据处理方法的流程示意图。该方法应用于图1中的数据处理系统,该方法还包括数据读取步骤。
如图3所示,该数据读取步骤包括:
步骤310、接收第一客户端发送的交易签名和第一数据标识。
其中,当第一客户端的用户希望获取之前写入区块链网络的第一数据时,第一客户端将交易签名和第一数据标识发送到数据处理设备,则数据处理设备接收到第一客户端发送的交易签名和第一数据标识。
步骤320、根据交易签名,从区块链网络获取交易数据包。
其中,数据处理设备从区块链网络中读取与交易签名对应的交易,并从该交易中获取交易数据包。其中,数据处理设备可以对交易签名进行验证以对该交易进行确认。
步骤330、根据第一数据标识,从交易数据包中获取第一数据和第一签名。
其中,数据处理设备在获取到交易数据包后,若该交易数据包被压缩,则可以先对该交易数据包进行解压,然后从交易数据包中提取第一数据和第一数据对应的第一签名。例如,假设数据处理设备获取到交易数据包为DATA=[UserDataID1,D1,S1,UserDataID2,D2,S2],则数据处理设备从DATA中提取第一数据D1和第一签名S1。
步骤340、将第一数据和第一签名返回第一客户端。
其中,数据处理设备将第一数据和第一签名返回至第一客户端后,第一客户端可以通过公钥对第一签名进行验证,若验证正确,则第一客户端确认数据读取成功。
当然,在一些其他实施例中,第一客户端也可以自行从区块链网络中读取交易签名对应的交易,从而从交易数据包中提取第一数据和第一签名。
在一些实施例中,如图4所示,该数据读取步骤还包括:
步骤350、储存交易签名和交易数据包;
步骤360、接收第二客户端发送的交易签名和第二数据标识;
步骤370、根据交易签名,确定交易数据包;
步骤380、根据第二数据标识,从交易数据包中获取第二数据和第二签名;
步骤390、将第二数据和第二签名返回第二客户端。
其中,数据处理设备在根据第一客户端发送的交易签名,从区块链网络获取交易数据包后,数据处理设备将该交易签名和交易数据包对应储存,当数据处理设备再接收到第二客户端发送的交易签名时,数据处理设备根据该交易签名获取对应的交易数据包,直接自身储存的交易数据包中读取第二数据标识对应的第二数据和第二签名,并将第二数据和第二签名返回给第二客户端。通过以上方式,数据处理设备将交易签名和交易数据包对应储存,当再接收到相同的交易签名时,数据处理设备无需再从区块链网络中读取数据,而是直接从自身的交易数据包中读取数据,提高的数据读取速度。
可选地,数据处理设备可以包括数据写入装置、数据读取装置和存储装置,数据写入装置、数据读取装置分别与存储装置连接,数据写入装置还与客户端和区块链网络连接,数据读取装置还与客户端和区块链网络连接。数据写入装置从客户端获取数据并写入区块链网络,与数据读取装置从区块链网络读取数据并返回客户端可以同时进行,以同时实现数据写入和数据读取,从而进一步提高数据处理效率。
本实施例通过接收第一客户端发送的交易签名和第一数据标识,根据交易签名,从区块链网络获取交易数据包,根据第一数据标识,从交易数据包中获取第一数据和第一签名,将第一数据和第一签名返回第一客户端,能够从区块链网络中读取多个客户端的数据,提高了数据处理效率。
图5示出了本发明实施例提供的一种基于区块链的数据处理装置的结构示意图。如图5所示,该装置400包括:获取模块410、数据标识生成模块420、数据包生成模块430和发送模块440。
其中,获取模块410用于获取第一客户端的第一数据以及所述第一数据的第一签名,以及获取第二客户端的第二数据以及所述第二数据的第二签名;数据标识生成模块420用于根据所述第一数据和/或所述第一签名,生成第一数据标识,以及根据所述第二数据和/或所述第二签名,生成第二数据标识;数据包生成模块430用于根据所述第一数据、所述第一签名、所述第一数据标识的对应关系以及所述第二数据、所述第二签名、所述第二数据标识的对应关系,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为交易数据包;发送模块440用于将所述交易数据包发送到区块链网络,以使所述区块链网络按照预设交易规则写入所述交易数据包。
在一种可选的方式中,数据标识生成模块420具体用于:将所述第一数据和/或所述第一签名进行哈希运算,得到第一哈希值,并将所述第一哈希值确定为所述第一数据标识;将所述第二数据和/或所述第二签名进行哈希运算,得到第二哈希值,并将所述第二哈希值确定为所述第二数据标识。
在一种可选的方式中,数据包生成模块430具体用于:按照所述第一数据标识、所述第一数据、所述第一签名、所述第二数据标识、所述第二数据、所述第二签名的顺序,将所述第一数据、所述第一签名、所述第一数据标识、所述第二数据、所述第二签名、所述第二数据标识储存为所述交易数据包。
在一种可选的方式中,该装置400还包括:压缩模块。压缩模块用于压缩所述交易数据包。
在一种可选的方式中,该装置300还包括:签名模块和返回模块。签名模块用于根据所述交易数据包,生成交易签名;返回模块用于将所述交易签名和所述第一数据标识返回所述第一客户端,并将所述交易签名和所述第二数据标识返回所述第二客户端。发送模块440具体用于:将所述交易数据包和所述交易签名发送到所述区块链网络。
在一种可选的方式中,该装置400还包括:读取信息接收模块、数据包获取模块、数据读取模块、数据返回模块。读取信息接收模块用于接收所述第一客户端发送的所述交易签名和所述第一数据标识;数据包获取模块用于根据所述交易签名,从所述区块链网络获取所述交易数据包;数据读取模块用于根据所述第一数据标识,从所述交易数据包中获取所述第一数据和所述第一签名;数据返回模块用于将所述第一数据和所述第一签名返回所述第一客户端。
在一种可选的方式中,该装置400还包括:存储模块和数据包确定模块。存储模块用于储存所述交易签名和所述交易数据包;读取信息接收模块还用于接收所述第二客户端发送的所述交易签名和所述第二数据标识;数据包确定模块用于根据所述交易签名,确定所述交易数据包;数据读取模块还用于根据所述第二数据标识,从所述交易数据包中获取所述第二数据和所述第二签名;数据返回模块还用于将所述第二数据和所述第二签名返回所述第二客户端。
需要说明的是,本发明实施例提供的基于区块链的数据处理装置是能够执行上述基于区块链的数据处理方法的装置,则上述基于基于区块链的数据处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本实施例通过获取模块获取第一客户端的第一数据以及第一数据的第一签名,获取第二客户端的第二数据以及第二数据的第二签名,数据标识生成模块根据第一数据和/或第一签名,生成第一数据标识,根据第二数据和/或第二签名,生成第二数据标识,根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,数据包生成模块将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包,发送模块将交易数据包发送到区块链网络,以使区块链网络的节点设备按照预设交易规则对交易数据包进行数据写入,能够同时将多个客户端的数据打包,一同发送到区块链网络,相比以往只能逐个客户端写入数据的情况,提高了数据处理效率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述任意方法实施例中的基于区块链的数据处理方法。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的基于区块链的数据处理方法。
图6示出了本发明实施例提供的数据处理设备的结构示意图,本发明具体实施例并不对数据处理设备的具体实现做限定。
其中,数据处理设备包括:处理器和存储器。存储器用于存放至少一可执行指令,当数据处理设备运行时,处理器执行可执行指令,使处理器执行根据上述任意方法实施例中的基于区块链的数据处理方法的步骤。
可选地,如图6所示,该数据处理设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述任意方法实施例中的基于区块链的数据处理方法。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。数据处理设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本实施例通过数据处理设备获取第一客户端的第一数据以及第一数据的第一签名,获取第二客户端的第二数据以及第二数据的第二签名,根据第一数据和/或第一签名,生成第一数据标识,根据第二数据和/或第二签名,生成第二数据标识,根据第一数据、第一签名、第一数据标识的对应关系以及第二数据、第二签名、第二数据标识的对应关系,将第一数据、第一签名、第一数据标识、第二数据、第二签名、第二数据标识储存为交易数据包,将交易数据包发送到区块链网络,以使区块链网络的节点设备按照预设交易规则对交易数据包进行数据写入,能够同时将多个客户端的数据打包,一同发送到区块链网络,相比以往只能逐个客户端写入数据的情况,提高了数据处理效率。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。