CN111488626A - 基于区块链的数据处理方法、装置、设备及介质 - Google Patents
基于区块链的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111488626A CN111488626A CN202010273718.3A CN202010273718A CN111488626A CN 111488626 A CN111488626 A CN 111488626A CN 202010273718 A CN202010273718 A CN 202010273718A CN 111488626 A CN111488626 A CN 111488626A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- target transaction
- target
- valid
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据处理方法、装置、设备以及可读存储介质,方法包括:从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;若所述目标交易数据具有有效性,则将所述目标交易数据存储至所述区块链网络的区块中,所述区块位于第二缓存区;若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。采用本申请,可以有效避免无效的数据加入区块链,有利于节省区块的存储空间。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在分布式的节点系统中,由节点竞争获得当前处理数据的权力,作为区块生成节点;生成的区块再经过其他节点的验证确认后,再进行存储。上述运行机制使得区块链中记录在区块内的数据几乎不可能被篡改;如果源数据在加入区块链之前如果已经存在错误,将错误的源数据加入区块就会导致后续数据的真实性存疑,同时浪费区块的存储空间,产生大量无意义的区块。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及介质,有效避免无效的数据加入区块链,有利于节省区块的存储空间。
本申请实施例提供一种基于区块链的数据处理方法,包括:
从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
若所述目标交易数据具有有效性,则将所述目标交易数据存储至所述区块链网络的区块中,所述区块位于第二缓存区;
若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。
其中,所述对所述目标交易数据进行回滚,包括:
在所述第一缓存区查询所述目标交易数据对应的执行结果;
从所述第一缓存区中移除所述目标交易数据对应的执行结果以及所述目标交易数据。
其中,所述属性信息包括为预测执行所述目标交易数据所需要电子资源的第一数量;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
获取实际执行所述目标交易数据所需要的电子资源的第二数量;
将所述第一数量与所述第二数量进行对比;
若所述第一数量大于所述第二数量,则确定所述目标交易数据具有有效性;
若所述第一数量小于或等于所述第二数量,则确定所述目标交易数据不具有有效性。
其中,所述属性信息包括目标交易数据的大小;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
将所述目标交易数据的大小与交易数据的大小对应的阈值进行对比;
若所述目标交易数据的大小大于所述交易数据的大小对应的阈值,则确定所述目标交易数据不具有有效性;
若所述目标交易数据的大小小于或等于所述交易数据的大小对应的阈值,则确定所述目标交易数据具有有效性。
其中,所述属性信息包括签名信息;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
获取所述目标交易数据对应的公钥;
根据所述目标交易数据对应的公钥对所述签名信息进行验证;
若验证通过,则确定所述目标交易数据具有有效性;
若验证未通过,则确定所述目标交易数据不具有有效性。
其中,所述方法还包括:
获取所述区块链网络中确定所述目标交易数据具有有效性的节点设备的数量;
若所获取到的数量大于数量阈值,则确定所述目标交易数据具有合法性;
若所获取到的数量小于或等于所述数量阈值,则确定所述目标交易数据不具有合法性。
其中,所述从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息,包括:
接收待上链的交易数据,将所述待上链的交易数据存储至所述第一缓存区;
获取所述第一缓存区中各个交易数据的特征信息,所述特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;
根据所述特征信息从所述第一缓存区块中按序读取交易数据,将所读取的交易数据确定为所述目标交易数据。
其中,所述区块链网络中包括智能合约,所述智能合约声明所述区块链网络中的交易数据的存储规则;
所述智能合约用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,在所述目标交易数据具有有效性时,将所述目标交易数据存储至所述区块链网络的区块中;
在所述目标交易数据不具有有效性时,对所述目标交易数据进行回滚。
本申请实施例提供一种基于区块链的数据处理装置,包括:
第一获取模块,用于从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
验证模块,用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
存储模块,用于若所述目标交易数据具有有效性,则将所述目标交易数据存储至所述区块链网络的区块中,所述区块位于第二缓存区;
回滚模块,用于若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。
其中,所述回滚模块包括:
查询单元,用于在所述第一缓存区查询所述目标交易数据对应的执行结果;
移除单元,用于从所述第一缓存区中移除所述目标交易数据对应的执行结果以及所述目标交易数据。
其中,所述属性信息包括为预测执行所述目标交易数据所需要电子资源的第一数量;
其中,所述验证模块包括:
第一获取单元,用于获取实际执行所述目标交易数据所需要的电子资源的第二数量;
第一对比单元,用于将所述第一数量与所述第二数量进行对比;
第一确定单元,用于若所述第一数量大于所述第二数量,则确定所述目标交易数据具有有效性;
第二确定单元,用于若所述第一数量小于或等于所述第二数量,则确定所述目标交易数据不具有有效性。
其中,所述属性信息包括目标交易数据的大小;
其中,所述验证模块还包括:
第二对比单元,用于将所述目标交易数据的大小与交易数据的大小对应的阈值进行对比;
第三确定单元,用于若所述目标交易数据的大小大于所述交易数据的大小对应的阈值,则确定所述目标交易数据不具有有效性;
第四确定单元,用于若所述目标交易数据的大小小于或等于所述交易数据的大小对应的阈值,则确定所述目标交易数据具有有效性。
其中,所述属性信息包括签名信息;
其中,所述验证模块还包括:
第二获取单元,用于获取所述目标交易数据对应的公钥;
验证单元,用于根据所述目标交易数据对应的公钥对所述签名信息进行验证;
第五确定单元,用于若验证通过,则确定所述目标交易数据具有有效性;
第六确定单元,用于若验证未通过,则确定所述目标交易数据不具有有效性。
其中,所述装置还包括:
第二获取模块,用于获取所述区块链网络中确定所述目标交易数据具有有效性的节点设备的数量;
第一确定模块,用于若所获取到的数量大于数量阈值,则确定所述目标交易数据具有合法性;
第二确定模块,用于若所获取到的数量小于或等于所述数量阈值,则确定所述目标交易数据不具有合法性。
其中,第一获取模块包括:
存储单元,用于接收待上链的交易数据,将所述待上链的交易数据存储至所述第一缓存区;
第三获取单元,用于获取所述第一缓存区中各个交易数据的特征信息,所述特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;
第七确定单元,用于根据所述特征信息从所述第一缓存区块中按序读取交易数据,将所读取的交易数据确定为所述目标交易数据。
其中,所述区块链网络中包括智能合约,所述智能合约声明所述区块链网络中的交易数据的存储规则;
所述智能合约用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,在所述目标交易数据具有有效性时,将所述目标交易数据存储至所述区块链网络的区块中;
在所述目标交易数据不具有有效性时,对所述目标交易数据进行回滚。
本申请实施例提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述方法。
本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,以执行如本申请实施例中的方法。
在本申请实施例中,通过从第一缓存区读取目标交易数据,获取该目标交易数据的属性信息,根据该目标交易数据的属性信息验证该目标交易数据的有效性。若该目标交易数据具有有效性,表明该目标交易数据准确无误,或者,该目标交易数据未被篡改等,则将该目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;若该目标交易数据不具有有效性,表明该目标交易中具有错误数据,或者,该目标交易数据被篡改等,则对该目标交易数据进行回滚。采用本申请,通过根据目标交易数据的属性信息验证目标交易数据的有效性,可有效避免无效的数据加入区块链,有利于节省区块的存储空间,从而保证了区块链中数据的有效性。另外,通过将目标交易数据缓存于第一缓存区,在验证通过时,将目标交易数据记录在第二缓存区的区块中;也就是说,通过对目标交易数据进行双层缓存,有利于有序地对目标交易数据的有效性进行验证,提高验证的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种数据处理系统的架构示意图;
图1b是本申请实施例提供的一种数据共享系统的示意图;
图1c是本申请实施例提供的一种区链块的结构示意图;
图1d是本申请实施例提供的一种新区块产生过程的示意图;
图2是本申请实施例提供的一种基于区块链的数据处理的应用场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图5是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请所涉及的区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效纪录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链各网络节点共同认可的一种数学算法。
首先介绍本申请应用的数据处理系统的架构,如图1a所示。该系统架构示意图包括区块链网络及多个终端,图1a中以包括三个终端为例,分别为第一终端、第二终端和第三终端。其中,第一终端、第二终端和第三终端可用于从区块链网络获取交易数据,或向区块链网络上传交易数据。
其中,上述区块链网络可以是如图1b所示的区块链网络100,区块链网络100是指用于进行节点设备与节点设备之间数据共享的系统,该区块链网络中可以包括多个节点设备101,多个节点设备101可以是指区块链网络中各个客户端。每个节点设备101在进行正常工作可以接收到交易数据,并基于接收到的交易数据维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点设备之间可以存在信息连接,节点设备之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点设备接收到交易数据时,区块链网络中的其他节点设备便根据共识算法获取该交易数据,将该交易数据作为共享数据中的数据进行存储,使得区块链网络中全部节点设备上存储的数据均一致。
对于区块链网络中的每个节点设备,均具有与其对应的节点设备标识,而且区块链网络中的每个节点设备均可以存储有区块链网络中其他节点设备的节点设备标识,以便后续根据其他节点设备的节点设备标识,将生成的区块广播至区块链网络中的其他节点设备。每个节点设备中可维护一个如下表所示的节点设备标识列表,将节点设备名称和节点设备标识对应存储至该节点设备标识列表中。其中,节点设备标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点设备的信息,表1中仅以IP地址为例进行说明。
表1:
| 节点设备名称 | 节点设备标识 |
| 节点设备1 | 117.114.151.174 |
| 节点设备2 | 117.116.189.145 |
| … | … |
| 节点设备N | 119.123.789.258 |
区块链网络中的每个节点设备均存储一条相同的区块链。区块链由多个区块组成,参见图1c,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有交易数据特征值、版本号、时间戳和难度值,区块主体中存储有交易数据;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的交易数据特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中交易数据的安全性。
在生成区块链中的各个区块时,参见图1d,区块链所在的节点设备在接收到交易数据时,对交易数据进行校验,完成校验后,将交易数据存储至内存池中,并更新其用于记录交易数据的哈希树;之后,将更新时间戳更新为接收到交易数据的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为交易数据的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点设备根据区块链网络中其他节点设备的节点设备标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点设备,由其他节点设备对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
进一步地,如图2所示,在具体实施该基于区块链的数据处理方法的过程中,如图2所示,各个终端设备可以向区块链网络中上传交易数据,下面以第一终端向区块链网络中上传交易数据为例。第一终端可以向区块链网络中上传目标交易数据,相应地,节点设备101可以接收第一终端所发送的目标交易数据,将该目标交易数据缓存于第一缓存区,获取该目标交易数据的属性信息;根据目标交易数据的属性信息验证该目标交易数据的有效性。当节点设备101验证该目标交易数据具有有效性时,可以将该目标交易数据记录到区块链网络中的区块中。如图2中,节点设备101可以将目标交易数据存储至区块10001中,区块10001包括区块头和区块体,区块头中包括10000H、10001H、10001T等等,其中,10000H代表区块链中区块10000的区块头哈希值,10001H区块中区块体中交易数据所对应的哈希值,10001T代表区块10001的区块生成时间戳。区块体中包括目标交易数据,当然,还可以包括其他交易数据。如果该目标交易数据不具有有效性,则在第一缓存区对目标交易数据进行回滚。
其中,区块链网络中的节点设备、第一终端、第二终端和第三终端可以为计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobileinternet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等;还可以是指是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心。
进一步地,请参见图3,是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图,该方法可以由计算机设备来执行,该计算机设备可以为图1b中的节点设备101。如图3所示,上述方法可以包括:
S101,从第一缓存区读取目标交易数据,获取目标交易数据的属性信息。
计算机设备可接收终端所发送的交易数据,将所接收到的交易数据确定为待上链的交易数据,将待上链的多个交易数据存储第一缓存区,并按照一定的顺序从第一缓存区中读取目标交易数据。其中,目标交易数据可以是指上述多个交易数据中任一交易数据。此处顺序可包括交易数据被缓存于第一缓存区的时间顺序、交易数据的重要性优先级等;目标交易数据包括但不限于电子资源转移的交易数据、股权交易数据、数字货币交易数据以及基金交易数据等。在读取到目标交易数据后,可获取目标交易数据的属性信息,此处属性信息包括为预测执行目标交易数据所需要电子资源的第一数量、目标交易数据的大小、目标交易数据的签名信息、目标交易数据的生成时间等等。即第一数量可以是指用户愿意为执行目标交易数据所支付的电子资源的数量。其中,电子资源是指用于购买数字资产的资金,其可至少包括法币、电子货币等。此处的数字资产可包括但不限于:电子票据、数字货币(一种不受管制的、数字化的货币)、游戏资源(如游戏币、游戏装备等),等等。
可选的,步骤S101可包括:接收待上链的交易数据,将该待上链的交易数据存储至该第一缓存区;获取该第一缓存区中各个交易数据的特征信息,该特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;根据该特征信息从该第一缓存区块中按序读取交易数据,将所读取的交易数据确定为该目标交易数据。
节点设备可以按序地在第一缓存区中读取交易数据,具体的,节点设备可接收各个终端所发送的待上链的交易数据,将该待上链的交易数据存储至第一缓存区;获取第一缓存区中各个交易数据的特征信息,根据该特征信息从该第一缓存区块中按序读取交易数据,将所读取的交易数据确定为该目标交易数据。这样有利于有序地对各个交易数据进行验证,提高验证的灵活性和准确度。
可选的,该特征信息中包括交易类型,交易类型可以包括实时性交易类型和非实时性交易类型,实时性交易类型可包括电子资源转移(实时到账)、上链电子证件等等;非实时性交易类型可包括上链新闻数据、用户注册数据等等。因此,计算机设备可以优先读取实时性交易类型的交易数据,然后读取非实时性交易类型的交易数据;这样确保实时性交易类型的交易数据能够被实时处理。
可选的,该特征信息可包括重要性优先级,重要性优先级可以是指根据交易数据所属的机构确定的,例如,该交易数据属于公安部、民政部,则该交易数据的重要性优先级比较高;反正,如果该交易数据属于企业或个人,则该交易数据的重要性优先级比较低。重要性优先级用于指示交易数据的重要性、私密性等等,即重要性优先级越高,交易数据的重要性、私密性越高;重要性优先级越低,交易数据的重要性、私密性越低。因此计算机设备可以优先读取重要性优先级高的交易数据,然后读取重要性优先级低的交易数据;这样确保重要性优先级高的交易数据能够被实时处理,可有效性提高交易数据的安全性,避免重要性优先级高的交易数据被泄露。
可选的,该特征信息可包括被接收到的时间,计算机设备可以按照第一缓存区中各个交易数据被接收到的时间由先到后的顺序,依次读取各个交易数据,这样可以提高对各个交易数据处理的公平性。
S102,根据目标交易数据的属性信息验证目标交易数据的有效性。
计算机设备可根据目标交易数据的属性信息验证目标交易数据的有效性,具体的,验证目标交易数据的有效性可以是指:验证该目标交易数据是否能够被成功执行;如果能够被成功执行,确定该目标交易数据具有有效性;如果不能被成功执行,则确定该目标交易数据不具有效性;可选的,验证该目标交易数据是否具有有效性可以是指:验证目标交易数据的真实性、完整性(即是否被篡改),如果该目标交易数据是真实的、完整的(即没有被篡改),则确定该目标交易数据具有有效性;如果该目标交易数据是不真实的、不完整的(即被篡改),则确定该目标交易数据不具有有效性。
其中,属性信息中的为预测执行目标交易数据所需要电子资源的第一数量、目标交易数据的生成时间,可用于验证目标交易数据是否能够被成功执行;属性信息中的目标交易数据的大小、目标交易数据的签名信息,用于验证目标交易数据的真实性、完整性(即是否被篡改)。
S103,若目标交易数据具有有效性,则将目标交易数据存储至所述区块链网络的区块中,区块位于第二缓存区。
如果该目标交易数据具有有效性,表明该目标交易数据具有完整性、真实性、或者能够被成功执行,因此,计算机设备可将目标交易数据存储至所述区块链网络的区块中,区块位于第二缓存区。其中,在第一缓存区中对目标交易数据的有效性进行验证,并将具有有效性的交易数据发送至第二缓存区,第一缓存区与第二缓存区之间存在信息连接,并通过该信息连接进行信息传输。因此第一缓存区会即时对目标交易数据进行验证,并根据验证结果将目标交易数据存储至第二缓存区,获取将不具有有效性的目标交易数进行回滚。因此第一缓存区的存储空间较小,第二缓存区的存储空间大。
需要说明的是,如果第一缓存中的交易数据被读取后,可以将被读取的交易数据从第一缓存区中删除,以节省存储空间,可有效存储更多新的交易数据;也就说,第一缓存中的交易数据只需要暂时存储,因此,第一缓存区可以位于计算机设备的固态硬盘中。同理,区块链网络中的交易数据需要长久存储,并且会被终端多次查询、读取,因此,第二缓存区可以位于计算机设备的机械硬盘中;可确保交易数据被安全缓存。
S104,若所述目标交易数据不具有有效性,则对目标交易数据进行回滚。
如果该目标交易数据不具有有效性,表明该目标交易数据不具有完整性、真实性或者不能够被成功执行,因此,计算机设备可对目标交易数据进行回滚;可避免将无效的交易数据存储至区块中,有利于节省区块的存储空间。
在本申请实施例中,通过从第一缓存区读取目标交易数据,获取该目标交易数据的属性信息,根据该目标交易数据的属性信息验证该目标交易数据的有效性。若该目标交易数据具有有效性,表明该目标交易数据准确无误,或者,该目标交易数据未被篡改等,则将该目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;若该目标交易数据不具有有效性,表明该目标交易中具有错误数据,或者,该目标交易数据被篡改等,则对该目标交易数据进行回滚。采用本申请,通过根据目标交易数据的属性信息验证目标交易数据的有效性,可有效避免无效的数据加入区块链,有利于节省区块的存储空间,从而保证了区块链中数据的有效性。另外,通过将目标交易数据缓存于第一缓存区,在验证通过时,将目标交易数据记录在第二缓存区的区块中;也就是说,通过对目标交易数据进行双层缓存,有利于有序地对目标交易数据的有效性进行验证,提高验证的准确性。
请参见图4,是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图,该方法可以由计算机设备来执行,该计算机设备可以为图1b中的节点设备101。如图4所示,上述方法可以包括:
S201、从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
S202、根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
可选的,该属性信息包括为预测执行该目标交易数据所需要电子资源的第一数量;步骤S202可包括:获取实际执行该目标交易数据所需要的电子资源的第二数量,将该第一数量与该第二数量进行对比,若该第一数量大于该第二数量,则确定该目标交易数据具有有效性,若该第一数量小于或等于该第二数量,则确定该目标交易数据不具有有效性。
从第一缓存区中读取目标交易数据之后,获取用户为预测执行目标交易数据所需要电子资源的第一数量,然后再获取预先存储的实际执行上述目标交易数据所需要的电子资源的第二数量,将第一数量与第二数量进行对比。若所述第一数量大于所述第二数量,则确定上述目标交易数据具有有效性,即说明用户预测执行目标交易数据所需要的货币大于实际执行目标交易数据所需要的货币,则交易执行能成功。若所述第一数量小于或等于所述第二数量,则确定所述目标交易数据不具有有效性,即说明用户预测执行目标交易数据所需要的货币小于或等于实际执行目标交易数据所需要的货币,则交易执行所需要的货币不足,交易不能成功。例如,若用户为预测执行所述目标交易数据所需要电子资源的第一数量为100rmb,实际执行所述目标交易数据所需要的电子资源的第二数量为190rmb,则第一数量小于第二数量,说明用户为预测执行所述目标交易数据所需要电子资源不足实际执行所述目标交易数据所需要的电子资源,交易就会执行失败,则确定所述目标交易数据不具有有效性。
可选的,该属性信息包括目标交易数据的大小,上述步骤S202包括:将该目标交易数据的大小与交易数据的大小对应的阈值进行对比;若该目标交易数据的大小大于该交易数据的大小对应的阈值,则确定该目标交易数据不具有有效性;若该目标交易数据的大小小于或等于该交易数据的大小对应的阈值,则确定该目标交易数据具有有效性。
其中,属性信息还包括目标交易数据的大小。同样的,从第一缓存区中读取目标交易数据之后,获取目标交易数据的大小,与预先设定的交易数据的大小进行对比,若该目标交易数据的大小大于预先设定的交易数据的大小对应的阈值,表明目标交易数据中存在冗余数据,目标交易数据的大小不满足条件,则确定该目标交易数据不具有有效性;若该目标交易数据的大小小于或等于预先设定的交易数据的大小对应的阈值,表明目标交易数据中不存在冗余数据,则确定该目标交易数据具有有效性。例如,从第一缓存区中读取到目标交易数据的大小为50mb,而预先设定的该交易数据的大小对应的阈值为30mb,则目标交易数据的大小大于交易数据的大小对应的阈值,说明目标交易数据的大小过大,因此不具有有效性。
可选的,该属性信息包括签名信息,上述步骤S202包括:获取该目标交易数据对应的公钥;根据该目标交易数据对应的公钥对该签名信息进行验证;若验证通过,则确定该目标交易数据具有有效性;若验证未通过,则确定该目标交易数据不具有有效性。
其中,上述属性信息还包括签名信息,计算机设备可获取目标交易数据对应的公钥;该目标交易数据对应的公钥可以是指上传该目标交易数据的终端的公钥。可根据目标交易数据对应的公钥对签名信息进行验证,若验证通过,表明该目标交易数据未被篡改,具有完整性,确定目标交易数据具有有效性;若验证未通过,表明该目标交易被篡改,不具有完整性,确定目标交易数据不具有有效性。
具体的,在目标交易数据未被上传至节点设备时,终端可对目标交易数据进行哈希运算,得到目标交易数据的哈希值,采用私钥对目标交易数据的哈希值进行加密,得到携带终端的签名的目标交易数据,将该目标交易数据、携带终端的签名的目标交易数据发送至区块链网络的节点设备。
相应地,节点设备(即计算机设备)可以接收终端所发送的该目标交易数据、携带终端的签名的目标交易数据,节点设备可以获取终端设备的公钥,将该公钥作为该目标交易数据对应的公钥。对目标交易数据进行哈希运算,得到第一哈希值,采用公钥对终端的签名的目标交易数据进行解密,得到第二哈希值。将第一哈希值与第二哈希值进行比对,若第一哈希值与第二哈希值不相同,则表明目标交易数据不具有完整性,即目标交易数据被篡改,确定目标交易数据未被验签通过;若第一哈希值与第二哈希值相同,则表明该目标交易数据不具有完整性,或者,该目标交易数据被篡改等,确定目标交易数据被验签通过。例如,当用户提交一笔交易,第一缓存区读取该用户提交的目标交易数据,并即时获得该目标交易数据的签名信息后,节点设备可以在发送该目标交易数据对应终端中获取公钥,将该公钥作为该目标交易数据对应的公钥,根据该目标交易数据对应的公钥,对该目标交易数据进行验证,若验证通过,则该用户提交的交易可以执行成功,则确定该用户提交的交易对应的目标交易数据具有有效性。若验证失败,则该用户提交的交易执行失败,则确定该用户提交的交易对应的目标交易数据不具有有效性。
其中,可以获取该区块链网络中确定该目标交易数据具有有效性的节点设备的数量;若所获取到的数量大于数量阈值,则确定该目标交易数据具有合法性;若所获取到的数量小于或等于该数量阈值,则确定该目标交易数据不具有合法性。
各个终端设备可以向区块链网络中上传交易数据,相应地,各个节点设备以接收各个终端设备所发送的目标交易数据,将该目标交易数据缓存于第一缓存区,获取该目标交易数据的属性信息;根据目标交易数据的属性信息验证该目标交易数据的有效性。当各个节点设备验证该目标交易数据具有有效性时,可以将该目标交易数据记录到区块链网络中的区块中。因此可以获取区块链网络中确定目标交易数据具有有效性的节点设备的数量,若所获取到的数量大于数量阈值,则确定目标交易数据具有合法性,若所获取到的数量小于或等于数量阈值,则确定目标交易数据不具有合法性。
S203、若该目标交易数据具有有效性,则将该目标交易数据存储至该区块链网络的区块中,该区块位于第二缓存区;
S204、若该目标交易数据不具有有效性,则在该第一缓存区查询该目标交易数据对应的执行结果;
S205、从该第一缓存区中移除该目标交易数据对应的执行结果以及该目标交易数据。
通过上述步骤对目标交易数据的有效性进行验证后,若目标交易数据具有有效性,表明该目标交易数据具有完整性、真实性、或者能够被成功执行,因此,计算机设备可将目标交易数据存储至所述区块链网络的区块中,区块位于第二缓存区。其中,在第一缓存区中对目标交易数据的有效性进行验证,并将具有有效性的交易数据发送至第二缓存区,第一缓存区与第二缓存区之间存在信息连接,并通过该信息连接进行信息传输。若目标交易数据不具有有效性,表明该目标交易数据不具有完整性、真实性、或者不能够被成功执行,因此,计算机设备可在第一缓存区查询该目标交易数据对应的执行结果,并从该第一缓存区中移除该目标交易数据对应的执行结果以及该目标交易数据,可避免将无效的交易数据存储至区块中,有利于节省区块的存储空间则将目标交易数据存储至区块链网络的区块中,所述区块位于第二缓存区。以此方法对第一缓存区中的至少一条交易数据进行验证,并将具有有效性的交易数据存储至第二缓存区中。其中,可以在第一缓存区中,对至少一条交易数据进行验证后,再一次性提交至少一条交易数据中的具有有效性的目标交易数据,因为一些交易数据可能是延期提交的,以此减少交易数据提交的运算。
其中,该区块链网络中包括智能合约。智能合约,是指计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。该智能合约声明区块链网络中的交易数据的存储规则,该智能合约用于根据目标交易数据的属性信息验证目标交易数据的有效性,在目标交易数据具有有效性时,将目标交易数据存储至区块链网络的区块中,在目标交易数据不具有有效性时,对目标交易数据进行回滚。
在本申请实施例中,通过从第一缓存区读取目标交易数据,获取该目标交易数据的属性信息,根据该目标交易数据的属性信息验证该目标交易数据的有效性。若该目标交易数据具有有效性,表明该目标交易数据准确无误,或者,该目标交易数据未被篡改等,则将该目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;若该目标交易数据不具有有效性,表明该目标交易中具有错误数据,或者,该目标交易数据被篡改等,则对该目标交易数据进行回滚。采用本申请,通过根据目标交易数据的属性信息验证目标交易数据的有效性,可有效避免无效的数据加入区块链,有利于节省区块的存储空间,从而保证了区块链中数据的有效性。另外,通过将目标交易数据缓存于第一缓存区,在验证通过时,将目标交易数据记录在第二缓存区的区块中;也就是说,通过对目标交易数据进行双层缓存,有利于有序地对目标交易数据的有效性进行验证,提高验证的准确性。
本发明实施例还提供了一种基于区块链的数据处理装置,如图5所述,为本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该区块链的数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图5所示,该数据处理装置可以包括:第一获取模块11、验证模块12、存储模块13、回滚模块14、第二获取模块15、第一确定模块16、第二确定模块17。
第一获取模块11,用于从第一缓存区读取目标交易数据,获取目标交易数据的属性信息;
验证模块12,用于根据目标交易数据的属性信息验证目标交易数据的有效性;
存储模块13,用于若目标交易数据具有有效性,则将目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;
回滚模块14,用于若目标交易数据不具有有效性,则对目标交易数据进行回滚。
其中,获取请求模块11、生成添加模块12、获取参数模块13、验证模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
其中,第一获取模块可以包括存储单元、第三获取单元、第七确定单元。
存储单元,用于接收待上链的交易数据,将该待上链的交易数据存储至第一缓存区;
第三获取单元,用于获取上述第一缓存区中各个交易数据的特征信息,该特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;
第七确定单元,用于根据该特征信息从第一缓存区块中按序读取交易数据,将所读取的交易数据确定为目标交易数据。
再请参见图5,验证模块12可以包括第一获取单元1201、第一对比单元1202、第一确定单元1203、第二确定单元1204、第二对比单元1205、第三确定单元1206、第四确定单元1207、第二获取单元1208、验证单元1209、第五确定单元1210、第六确定单元1211。
第一获取单元1201,用于获取实际执行目标交易数据所需要的电子资源的第二数量;
第一对比单元1202,用于将第一数量与第二数量进行对比;
第一确定单元1203,用于若第一数量大于所述第二数量,则确定目标交易数据具有有效性;
第二确定单元1204,用于若第一数量小于或等于第二数量,则确定目标交易数据不具有有效性;
第二对比单元1205,用于将目标交易数据的大小与交易数据的大小对应的阈值进行对比;
第三确定单元1206,用于若目标交易数据的大小大于交易数据的大小对应的阈值,则确定目标交易数据不具有有效性;
第四确定单元1207,用于若目标交易数据的大小小于或等于交易数据的大小对应的阈值,则确定目标交易数据具有有效性;
第二获取单元1208,用于获取目标交易数据对应的公钥;
验证单元1209,用于根据目标交易数据对应的公钥对签名信息进行验证;
第五确定单元1210,用于若验证通过,则确定目标交易数据具有有效性;
第六确定单元1211,用于若验证未通过,则确定目标交易数据不具有有效性。
再请参见图5,回滚模块14可以包括查询单元1401、移除单元1402。
查询单元1401,用于在第一缓存区查询目标交易数据对应的执行结果;
移除单元142,用于从第一缓存区中移除目标交易数据对应的执行结果以及目标交易数据;
第二获取模块15,用于获取区块链网络中确定目标交易数据具有有效性的节点设备的数量;
第一确定模块16,用于若所获取到的数量大于数量阈值,则确定目标交易数据具有合法性;
第二确定模块17,用于若所获取到的数量小于或等于数量阈值,则确定目标交易数据不具有合法性。
其中,第二获取模块15、第一确定模块16、第二确定模块17的具体功能实现方式可以参见上述图4对应实施例中的内容,这里不再进行赘述。
其中,所述区块链网络中包括智能合约,所述智能合约声明所述区块链网络中的交易数据的存储规则;
所述智能合约用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,在所述目标交易数据具有有效性时,将所述目标交易数据存储至所述区块链网络的区块中;
在所述目标交易数据不具有有效性时,对所述目标交易数据进行回滚。
在本申请实施例中,通过从第一缓存区读取目标交易数据,获取该目标交易数据的属性信息,根据该目标交易数据的属性信息验证该目标交易数据的有效性。若该目标交易数据具有有效性,表明该目标交易数据准确无误,或者,该目标交易数据未被篡改等,则将该目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;若该目标交易数据不具有有效性,表明该目标交易中具有错误数据,或者,该目标交易数据被篡改等,则对该目标交易数据进行回滚。采用本申请,通过根据目标交易数据的属性信息验证目标交易数据的有效性,可有效避免无效的数据加入区块链,有利于节省区块的存储空间,从而保证了区块链中数据的有效性。另外,通过将目标交易数据缓存于第一缓存区,在验证通过时,将目标交易数据记录在第二缓存区的区块中;也就是说,通过对目标交易数据进行双层缓存,有利于有序地对目标交易数据的有效性进行验证,提高验证的准确性。
请参见图6,是本申请实施例提供的一种计算机设备的结构示意图。如图6所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
若所述目标交易数据具有有效性,则将所述目标交易数据存储至区块中,所述区块位于第二缓存区;
若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。
其中,所述对所述目标交易数据进行回滚,包括:
在所述第一缓存区查询所述目标交易数据对应的执行结果;
从所述第一缓存区中移除所述目标交易数据对应的执行结果以及所述目标交易数据。
其中,所述属性信息包括为预测执行所述目标交易数据所需要电子资源的第一数量;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
获取实际执行所述目标交易数据所需要的电子资源的第二数量;
将所述第一数量与所述第二数量进行对比;
若所述第一数量大于所述第二数量,则确定所述目标交易数据具有有效性;
若所述第一数量小于或等于所述第二数量,则确定所述目标交易数据不具有有效性。
其中,所述属性信息包括目标交易数据的大小;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
将所述目标交易数据的大小与交易数据的大小对应的阈值进行对比;
若所述目标交易数据的大小大于所述交易数据的大小对应的阈值,则确定所述目标交易数据不具有有效性;
若所述目标交易数据的大小小于或等于所述交易数据的大小对应的阈值,则确定所述目标交易数据具有有效性。
其中,所述属性信息包括签名信息;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
获取所述目标交易数据对应的公钥;
根据所述目标交易数据对应的公钥对所述签名信息进行验证;
若验证通过,则确定所述目标交易数据具有有效性;
若验证未通过,则确定所述目标交易数据不具有有效性。
其中,所述方法还包括:
获取所述区块链网络中确定所述目标交易数据具有有效性的节点设备的数量;
若所获取到的数量大于数量阈值,则确定所述目标交易数据具有合法性;
若所获取到的数量小于或等于所述数量阈值,则确定所述目标交易数据不具有合法性。
其中,所述从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息,包括:
接收待上链的交易数据,将所述待上链的交易数据存储至所述第一缓存区;
获取所述第一缓存区中各个交易数据的特征信息,所述特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;
根据所述特征信息从所述第一缓存区块中按序读取交易数据,将所读取的交易数据确定为所述目标交易数据。
其中,所述区块链网络中包括智能合约,所述智能合约声明所述区块链网络中的交易数据的存储规则;
所述智能合约用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,在所述目标交易数据具有有效性时,将所述目标交易数据存储至区块中;
在所述目标交易数据不具有有效性时,对所述目标交易数据进行回滚。
在本申请实施例中,通过从第一缓存区读取目标交易数据,获取该目标交易数据的属性信息,根据该目标交易数据的属性信息验证该目标交易数据的有效性。若该目标交易数据具有有效性,表明该目标交易数据准确无误,或者,该目标交易数据未被篡改等,则将该目标交易数据存储至区块链网络的区块中,该区块位于第二缓存区;若该目标交易数据不具有有效性,表明该目标交易中具有错误数据,或者,该目标交易数据被篡改等,则对该目标交易数据进行回滚。采用本申请,通过根据目标交易数据的属性信息验证目标交易数据的有效性,可有效避免无效的数据加入区块链,有利于节省区块的存储空间,从而保证了区块链中数据的有效性。另外,通过将目标交易数据缓存于第一缓存区,在验证通过时,将目标交易数据记录在第二缓存区的区块中;也就是说,通过对目标交易数据进行双层缓存,有利于有序地对目标交易数据的有效性进行验证,提高验证的准确性。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的基于区块链的数据处理装置1所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3或图4对应实施例中对上述基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种基于区块链的数据处理方法,应用于区块链网络中的节点设备,其特征在于,包括:
从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
若所述目标交易数据具有有效性,则将所述目标交易数据存储至所述区块链网络的区块中,所述区块位于第二缓存区;
若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。
2.如权利要求1所述的方法,其特征在于,所述对所述目标交易数据进行回滚,包括:
在所述第一缓存区查询所述目标交易数据对应的执行结果;
从所述第一缓存区中移除所述目标交易数据对应的执行结果以及所述目标交易数据。
3.如权利要求1或2所述的方法,其特征在于,所述属性信息包括为预测执行所述目标交易数据所需要电子资源的第一数量;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
获取实际执行所述目标交易数据所需要的电子资源的第二数量;
将所述第一数量与所述第二数量进行对比;
若所述第一数量大于所述第二数量,则确定所述目标交易数据具有有效性;
若所述第一数量小于或等于所述第二数量,则确定所述目标交易数据不具有有效性。
4.如权利要求1或2所述的方法,其特征在于,所述属性信息包括目标交易数据的大小;
所述根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,包括:
将所述目标交易数据的大小与交易数据的大小对应的阈值进行对比;
若所述目标交易数据的大小大于所述交易数据的大小对应的阈值,则确定所述目标交易数据不具有有效性;
若所述目标交易数据的大小小于或等于所述交易数据的大小对应的阈值,则确定所述目标交易数据具有有效性。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述区块链网络中确定所述目标交易数据具有有效性的节点设备的数量;
若所获取到的数量大于数量阈值,则确定所述目标交易数据具有合法性;
若所获取到的数量小于或等于所述数量阈值,则确定所述目标交易数据不具有合法性。
6.如权利要求1所述的方法,其特征在于,所述从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息,包括:
接收待上链的交易数据,将所述待上链的交易数据存储至所述第一缓存区;
获取所述第一缓存区中各个交易数据的特征信息,所述特征信息包括交易类型、被接收到的时间、重要性优先级中的至少一种;
根据所述特征信息从所述第一缓存区块中按序读取交易数据,将所读取的交易数据确定为所述目标交易数据。
7.如权利要求1所述的方法,其特征在于,所述区块链网络中包括智能合约,所述智能合约声明所述区块链网络中的交易数据的存储规则;
所述智能合约用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性,在所述目标交易数据具有有效性时,将所述目标交易数据存储至所述区块链网络的区块中;
在所述目标交易数据不具有有效性时,对所述目标交易数据进行回滚。
8.一种基于区块链的数据处理装置,应用于区块链网络中的节点设备,其特征在于,包括:
第一获取模块,用于从第一缓存区读取目标交易数据,获取所述目标交易数据的属性信息;
验证模块,用于根据所述目标交易数据的属性信息验证所述目标交易数据的有效性;
存储模块,用于若所述目标交易数据具有有效性,则将所述目标交易数据存储至所述区块链网络的区块中,所述区块位于第二缓存区;
回滚模块,用于若所述目标交易数据不具有有效性,则对所述目标交易数据进行回滚。
9.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010273718.3A CN111488626B (zh) | 2020-04-09 | 2020-04-09 | 基于区块链的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010273718.3A CN111488626B (zh) | 2020-04-09 | 2020-04-09 | 基于区块链的数据处理方法、装置、设备及介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111488626A true CN111488626A (zh) | 2020-08-04 |
| CN111488626B CN111488626B (zh) | 2024-11-26 |
Family
ID=71792506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010273718.3A Active CN111488626B (zh) | 2020-04-09 | 2020-04-09 | 基于区块链的数据处理方法、装置、设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111488626B (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112488688A (zh) * | 2020-12-17 | 2021-03-12 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
| CN112685780A (zh) * | 2020-12-31 | 2021-04-20 | 杭州链化洞察科技有限公司 | 一种基于区块链的数据加密及解密方法 |
| CN112926981A (zh) * | 2021-03-18 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 用于区块链的交易信息处理方法、装置、介质及电子设备 |
| CN113852598A (zh) * | 2021-08-06 | 2021-12-28 | 中标慧安信息技术股份有限公司 | 一种基于区块链的物联网数据交易过程记录方法 |
| CN115730933A (zh) * | 2021-08-27 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9166999B1 (en) * | 2014-07-25 | 2015-10-20 | Fmr Llc | Security risk aggregation, analysis, and adaptive control |
| US20160140137A1 (en) * | 2014-11-18 | 2016-05-19 | International Business Machines Corporation | Read and delete input/output operation for database management |
| CN107273051A (zh) * | 2017-05-15 | 2017-10-20 | 北京华云网际科技有限公司 | Io数据的读写方法和装置 |
| CN107632779A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置、服务器 |
| US20180096386A1 (en) * | 2016-10-05 | 2018-04-05 | The Toronto-Dominion Bank | System and Method for Facilitating Access to Electronic Data |
| CN108009008A (zh) * | 2016-10-28 | 2018-05-08 | 北京市商汤科技开发有限公司 | 数据处理方法和系统、电子设备 |
| CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
| CN109343797A (zh) * | 2018-09-25 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种缓存数据的传输方法、系统及相关组件 |
| US20190121416A1 (en) * | 2017-10-23 | 2019-04-25 | Paypal, Inc. | Electronic Device Battery Monitoring for Transactions |
| WO2019090344A1 (en) * | 2017-11-06 | 2019-05-09 | Velo Holdings Limited | Limited scope blockchain system |
| CN110597825A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及节点设备 |
| CN110599177A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种交易验证方法及相关设备 |
| CN110597839A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 交易数据处理方法、装置、设备以及存储介质 |
| CN110716689A (zh) * | 2018-07-11 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
| CN110851535A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、存储介质及终端 |
| CN110910249A (zh) * | 2019-11-22 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、节点设备及存储介质 |
-
2020
- 2020-04-09 CN CN202010273718.3A patent/CN111488626B/zh active Active
Patent Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9166999B1 (en) * | 2014-07-25 | 2015-10-20 | Fmr Llc | Security risk aggregation, analysis, and adaptive control |
| US20160140137A1 (en) * | 2014-11-18 | 2016-05-19 | International Business Machines Corporation | Read and delete input/output operation for database management |
| US20180096386A1 (en) * | 2016-10-05 | 2018-04-05 | The Toronto-Dominion Bank | System and Method for Facilitating Access to Electronic Data |
| CN108009008A (zh) * | 2016-10-28 | 2018-05-08 | 北京市商汤科技开发有限公司 | 数据处理方法和系统、电子设备 |
| CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
| CN107273051A (zh) * | 2017-05-15 | 2017-10-20 | 北京华云网际科技有限公司 | Io数据的读写方法和装置 |
| CN107632779A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置、服务器 |
| US20190121416A1 (en) * | 2017-10-23 | 2019-04-25 | Paypal, Inc. | Electronic Device Battery Monitoring for Transactions |
| WO2019090344A1 (en) * | 2017-11-06 | 2019-05-09 | Velo Holdings Limited | Limited scope blockchain system |
| CN110716689A (zh) * | 2018-07-11 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
| CN109343797A (zh) * | 2018-09-25 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种缓存数据的传输方法、系统及相关组件 |
| CN110597839A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 交易数据处理方法、装置、设备以及存储介质 |
| CN110599177A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种交易验证方法及相关设备 |
| CN110597825A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及节点设备 |
| CN110851535A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、存储介质及终端 |
| CN110910249A (zh) * | 2019-11-22 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、节点设备及存储介质 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112488688A (zh) * | 2020-12-17 | 2021-03-12 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
| CN112488688B (zh) * | 2020-12-17 | 2024-03-26 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
| CN112685780A (zh) * | 2020-12-31 | 2021-04-20 | 杭州链化洞察科技有限公司 | 一种基于区块链的数据加密及解密方法 |
| CN112926981A (zh) * | 2021-03-18 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 用于区块链的交易信息处理方法、装置、介质及电子设备 |
| CN113852598A (zh) * | 2021-08-06 | 2021-12-28 | 中标慧安信息技术股份有限公司 | 一种基于区块链的物联网数据交易过程记录方法 |
| CN113852598B (zh) * | 2021-08-06 | 2022-10-21 | 中标慧安信息技术股份有限公司 | 一种基于区块链的物联网数据交易过程记录方法 |
| CN115730933A (zh) * | 2021-08-27 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111488626B (zh) | 2024-11-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3629272B1 (en) | Method and device for running chaincode | |
| US11481375B2 (en) | Point-to-point distributed decentralized system | |
| CN111488626B (zh) | 基于区块链的数据处理方法、装置、设备及介质 | |
| CN111899006B (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
| US20210209373A1 (en) | Media authentication using distributed ledger | |
| CN107846278B (zh) | 智能合约处理方法及装置 | |
| US20220284469A1 (en) | Verifying ad requests | |
| WO2020001105A1 (zh) | 基于区块链的数据验证方法及装置、电子设备 | |
| WO2023045620A1 (zh) | 一种交易数据处理方法、装置、计算机设备以及存储介质 | |
| CN110866755B (zh) | 一种对票据数据的处理方法、设备及介质 | |
| CN110852648B (zh) | 一种数据处理方法、装置及计算机存储介质 | |
| CN111915298A (zh) | 区块链中生成和验证可链接环签名的方法及装置 | |
| CN113807960A (zh) | 异构链间的跨链处理方法、装置、系统、电子设备 | |
| CN110599275A (zh) | 一种基于区块链网络的数据处理方法、装置及存储介质 | |
| CN109447791B (zh) | 一种基于区块链的资金交易方法及装置 | |
| CN115619395A (zh) | 基于区块链的数据处理方法及相关设备 | |
| CN110598479B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
| US20190097806A1 (en) | System and Methods for Resolving Data Discrepancies in a Distributed System with Blockchain Controls | |
| WO2019179244A1 (zh) | 一种业务校验方法和装置 | |
| CN112333217A (zh) | 基于区块链的联合推荐方法和系统 | |
| CN107948130B (zh) | 一种文件处理方法、服务器及系统 | |
| CN117938359A (zh) | 数据验证方法、装置及存储介质 | |
| CN113592645B (zh) | 数据验证的方法和装置 | |
| WO2023207529A1 (zh) | 数据处理方法、装置及设备、介质、产品 | |
| CN114328731A (zh) | 信息处理方法、装置、电子设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TG01 | Patent term adjustment | ||
| TG01 | Patent term adjustment |