CN110717762A - 数据处理方法、装置、节点设备及存储介质 - Google Patents
数据处理方法、装置、节点设备及存储介质 Download PDFInfo
- Publication number
- CN110717762A CN110717762A CN201911293931.4A CN201911293931A CN110717762A CN 110717762 A CN110717762 A CN 110717762A CN 201911293931 A CN201911293931 A CN 201911293931A CN 110717762 A CN110717762 A CN 110717762A
- Authority
- CN
- China
- Prior art keywords
- priority
- transaction
- target
- transaction data
- target user
- 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; CALCULATING OR 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、节点设备及存储介质,其中方法包括:接收目标交易数据,目标交易数据包括目标用户的标识;获取目标用户的标识对应的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池,第一优先级是区块链根据目标用户的优先级申请请求为目标用户分配的;获取目标用户关于第一交易池的历史存储信息;根据历史存储信息确定第一优先级是否有效;如果第一优先级有效,则将目标交易数据存储在第一交易池。采用本发明实施例可以实现有效地将交易数据存储在交易池中,有利于提高后续从交易池中选择交易数据生成区块的效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种数据处理方法、装置、节点设备及存储介质。
背景技术
区块链的交易池是用于存储区块链中还未被打包成区块的交易数据。当用户向区块链提交了一个交易数据后,区块链的节点设备会将该交易数据广播给区块链中的各个节点设备,每个节点设备再把该交易数据存入各自维护的交易池中。在这种交易数据的存储方式下,当需要生成区块时,节点设备根据交易池中每个交易对应的交易手续费从交易池中选择将哪些交易打包进区块。这样一来,需要逐一比对各个交易池中各个交易数据的手续费,导致打包区块的效率较低。因此,在区块链领域中,如何有效地在交易池中存储交易数据成为研究的热点问题。
发明内容
本发明实施例提供了一种数据处理方法、装置、节点设备及存储介质,可以实现有效地存储交易数据存储在交易池中,有利于提高后续从交易池中选择交易数据生成区块的效率。
一方面,本发明实施例提供了一种数据处理方法,该数据处理方法应用于区块链中,所述区块链包括多个交易池,每个交易池分别对应各自的优先级,所述数据处理方法包括:
接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
获取所述目标用户在所述第一交易池已存储的历史交易数据的历史数量;
根据所述历史数量确定所述第一优先级是否有效;
如果所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
再一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置应用于区块链中,所述区块链包括多个交易池,每个交易池分别对应各自的优先级,所述数据处理装置包括:
接收单元,用于接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取单元,用于获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
所述获取单元,还用于获取所述目标用户在所述第一交易池已存储的历史交易数据的历史数量;
处理单元,用于根据所述历史数量确定所述第一优先级是否有效;
存储单元,用于如果处理单元确定所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
又一方面,本发明实施例提供了一种节点设备,该节点设备可以位于区块链中,所述区块链中包括多个交易池,每个交易池分别对应各自的优先级,所述节点设备包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
获取所述目标用户在所述第一交易池已存储的历史交易数据的历史数量;
根据所述历史数量确定所述第一优先级是否有效;
如果所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
又一方面,本发明实施例还提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行上面所述的数据处理方法。
本发明实施例在区块链中设置多个交易池,每个交易池对应各自的优先级,目标用户可以向区块链申请第一优先级,这样当接收到目标用户发送的目标交易数据时,获取目标用户的标识对应的第一优先级,以及从所述多个交易池中获取第一优先级对应的第一交易池,在验证目标用户对应的第一优先级有效的情况下,将目标交易数据存储在第一交易池中。在上述的数据处理方法下,目标用户可以根据自身需求选择将自己的交易数据存储在哪个交易池中,丰富了交易数据的存储方式。另外,后续在生成区块时,可以根据每个交易池对应的优先级从各个交易池中选择交易数据进行打包,缩小了交易数据的选择范围,从而可提高生成区块的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据存储系统的示意图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的另一种数据处理方法的流程示意图;
图4a是本发明实施例提供的一种申请优先级时用户界面的示意图;
图4b是本发明实施例提供的另一种申请优先级时用户界面的示意图;
图4c是本发明实施例提供的又一种申请优先级时用户界面的示意图;
图4d是本发明实施例提供的又一种申请优先级时用户界面的示意图;
图5是本发明实施例提供的一种从交易池选择交易数据生成区块的示意图;
图6是本发明实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种节点设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种数据存储方案,该数据存储方案可以应用于区块链中,区块链中存储有多个交易池,每个交易池对应各自的优先级,每个优先级下的交易池中存储的交易数据被处理的优先级不同,优先级越高的交易池中交易数据被处理的优先级越高。区块链的用户可以通过向区块链中提交申请得到一个优先级,后续可以在该优先级对应的交易池中存储交易数据。
基于上述的数据处理方案,本发明实施例提供了一种数据存储系统,参考图1所示,为本发明实施例提供的一种数据存储系统的结构示意图。图1所示的结构示意图中可包括区块链101,至少一个用户终端102,所述用户终端102是区块链的用户使用的终端设备,区块链101中可包括至少一个节点设备103,每个节点设备103维护至少两个交易池,至少两个交易池中每个交易池对应一个优先级。假设,至少两个交易池包括交易池L、交易池M以及交易池H,交易池L对应的优先级L,交易池M对应优先级M,交易池H对应优先级H,每个交易池中存储多个交易数据。
在一个实施例中,区块链101可以理解为一个数据共享系统,可以用于进行节点设备之间数据共享,区块链101中的多个节点设备103在进行正常工作时可以接收到交易数据,并基于接收到的交易数据维护区块链内的共享数据。为了保证区块链内节点设备之间互通,每个节点设备之间可以存在连接,节点设备之间通过该连接进行数据传输。例如,当区块链中的任意节点设备接收到交易数据时,区块链中的其他节点设备便根据共识算法获取该交易数据,将该交易数据作为共享数据中的数据进行存储,使得区块链中全部节点存储的数据均一致。
区块链中的每个节点设备均存储一条相同的区块链,区块链由多个区块组成,每个区块中可包括区块头和区块主体,区块头中存储有交易数据特征值、版本号、时间戳和难度值等,区块主体中存储交易数据。在本发明实施例中,由于每个节点设备中至少维护两个交易池,因此当区块链中的任意一个节点设备接收到交易数据时,对交易数据进行验证,验证完成后从多个交易池中选择一个交易池存储该交易数据。当生成区块时,分别根据多个交易池对应的优先级分别从各个交易池中选择一定数量的交易数据进行打包、经过其他节点设备对新生成区块进行验证后,将该新生成区块添加至区块链中。
在图1所示的数据存储系统中,区块链的用户可以通过向区块链发布一个请求来获得一个优先级,例如第一用户向区块链发送请求获取优先级L,第二用户向区块链发送请求获取的优先级M,以及第三用户向区块链发送请求获得优先级H。当各个用户向区块链中发送交易数据时,将对应用户的交易数据存储在各自优先级对应的交易池中。比如第一用户向区块链提交一个交易数据,将该交易数据存储在优先级L对应的交易池L中。后续如果检测到生成区块的指令时,节点设备可以根据各个交易池对应的优先级从每个交易池中选择一定数量的交易数据进行打包,优先级越高的交易池,被提取出的交易数据的数量越多。
综上所述,在图1所示的数据存储系统,各个用户可以根据自身需求选择将自己的交易数据存储在哪个交易池中,丰富了交易数据存储方式。另外,后续在生成区块时,可以根据每个交易池对应的优先级从各个交易池中选择交易数据进行打包,缩小了交易数据的选择范围,从而可提高生成区块的效率。
基于上述的数据存储系统,本发明实施例提供了一种数据处理方法,参考图2,为本发明实施例提供的一种数据处理方法的流程示意图。所述数据处理方法应用在区块链中,所述区块链中包括多个交易池,每个交易池对应各自的优先级,所述数据处理方法可由区块链中的节点设备执行,具体可由节点设备的处理器执行。图2所示的数据处理方法可包括如下步骤:
步骤S201、接收目标交易数据,该目标交易数据包括目标用户的标识。
其中,目标用户可以指区块链的任意一个用户,例如目标用户可以是图1所示的数据存储系统中的第一用户、第二用户或者第三用户;目标用户的标识可以目标用户的身份信息;或者,唯一标识目标用户身份的昵称,或者其他可唯一标识目标用户身份的信息。在一个实施例中,该目标交易数据可以是目标用户通过其所使用的终端设备发布到区块链中的,该目标交易数据可以是任意一种交易数据,比如目标交易数据可以是转账交易数据、授权交易数据、发布合约的交易数据等等。
步骤S202、获取目标用户的标识对应的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池。
由前述可知,区块链中包括多个交易池,每个交易池对应各自的优先级,每个用户可以向区块链中提交优先级申请请求来得到一个优先级;区块链对每个用户的优先级申请请求验证通过后,为每个用户分配其所申请的优先级,并将每个用户的标识和该用户申请的优先级关联存储。所述目标用户的标识对应的第一优先级可以是区块链中任意一个优先级,比如可以是最高的优先级,可以是最低的优先级,也可以是位于中间的优先级等。换句话说,所述多个交易池中包括第一优先级对应的第一交易池外,还可以包括其他优先级对应的其他交易池以及第三优先级对应的第三交易池,所述其他优先级低于所述第一优先级,所述第三优先级高于所述第一优先级;或者,多个交易池中包括第一优先级对应的第一交易池和其他优先级对应的其他交易池;或者,多个交易池包括第一优先级对应的第一交易池和第三优先级对应的第三交易池。
基于此,在一个实施例中,所述获取目标用户的标识对应的第一优先级,包括:节点设备在接收到目标用户发送的目标交易数据后,获取目标交易数据中包括的目标用户的标识;从之前存储的多个用户的标识和优先级关联存储关系中,获取与目标用户的标识对应的第一优先级。进一步的,获取到目标用户的标识对应的第一优先级后,可以根据区块链中交易池和优先级的对应关系,从多个交易池中选择与第一优先级对应的第一交易池。
在一个实施例中,本发明实施例中可以将区块链中交易池按照预设划分规则划分为多个交易池,所述预设划分规则可以是每个交易池可存储交易数据的数量,可以规定划分后多个交易池中每个交易池可存储交易的数量相同;或者,所述预设划分规则可以是每个交易池存储的数据类型等等,比如预设划分规则可以规定划分后的交易池中每个交易池用于存储一种或多种类型的交易数据。应当理解的,上述只是本发明实施例列举的几种得到多个区块链交易池的方法,在具体应用中本发明实施例不做限定,可以根据需求依据其他方法划分得到多个交易池。
在一个实施例中,在多个交易池中,可以存在一个默认交易池,该默认交易池可以专门用于存储以下交易数据中的任意一种或多种:未申请优先级用户的交易数据和已申请优先级用户在其优先级失效后发送的交易数据、已申请该交易池对应的优先级的用户发送的交易数据。基于此,对于不想申请优先级的用户,区块链将他们的交易数据存储在默认交易池中。
步骤S203、获取目标用户关于第一交易池的历史存储信息。
在一个实施例中,所述目标用户关于第一交易池的历史存储信息可以包括接收到目标交易数据的当前时间与目标用户在第一交易池中存储的上一条历史交易数据的历史时间之间的存储时间差。
在其他实施例中,所述目标用户关于第一交易池的历史存储信息可以包括:目标用户在第一交易池已存储的历史交易数据的历史数量。
在一个实施例中,所述目标用户在第一交易池已存储的历史交易数据的历史数量可以指:自从目标用户申请第一优先级之后,直到接收到目标交易数据这段时间内,目标用户已经在第一交易池中存储的交易数据的存储总数量。比如,目标用户在申请了第一优先级之后,直到接收到目标交易数据时目标用户已经在第一交易池中存储了5条交易数据,则目标用户在第一交易池中已存储的历史交易数据的历史数量为5。
应当理解的,由前述可知,交易池对应的优先级越高,在生成区块时被提取的交易数据越多,换句话说,在优先级较高的交易池中的交易数据获得打包的机会越大。也就是说各个交易池中的交易数据获得打包的机会受到优先级的影响。但是在某种特殊情况下,某个优先级对应的交易池中的交易数据不受其优先级的影响。举例来说,假设区块链交易池中包括高优先级H对应的交易池H,中优先级M对应的交易池M,低优先级L对应的交易池L,当高优先级H对应的用户向交易池H存储交易数据时,如果交易池M和交易池L都是空的,则这个交易数据无论是否存储在交易池H中,其获得打包的机会都是一样的。此种情况就是交易数据获得打包的机会不受到优先级的影响。
在其他实施例中,所述目标用户在第一交易池已存储的历史交易数据的历史数量还可以指:目标用户已经在第一交易池中存储的交易数据的存储总数量中与第一优先级相关的目标数量。其中,与第一优先相关的目标数量是指第一交易池中存储的获得打包的机会受到第一优先级影响的历史交易数据的数量。其中,目标用户在向第一交易池中存储某一条历史交易数据时,如果区块链中优先级低于第一优先级的其他交易池中均存储有交易数据,则存储总数量增加1,目标数量增加1;如果区块链中优先级低于第一优先级对应的其他交易池中均未存储有交易数据,则存储总数量增加1,目标数量不变。例如,在目标用户刚开始申请了第一优先级之后,将第一交易池中已存储的历史交易的存储总数量初始化为0,与第一优先级相关的目标数量初始化为0。目标用户向区块链发布了第一条历史交易数据,此时判断对于第一优先级的其他优先级中是否存在交易数据,如果存在,则存储总数量增加1,与第一优先级相关的目标数量增加1;如果不存在,则存储总数量增加1,目标数量保持为0。
步骤S204、根据历史存储信息确定第一优先级是否有效。
在一个实施例中,所述第一优先级有效是指目标用户仍然拥有该第一优先级,可以继续向第一优先级对应的第一交易池中存储交易数据;相反的,第一优先级失效是指目标用户不再拥有第一优先级,不可以继续向第一优先级对应的第一交易池中存储交易数据。
在一个实施例中,如果所述历史存储信息包括历史数量,则所述根据历史存储信息确定第一优先级是否有效,包括:若所述历史数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效;若历史数量不大于所述数量阈值,在确定所述第一优先级有效。其中,所述数量阈值是所述目标用户在申请所述第一优先级时设置的。每个交易池中可存储交易数据的数量是有限的,为了让所有用户都具有申请各个交易池的权利,限制即使某个用户申请得到了一个优先级,该用户也不能无限的在该优先级中存储交易数据。因此,每个用户在申请一个优先级时,还需要用户同时申请在该交易池中要存入多少交易数据,也即设置数量阈值。
具体实现中,所述历史数量可包括目标用户在所述第一交易池已存储的历史交易数据的存储总数量,所述根据历史存储信息确定第一优先级是否有效,包括:如果所述存储总数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效;
可选的,所述历史数量还可以包括目标用户在所述第一交易池已存储的历史交易数据的存储总数量中与所述第一优先级相关的目标数量,则所述根据历史存储信息确定第一优先级是否有效,包括:如果所述目标数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效;如果所述目标数量不大于所述数量阈值,则确定所述第一优先级有效。
在其他实施例中,如果所述历史存储信息包括接收到目标交易数据的当前时间与目标用户在第一交易池中存储的上一条历史交易数据的历史时间之间的存储时间差,则步骤S204所述根据历史存储信息确定第一优先级是否有效,可包括:若存储时间差大于时间差阈值,则可确定第一优先级失效;若所述存储时间差不大于时间差阈值,则可确定第一优先级有效。应当理解的,每个交易池中可存储交易数据的数量是有限的,由前述可知,一个用户申请优先级时,可以同时申请一个数量阈值,如果该用户长时间不在其所申请的优先级对应的交易池中存储交易数据,该交易池中一部分存储空间被占用但是又没有存储交易数据,这样会造成其他用户可能无法申请该优先级的交易池的情况出现。为了避免这种情况,可以设置一个时间阈值,如果某个用户超过这个时间阈值没有在其申请的优先级对应的交易池中存储交易数据,则自动取消该用户所申请的优先级。
步骤S205、如果第一优先级有效,则将目标交易数据存储在第一交易池。
在一个实施例中,如果在步骤S204中确定第一优先级有效,则将目标交易池数据存储在第一交易池中;如果在步骤S204中确定第一优先级无效,则可以从低于第一优先级的其他优先级中为目标用户分配第二优先级,然后将目标交易数据存储在第二优先级对应的第二交易池中。
在一个实施例中,所述从低于第一优先级的其他优先级中为目标用户分配第二优先级,可包括:从其他优先级中选择与第一优先级相邻的优先级作为目标用户的第二优先级;或者,根据其他优先级对应的交易池中存储的交易数据的数量选择第二优先级。比如,区块链中包括三个优先级对应的交易池,优先级由高到低分别是优先级A对应的交易池A、优先级B对应的交易池B,优先级C对应的交易池C。假设第一优先级为优先级A,也就是最高优先级,如果确定第一优先级失效,则可以选择与优先级A相邻的优先级B作为目标用户的第二优先级;再如,如果确定第一优先级失效,则获取交易池B和交易池C存储的交易数据的数量,假设交易池B中存储交易池数据为500,交易池C中存储的交易数据为200,则可选择优先级C作为目标用户的第二优先级。
在其他实施例中,可以预先从多个交易池中选择一个交易池作为默认交易池,该默认交易池对应的优先级为默认优先级,默认优先级在所有优先级中最低,当确定目标用户的第一优先级失效后,将默认交易池对应的默认优先级作为目标用户的第二优先级。
本发明实施例中,目标用户可以预先在区块链中申请一个第一优先级,当接收到目标交易数据时,根据目标交易数据包括的目标用户的标识获取目标用户的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池;进一步获取目标用户关于所述第一交易池的历史存储信息;在根据所述历史存储信息确定所述第一优先级有效的情况下,将目标交易数据存储在第一交易池中。实现了目标用户根据自身需求选择将自己的交易数据存储在哪个交易池中,丰富了交易数据存储方式。另外,后续在生成区块时,可以根据每个交易池对应的优先级从各个交易池中选择交易数据进行打包,缩小了交易数据的选择范围,从而可提高生成区块的效率。
基于上述的方法实施例的描述,本发明实施例还提供了另一种数据处理方法,参考图3为本发明实施例提供的另一种数据处理方法的流程示意图。所述数据处理方法可以应用于区块链,所述区块链包括多个交易池,每个交易池对应各自的优先级,所述数据处理方法可由区块链中任意一个节点设备执行,具体可由节点设备的处理器执行。图3所示的数据处理方法可包括如下步骤:
步骤S301、接收目标用户发送的优先级申请请求,该优先级申请请求包括目标用户的标识、第一优先级和目标用户在第一优先级下存储交易数据的数量阈值。
在一个实施例中,目标用户可以通过其使用的终端进行优先级申请,具体实现中,当检测到目标用户的优先级申请操作时,终端可显示优先级申请界面如图4a所示,该优先级申请界面中可包括区块链中提示目标用户可申请的优先级的提示信息401,比如提示目标用户可申请的优先级包括第一优先级、第二优先级和第三优先级等;该优先级申请界面中还可以包括优先级申请区域402,目标用户可以在402区域中填写所想要申请的优先级;优先级申请界面还包括数量阈值的设置区域403,该设置区域中还可以显示设置提示信息,比如最少可设置为2,最多可设置为100等。假设目标用户在优先级申请区域填写了第一优先级,在设置选项中设置了数量阈值为10。
在一个实施例中,优先级申请界面还可以包括确认申请按钮404和取消申请按钮405,在目标用户填写第一优先级以及数量阈值之后,如果想要向区块链申请该第一优先级,则可以点击确认申请按钮404;如果不想继续向区块链申请该第一优先级则可以点击取消继续申请按钮405。如果检测到目标用户对确认按钮404的操作,则终端将目标用户的标识、第一优先级以及数量阈值携带在优先级申请请求中发送给区块链。
步骤S302、根据第一优先级以及数量阈值确定申请第一优先级所需的目标资源。
在一个实施例中,区块链中的节点设备接收到目标用户的终端发送的优先级申请请求后,可对该优先级申请请求进行验证,比如验证目标账户是否具有申请第一优先级的资格、或者第一优先级是否还允许被申请等。所述验证目标账户是否有申请第一优先级的资格可以是根据目标用户在区块链中的历史交易数据确定目标账户是否为合法账户,或者确定目标账户的信用情况是否合格等。
对优先级申请请求验证通过后,可以根据第一优先级以及数量阈值确定申请第一优先级所需的目标资源。应当理解的,区块链中可预先规定申请每个优先级的资源计算规则,当接收到优先级申请请求时,根据所请求的优先级对应的资源计算规则计算申请该优先级所需的资源。例如,区块链预先规定申请在第一优先级下存储交易数据的数量阈值为1时所需基础资源是5币,假设目标用户申请在第一优先级下存储交易数据的数量阈值为10,则需要支付的资源为5*10;或者,区块链预先规定申请在第一优先级下存储交易数据的数量阈值为1-10时所需资源是5币,如果数量阈值大于10,数量阈值每增加一个需要支付10币。应当理解的,上述只是本发明实施例列举的两种可能的申请优先级所需资源的计算规则,在实际应用中还可以通过其他方式计算,本发明实施例不做具体限定。
步骤S303、如果接收到目标用户支付的目标资源,则为目标用户分配第一优先级,并将目标用户的标识和第一优先级关联存储。
在一个实施例中,确定了目标用户需要支付的目标资源后,节点设备可以向目标用户使用的终端发送通知信息,终端将通知信息显示在用户界面中以通知目标用户支付目标资源。如果目标用户想要支付目标资源时,可以在用户界面进行相应的支付操作。在支付完成时,终端向区块链返回支付结果。区块链根据支付结果确定目标用户已支付了目标资源,则执行为目标用户分配第一优先级的操作。
在其他实施例中,步骤S302也可以由终端执行,具体实现中,区块链将各个优先级对应的资源计算规则发送给终端,终端根据目标用户所申请的优先级以数量阈值计算目标资源,并显示支付界面以使得目标用户在支付界面完成目标资源的支付,最后终端把支付完成的结果返回给区块链。可选的,如果终端中存储了各个优先级对应的资源计算规则,则可以在目标用户在优先级申请界面填写好所申请的优先级以及数量阈值界面中显示目标资源预览选项,以方便用户及时了解到自己需要支付的目标资源。参考图4b所示,用户在优先级申请界面填写好第一优先级以及数量阈值之后,在目标资源预览选项406处显示目标资源;如果目标用户修改了数量阈值,则406处显示的目标资源也随之改变如图4c所示,同理的,如果目标用户将所申请的优先级由第一优先级修改为第二优先级,则406处显示的目标资源也随之改变如图4d所示。如此一来,用户可实时查看自己所支付的资源,便于用户统筹考虑申请哪个优先级,提高用户体验。
步骤S304、接收目标交易数据,该目标交易数据包括目标用户的标识。
步骤S305、获取所述目标用户的标识对应的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池。
步骤S306、获取目标用户在所述第一交易池已存储的历史交易数据的存储总数量中与所述第一优先级相关的目标数量。
步骤S307、检测目标数量是否大于数量阈值,如果目标数量不大于数量阈值,则确定第一优先级有效,将目标交易数据存储在第一优先级对应的第一交易池中。
在一个实施例中,步骤S304-步骤S307中包括的一些可行的实施方式可参见图2实施例相应部分的描述,在此不再赘述。
在一个实施例中,将目标交易数据存储在第一优先级对应的第一交易池之后,可以将目标交易数据作为目标用户在第一交易池已存储的历史交易数据,对目标用户在第一交易池已存储的历史交易数据的存储总数量进行更新。所述对存储总数量进行更新可以是将存储总数量增加一,比如第一交易池已存储的历史交易数据的存储总数量为5,将目标交易数据存入第一交易池之后,存储总数量由5变成6。
在一个实施例中,将目标交易数据存储在第一优先级对应的第一交易池之后,还可以对目标用户在第一交易池已存储的历史交易数据的存储总数量中与第一优先级相关的目标数量进行更新。由前述可知,所述目标用户在第一交易池已存储的历史交易数据的存储总数量中与第一优先级相关的目标数量是指第一交易池中存储的历史交易数据中获得打包机会受到第一优先级影响的历史交易数据的数量。由前述可知,获取打包机会受到第一优先级影响的历史交易数据是指在第一交易池中存储该历史交易数据时区块链中低于第一优先级的其他优先级对应的其他交易池为空。
具体实现中,如果第一优先级不是区块链中最低的优先级,也就是说区块链中还包括除第一优先级之外且低于优先级的其他优先级,所述对存储总数量中与所述第一优先级相关的目标数量进行更新,包括:判断所述其他交易池中是否包括其他交易数据;如果所述其他交易池中不包括其他交易数据,则保持所述存储总数量中与所述第一优先级相关的目标数量不变;如果所述其他交易池中包括其他交易数据,则将所述总数量中与所述第一优先级相关的目标数量增加一。例如,假设存储总数量为10,与第一优先级相关的目标数量为5,如果在向第一交易池中存储目标交易数据时,其他优先级对应的其他交易池均是空的,则存储总数量增加1,由10变为11,与第一优先级相关的目标数量保持为5不变;如果在向第一交易池中存储目标交易数据时,其他优先级对应的其他交易池中任意一个其他交易池存储交易数据,则存储总数量增加1,由10变为11,目标数量增加1,由5变为6。可以理解,当其他优先级对应的其他交易池均是空的时,使用任何一个交易池都可以较快地处理交易,此时不应当将接收到的交易计入与第一优先级相关的目标数量,有利于提高用户体验。
步骤S308、如果目标数量大于数量阈值,则确定第一优先级失效,从低于第一优先级的其他优先级中为目标用户分配第二优先级。
步骤S309、将目标交易数据存储在所述第二优先级对应的第二交易池。
在一个实施例中,所述目标用户标识对应的第二优先级是在确定了第一优先级失效后,节点设备从区块链中低于所述第一优先级的其他优先级中为目标用户分配的。可选的,由前述可知,区块链在设置多个优先级时,可以设置一个默认的优先级,该默认的优先级可以是分配给未在区块链中申请更高优先级的用户;或者,该默认的优先级可以分配给已申请更高优先级但更高优先级失效的用户。基于此,所述第二优先级可以是区块链从多个优先级中设置的默认优先级。在其他实施例中,所述第二优先级也可以是其他优先级中与第一优先级相邻的优先级。
在一个实施例中,区块链的多个交易池中,越高优先级对应的交易池具有越大的权重,在生成区块时权重越大的交易池中被提取的交易数据的数量越多。换句话说,每个交易池对应的权重是由每个交易池对应的优先级决定的,优先级越高的交易池对应的权重越大,每个交易池的对应的权重用于反映在生成区块时相应的交易池被提取的交易数据的数量多少,权重越大,被提取的数量越多,区块链中每个交易池的权重是大于等于0且小于等于1的数值并且所有交易池的权重之和应该等于1。具体实现中,如果第一优先级为最高优先级,交易池中还包括低于第一优先级的其他优先级对应的其他交易池,则当接收到生成区块的指令时,根据第一优先级对应的第一权重和其他优先级对应的第二权重从第一交易池和其他交易池中选择用于生成区块的交易数据。具体实现中:接收生成区块的指令,所述指令包括生成区块所需的交易数据的总数量;获取所述第一交易池对应的第一权重和所述其他交易池对应的第二权重;根据所述生成区块所需的交易数据的总数量和所述第一权重,从所述第一交易池中选择第一数量的交易数据,以及根据所述生成区块所需的交易数据的总数量和所述第二权重,从所述其他交易池中选择第二数量的交易数据,其中,该第一权重和第二权重表征所述第一交易池和所述其他交易池占用的生成区块所需的交易数据的总数量的份额,第一权重大于第二权重,并且第一权重和第二权重之和等于1,所述第一数量大于所述第二数量;将所述第一数量的交易数据和所述第二数量的交易数据打包成区块。
举例来说,参考图5为本发明实施例提供的一种生成区块的示意图。假设区块链中只包括第一优先级对应的第一交易池和其他优先级对应的其他交易池,并且第一交易池对应的第一权重为0.8,其他交易池对应的权重为0.2。假设当前区块链中已存在1440个区块,检测到生成第1441个区块的指令时,节点设备首先确定生成第1441个区块需要多少个交易数据,假设需要5个。根据第一权重和第二权重确定应该从第一交易池总选择0.8*=4个交易数据,从其他交易池中中选择0.2*5=1个交易数据,则从第一交易池中选择4个交易数据并从其他交易池中选择1个交易数据,作为第1441个区块中需要打包的交易数据。再为第1441个区块添加其他所需信息以及对第1441区块进行共识验证后连接到区块链上。
由前述可知,优先级越高,其对应的权重越大,也即第一权重大于第二权重,权重越大被提取用于生成区块的交易数据就越多,也即第一数量大于第二数量,这样一来,目标用户的目标交易数据是存储在第一交易池中的,该目标交易数据获得打包的机会越大。举例来说,假设第一交易池中包括100个交易数据,其他交易池中也包括100个交易数据,第一交易池对应的第一权重为0.7,其他交易池对应的第二权重为0.3,如果生成区块的指令中指示生成区块所需的交易数据数量为50个,则第一交易池中被提取出的交易数据的第一数量为0.7*50=35个,其他交易池中被提取出的交易数据的第二数量为0.3*50=15个。第一交易池中每个交易数据获得打包的机会为35/100=35%,其他交易池中每个交易数据获得打包的机会为15/100=15%。
在上述的描述中,假设区块链分为多个交易池中均可以存储各种类型的交易数据,在划分为多个交易池时可以依据划分后各个多个交易池中存储的交易数据数量相同,将原来的一个交易池划分为多个交易池。在其他实施例中,本发明实施例中可以依据存储的交易数据所属的数据类型在区块链中设置多个交易池,每个交易池用于存储一种或几种类型的交易数据。具体实现中,由于各个交易池对应的优先级影响各个交易池中存储的交易数据获得到打包的机会,某个交易数据获得打包的机会越大,该交易就可以越早被执行。因此,在依据交易数据所属的数据类型设置多个交易池时,可以将对执行时效要求最高的数据类型的交易数据存放在一个交易池中,将对执行时效性要求较高的数据类型的交易数据存放在一个交易池中,将对执行时效性要求一般的数据类型的交易数据存放在一个交易池中。
例如,假设对于转账类型的交易数据来说,转账用户向接收用户转账时,接收用户希望尽快接收到转账用户的转账资源,所以转账类型的交易数据可以认为是执行时效性要求较高的数据类型,因此可以设置一个交易池用于存放转账类型的交易数据;再如,假设对于发布智能合约类型的交易数据来说,对执行时效性的要求低于转账类型的交易数据,因此可以设置一个交易池用于存放转账类型的交易数据。假设对于除上述两种类型之外其他类型的交易数据来说,对执行时效性的要求一般,则可以设置一个交易池用于存放其他类型的交易数据。
基于此,在为各个交易池设置优先级时,可以设置对执行时效性要求最高的数据类型对应的交易池具有最高的优先级,对执行时效性要求较高的数据类型对应的交易池具有较高的优先级,对执行时效性要求一般的数据类型对应的交易池具有最低的优先级。
在这种设置多个交易池以及各个交易池对应的优先级的方式下,如果用户申请了一个优先级L,该优先级L对应的是用于存储转账类型的交易数据的优先级,则当该用户发送了转账类型的交易数据时,将该交易数据存入优先级L对应的交易池中;如果当该用户发送了非转账类型的交易数据时,则将该交易数据存放在用于存放其他类型的交易数据的交易池中。也就是说,虽然用户申请了优先级L,但是如果用户发送的交易数据与优先级L对应的数据类型不相同,则默认将该用户的数据存放在最低优先级的交易池中。
本发明实施例中,将区块链中划分多个交易池,每个交易池对应各自的优先级,优先级越高的交易池在生成区块时被提取的交易数据的数量越多,当接收到目标用户针对第一优先级发送的优先级申请请求时,根据第一优先级以及目标用户申请在第一优先级对应的第一交易池中存储的交易数据的数量阈值确定申请第一优先级所需的目标资源;如果接收到目标用户支付了所述目标资源,则为目标用户分配第一优先级,并关联存储目标用户的标识和第一优先级。当接收到目标用户发送的目标交易数据时,获取目标用户的标识对应的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池。进一步地,获取目标用户关于第一交易池的历史存储信息,并根据历史存储信息确定第一优先级是否有效,在第一优先级有效的情况下,将目标交易数据存储在第一交易池;在第一优先级失效的情况下,从低于第一优先级的其他优先级中为目标用户分配第二优先级,并将目标交易数据存储在第二优先级对应的第二交易池中。
在上述数据存储过程中,目标用户可以根据自身需求申请第一优先级,这样一来,目标用户发送的目标交易数据优先被存储在第一优先级对应的第一交易池中,以使得目标交易数据获取到相对较高的打包机会。另外,如果检测到目标用户的第一优先级失效,为了保证目标交易数据被成功存储,可以为目标用户从其他低于第一优先级的其他优先级中为目标用户分配第二优先级,以将目标交易数据存储在第二优先级对应的第二交易池。
基于上述的方法实施例,本发明实施例还提供了一种数据处理装置,参考图6为本发明实施例提供的一种数据处理装置的结构示意图。所述数据处理装置可以配置于区块链的节点设备中,所述区块链包括多个交易池,每个交易池分别对应各自的优先级。图6所示的数据处理装置可运行如下单元:
接收单元601,用于接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取单元602,用于获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
所述获取单元602,还用于获取所述目标用户在所述第一交易池已存储的历史交易数据的历史数量;
处理单元603,用于根据所述历史数量确定所述第一优先级是否有效;
存储单元604,用于如果处理单元确定所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
在一个实施例中,所述获取单元602还用于:如果根据所述历史数量确定所述第一优先级失效,则获取所述目标用户的标识对应的第二优先级,所述第二优先级是在所述第一优先级失效时,所述区块链从低于所述第一优先级的其他优先级中为所述目标用户分配的;所述存储单元604还用于将所述目标交易数据存储在所述第二优先级对应的第二交易池。
在一个实施例中,所述历史存储信息包括所述目标用户在所述第一交易池已存储的历史交易数据的历史数量,所述历史数量包括所述目标用户在所述第一交易池已存储的历史交易数据的存储总数量;或者,目标用户在所述第一交易池已存储的历史交易数据的存储总数量中与所述第一优先级相关的目标数量,所述处理单元603在根据所述历史存储信息确定所述第一优先级是否有效时,执行如下操作:如果所述历史数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效,所述数量阈值是所述目标用户在申请所述第一优先级时设置的;如果所述历史数量不大于所述数量阈值,则确定所述第一优先级有效。
在一个实施例中,在所述多个交易池中,越高优先级对应的交易池具有越大的权重,在生成区块时权重越大的交易池中被提取的交易数据的数量越多。
在一个实施例中,所述处理单元603还用于:将所述目标交易数据计为所述目标用户在所述第一交易池已存储的历史交易数据,对所述目标用户在所述第一交易池中已存储的历史交易数据的存储总数量进行更新。
在一个实施例中,所述处理单元603还用于对所述存储总数量中与所述第一优先级相关的目标数量进行更新。
在一个实施例中,所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,所述处理单元603在对所述存储总数量中与所述第一优先级相关的目标数量进行更新时,执行如下操作:判断所述其他交易池中是否包括其他交易数据;如果所述其他交易池中不包括其他交易数据,则保持所述存储总数量中与所述第一优先级相关的目标数量不变;如果所述其他交易池中包括其他交易数据,则将所述存储总数量中与所述第一优先级相关的目标数量增加一。
在一个实施例中,如果所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,则所述接收单元601还用于接收生成区块的指令,所述指令包括生成区块所需的交易数据的总数量;所述获取单元602还用于获取所述第一交易池对应的第一权重和所述其他交易池对应的第二权重;所述处理单元603还用于根据所述生成区块所需的交易数据的总数量和所述第一权重,从所述第一交易池中选择第一数量的交易数据,以及根据所述生成区块所需的交易数据的总数量和所述第二权重,从所述其他交易池中选择第二数量的交易数据,所述第一数量大于所述第二数量;将所述第一数量的交易数据和所述第二数量的交易数据打包成区块。
在一个实施例中,所述接收单元601还用于接收所述目标用户发送的优先级申请请求,所述优先级申请请求包括所述目标用户的标识、所述第一优先级和所述目标用户在所述第一优先级下存储交易数据的数量阈值;所述处理单元603还用于根据所述第一优先级以及所述数量阈值确定申请所述第一优先级所需的目标资源;如果接收到所述目标用户支付的所述目标资源,则为所述目标用户分配所述第一优先级;所述存储单元604还用于将所述目标用户的标识和所述第一优先级关联存储。
根据本发明的一个实施例,图2以及图3所示的数据处理方法中可由图6所示的数据处理装置中的各个单元来执行。例如,图2中所示的步骤S201可由图6所示的数据处理装置中的接收单元601执行,步骤S202和步骤S203由图6所示的数据处理装置中的获取单元602执行,步骤S204可由图6所示的数据处理装置中的处理单元603执行,步骤S205可由图6所示的数据处理装置中的存储单元604执行;再如,图3所示的步骤S301和步骤S304可由图所示的数据处理装置中的接收单元601执行,步骤S302、步骤S303、步骤S307以及步骤S308可由图6所示的数据处理装置中的处理单元603执行,步骤S305、以及步骤S306可由图6所示的获取单元602执行,步骤S307和步骤S309可由图6所示的数据处理装置中的存储单元604执行。
根据本发明的另一个实施例,图6所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2以及图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例中,目标用户可以预先在区块链中申请一个第一优先级,当接收到奥目标交易数据时,根据目标交易数据包括的目标用户的标识获取目标用户的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池;进一步获取目标用户关于所述第一交易池的历史存储信息;在根据所述历史存储信息确定所述第一优先级有效的情况下,将目标交易数据存储在第一交易池中。实现了目标用户根据自身需求选择将自己的交易数据存储在哪个交易池中,丰富了交易数据存储方式。另外,后续在生成区块时,可以根据每个交易池对应的优先级从各个交易池中选择交易数据进行打包,缩小了交易数据的选择范围,从而可提高生成区块的效率。
基于上述方法以及装置项实施例的描述,本发明实施例提供了一种节点设备,参考图7为本发明实施例提供的一种节点设备的结构示意图。该节点设备可以位于区块链中,所述区块链中包括多个交易池,每个交易池对应各自的优先级。所述节点设备包括处理器701和计算机存储介质702。
计算机存储介质702可以存储在终端的存储器中,所述计算机存储介质702用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质702存储的程序指令。处理器701或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,处理器701可以用于执行:接收目标交易数据,所述目标交易数据包括目标用户的标识;获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;获取所述目标用户关于所述第一交易池的历史存储信息;根据所述历史存储信息确定所述第一优先级是否有效;如果所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括电子设备中的内置存储介质,当然也可以包括电子设备所支持的扩展存储介质。计算机存储介质提供存储空间,在该存储空间中存放了适于被处理器701加载并执行的一条或多条指令,这些指令可以是一个或多个计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,处理器701加载并执行一条或多条指令时,用于执行:接收目标交易数据,所述目标交易数据包括目标用户的标识;获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;获取所述目标用户关于所述第一交易池的历史存储信息;根据所述历史存储信息确定所述第一优先级是否有效;如果所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
在一个实施例中,如果根据所述历史数量确定所述第一优先级失效,则获取所述目标用户的标识对应的第二优先级,所述第二优先级是在所述第一优先级失效时,所述区块链从低于所述第一优先级的其他优先级中为所述目标用户分配的;将所述目标交易数据存储在所述第二优先级对应的第二交易池。
在一个实施例中,所述历史存储信息包括所述目标用户在所述第一交易池已存储的历史交易数据的历史数量,所述历史数量包括所述目标用户在所述第一交易池已存储的历史交易数据的存储总数量;或者,目标用户在所述第一交易池已存储的历史交易数据的存储总数量中与所述第一优先级相关的目标数量,所述处理器701在根据所述历史存储信息确定所述第一优先级是否有效时,执行如下操作:如果所述历史数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效,所述数量阈值是所述目标用户在申请所述第一优先级时设置的;如果所述历史数量不大于所述数量阈值,则确定所述第一优先级有效。
在一个实施例中,在所述多个交易池中,越高优先级对应的交易池具有越大的权重,在生成区块时权重越大的交易池中被提取的交易数据的数量越多。
在一个实施例中,所述处理器701还用于执行:将所述目标交易数据计为所述目标用户在所述第一交易池已存储的历史交易数据,对所述目标用户在所述第一交易池中已存储的历史交易数据的存储总数量进行更新。
在一个实施例中,所述处理器701还用于执行:对所述存储总数量中与所述第一优先级相关的目标数量进行更新。
在一个实施例中,所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,所述处理器701在所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级时,执行如下操作:判断所述其他交易池中是否包括其他交易数据;如果所述其他交易池中不包括其他交易数据,则保持所述存储总数量中与所述第一优先级相关的目标数量不变;如果所述其他交易池中包括其他交易数据,则将所述存储总数量中与所述第一优先级相关的目标数量增加一。
在一个实施例中,如果所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,所述处理器701还用于:接收生成区块的指令,所述指令包括生成区块所需的交易数据的总数量;获取所述第一交易池对应的第一权重和所述其他交易池对应的第二权重;根据所述生成区块所需的交易数据的总数量和所述第一权重,从所述第一交易池中选择第一数量的交易数据,以及根据所述生成区块所需的交易数据的总数量和所述第二权重,从所述其他交易池中选择第二数量的交易数据,所述第一数量大于所述第二数量;将所述第一数量的交易数据和所述第二数量的交易数据打包成区块。
在一个实施例中,所述处理器701还用于执行:接收所述目标用户发送的优先级申请请求,所述优先级申请请求包括所述目标用户的标识、所述第一优先级和所述目标用户在所述第一优先级下存储交易数据的数量阈值;根据所述第一优先级以及所述数量阈值确定申请所述第一优先级所需的目标资源;如果接收到所述目标用户支付的所述目标资源,则为所述目标用户分配所述第一优先级,并将所述目标用户的标识和所述第一优先级关联存储。
本发明实施例中,目标用户可以预先在区块链中申请一个第一优先级,当接收到奥目标交易数据时,根据目标交易数据包括的目标用户的标识获取目标用户的第一优先级,并从多个交易池中获取第一优先级对应的第一交易池;进一步获取目标用户关于所述第一交易池的历史存储信息;在根据所述历史存储信息确定所述第一优先级有效的情况下,将目标交易数据存储在第一交易池中。实现了目标用户根据自身需求选择将自己的交易数据存储在哪个交易池中,丰富了交易数据存储方式。另外,后续在生成区块时,可以根据每个交易池对应的优先级从各个交易池中选择交易数据进行打包,缩小了交易数据的选择范围,从而可提高生成区块的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种数据处理方法,其特征在于,所述数据处理方法应用于区块链中,所述区块链包括多个交易池,每个交易池分别对应各自的优先级,所述方法包括:
接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是所述区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
获取所述目标用户关于所述第一交易池的历史存储信息;
根据所述历史存储信息确定所述第一优先级是否有效;
如果所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果根据所述历史存储信息确定所述第一优先级失效,则获取所述目标用户的标识对应的第二优先级,所述第二优先级是在所述第一优先级失效时,所述区块链从低于所述第一优先级的其他优先级中为所述目标用户分配的;
将所述目标交易数据存储在所述第二优先级对应的第二交易池。
3.如权利要求1所述的方法,其特征在于,所述历史存储信息包括所述目标用户在所述第一交易池已存储的历史交易数据的历史数量,所述历史数量包括所述目标用户在所述第一交易池已存储的历史交易数据的存储总数量;或者,目标用户在所述第一交易池已存储的历史交易数据的存储总数量中与所述第一优先级相关的目标数量,所述根据所述历史存储信息确定所述第一优先级是否有效,包括:
如果所述历史数量大于所述目标用户在所述第一优先级下存储交易数据的数量阈值,则确定所述第一优先级失效,所述数量阈值是所述目标用户在申请所述第一优先级时设置的;
如果所述历史数量不大于所述数量阈值,则确定所述第一优先级有效。
4.如权利要求3所述的方法,其特征在于,在所述多个交易池中,越高优先级对应的交易池具有越大的权重,在生成区块时权重越大的交易池中被提取的交易数据的数量越多。
5.如权利要求4所述的方法,其特征在于,所述将所述目标交易数据存储在所述第一交易池后,所述方法还包括:
将所述目标交易数据计为所述目标用户在所述第一交易池已存储的历史交易数据,对所述目标用户在所述第一交易池中已存储的历史交易数据的存储总数量进行更新。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
对所述存储总数量中与所述第一优先级相关的目标数量进行更新。
7.如权利要求6所述的方法,其特征在于,所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,所述对所述存储总数量中与所述第一优先级相关的目标数量进行更新,包括:
判断所述其他交易池中是否包括其他交易数据;
如果所述其他交易池中不包括其他交易数据,则保持所述存储总数量中与所述第一优先级相关的目标数量不变;
如果所述其他交易池中包括其他交易数据,则将所述存储总数量中与所述第一优先级相关的目标数量增加一。
8.如权利要求4所述的方法,其特征在于,如果所述多个交易池中还包括除所述第一优先级之外的其他优先级对应的其他交易池,所述其他优先级低于所述第一优先级,则所述方法还包括:
接收生成区块的指令,所述指令包括生成区块所需的交易数据的总数量;
获取所述第一交易池对应的第一权重和所述其他交易池对应的第二权重,其中所述第一权重和所述第二权重分别表征所述第一交易池和所述其他交易池占用的所述生成区块所需的交易数据的总数量的份额;
根据所述生成区块所需的交易数据的总数量和所述第一权重,从所述第一交易池中选择第一数量的交易数据,以及根据所述生成区块所需的交易数据的总数量和所述第二权重,从所述其他交易池中选择第二数量的交易数据,所述第一数量大于所述第二数量;
将所述第一数量的交易数据和所述第二数量的交易数据打包成区块。
9.如权利要求1所述的方法,其特征在于,所述接收目标交易数据之前,所述方法还包括:
接收所述目标用户发送的优先级申请请求,所述优先级申请请求包括所述目标用户的标识、所述第一优先级和所述目标用户在所述第一优先级下存储交易数据的数量阈值;
根据所述第一优先级以及所述数量阈值确定申请所述第一优先级所需的目标资源;
如果接收到所述目标用户支付的所述目标资源,则为所述目标用户分配所述第一优先级,并将所述目标用户的标识和所述第一优先级关联存储。
10.一种数据处理装置,其特征在于,所述数据处理装置应用于区块链中,所述区块链包括多个交易池,每个交易池分别对应各自的优先级,所述数据处理装置包括:
接收单元,用于接收目标交易数据,所述目标交易数据包括目标用户的标识;
获取单元,用于获取所述目标用户的标识对应的第一优先级,并从所述多个交易池中获取所述第一优先级对应的第一交易池,所述第一优先级是区块链根据所述目标用户的优先级申请请求为所述目标用户分配的;
所述获取单元,还用于获取所述目标用户在所述第一交易池已存储的历史交易数据的历史数量;
处理单元,用于根据所述历史数量确定所述第一优先级是否有效;
存储单元,用于如果处理单元确定所述第一优先级有效,则将所述目标交易数据存储在所述第一交易池。
11.一种节点设备,其特征在于,包括:处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-9任一项所述的数据处理方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293931.4A CN110717762B (zh) | 2019-12-16 | 2019-12-16 | 数据处理方法、装置、节点设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911293931.4A CN110717762B (zh) | 2019-12-16 | 2019-12-16 | 数据处理方法、装置、节点设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110717762A true CN110717762A (zh) | 2020-01-21 |
CN110717762B CN110717762B (zh) | 2020-03-17 |
Family
ID=69216647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911293931.4A Active CN110717762B (zh) | 2019-12-16 | 2019-12-16 | 数据处理方法、装置、节点设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110717762B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309711A (zh) * | 2020-03-13 | 2020-06-19 | 财付通支付科技有限公司 | 跨区块链的数据迁移方法、装置、设备及存储介质 |
CN111400043A (zh) * | 2020-03-13 | 2020-07-10 | 杭州复杂美科技有限公司 | 交易池管理方法、设备和存储介质 |
CN111638963A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 交易池动态控制方法、设备和存储介质 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN112488688A (zh) * | 2020-12-17 | 2021-03-12 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
CN113034137A (zh) * | 2021-03-12 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及相关设备 |
CN113141377A (zh) * | 2021-05-14 | 2021-07-20 | 南京慧链和信数字信息科技研究院有限公司 | 一种基于区块链的数据安全管理系统 |
CN113222762A (zh) * | 2021-05-25 | 2021-08-06 | 杭州复杂美科技有限公司 | 交易打包方法、计算机设备和存储介质 |
CN113256424A (zh) * | 2021-06-15 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113708937A (zh) * | 2021-10-28 | 2021-11-26 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180365688A1 (en) * | 2017-06-14 | 2018-12-20 | International Business Machines Corporation | Transaction execution and validation in a blockchain |
CN109508987A (zh) * | 2018-12-06 | 2019-03-22 | 广东浪潮大数据研究有限公司 | 一种区块链的构建方法、系统及相关组件 |
CN109544332A (zh) * | 2018-10-17 | 2019-03-29 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种基于用户等级的区块链交易出块的方法 |
CN109710387A (zh) * | 2018-12-06 | 2019-05-03 | 成都佰纳瑞信息技术有限公司 | 一种用于区块链事务优先级排序的策略引擎及其使用方法 |
CN110019202A (zh) * | 2017-10-19 | 2019-07-16 | 深圳区块链金融服务有限公司 | 用于并发处理区块链交易的方法、计算机系统和介质 |
US20190253434A1 (en) * | 2018-02-10 | 2019-08-15 | Amit Biyani | System and method for managing and securing a distributed ledger for a decentralized peer-to-peer network |
WO2019195639A1 (en) * | 2018-04-05 | 2019-10-10 | Neji, Inc. | Programmatic creation of blockchains |
US20190354397A1 (en) * | 2018-05-15 | 2019-11-21 | International Business Machines Corporation | Prioritization in a permissioned blockchain |
-
2019
- 2019-12-16 CN CN201911293931.4A patent/CN110717762B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180365688A1 (en) * | 2017-06-14 | 2018-12-20 | International Business Machines Corporation | Transaction execution and validation in a blockchain |
CN110019202A (zh) * | 2017-10-19 | 2019-07-16 | 深圳区块链金融服务有限公司 | 用于并发处理区块链交易的方法、计算机系统和介质 |
US20190253434A1 (en) * | 2018-02-10 | 2019-08-15 | Amit Biyani | System and method for managing and securing a distributed ledger for a decentralized peer-to-peer network |
WO2019195639A1 (en) * | 2018-04-05 | 2019-10-10 | Neji, Inc. | Programmatic creation of blockchains |
US20190354397A1 (en) * | 2018-05-15 | 2019-11-21 | International Business Machines Corporation | Prioritization in a permissioned blockchain |
CN109544332A (zh) * | 2018-10-17 | 2019-03-29 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种基于用户等级的区块链交易出块的方法 |
CN109508987A (zh) * | 2018-12-06 | 2019-03-22 | 广东浪潮大数据研究有限公司 | 一种区块链的构建方法、系统及相关组件 |
CN109710387A (zh) * | 2018-12-06 | 2019-05-03 | 成都佰纳瑞信息技术有限公司 | 一种用于区块链事务优先级排序的策略引擎及其使用方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400043A (zh) * | 2020-03-13 | 2020-07-10 | 杭州复杂美科技有限公司 | 交易池管理方法、设备和存储介质 |
CN111309711A (zh) * | 2020-03-13 | 2020-06-19 | 财付通支付科技有限公司 | 跨区块链的数据迁移方法、装置、设备及存储介质 |
CN111639129B (zh) * | 2020-05-24 | 2023-07-11 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN111638963A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 交易池动态控制方法、设备和存储介质 |
CN112488688A (zh) * | 2020-12-17 | 2021-03-12 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
CN112488688B (zh) * | 2020-12-17 | 2024-03-26 | 广州智链未来科技有限公司 | 基于区块链的交易处理方法、装置、设备及存储介质 |
CN113034137A (zh) * | 2021-03-12 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及相关设备 |
CN113141377A (zh) * | 2021-05-14 | 2021-07-20 | 南京慧链和信数字信息科技研究院有限公司 | 一种基于区块链的数据安全管理系统 |
CN113141377B (zh) * | 2021-05-14 | 2023-05-02 | 南京慧链和信数字信息科技研究院有限公司 | 一种基于区块链的数据安全管理系统 |
CN113222762A (zh) * | 2021-05-25 | 2021-08-06 | 杭州复杂美科技有限公司 | 交易打包方法、计算机设备和存储介质 |
CN113256424B (zh) * | 2021-06-15 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113256424A (zh) * | 2021-06-15 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113708937A (zh) * | 2021-10-28 | 2021-11-26 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
WO2023070924A1 (zh) * | 2021-10-28 | 2023-05-04 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110717762B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110717762B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN108323200B (zh) | 基于区块链的数据训练方法、装置、存储介质及区块链节点 | |
US10986177B2 (en) | Systems and methods of self-forking blockchain protocol | |
CN104321116B (zh) | 用于虚拟物品交易的游戏系统 | |
US11656895B1 (en) | Computing resource provisioning | |
CN1728118B (zh) | 资源分配管理方法和设备 | |
CN110599323B (zh) | 一种资源处理方法及处理设备 | |
CN105204924A (zh) | 管理程序执行能力的私有使用 | |
US20170178041A1 (en) | Completion contracts | |
CN112015823B (zh) | 一种区块链数据的删除方法和装置 | |
CN111966757B (zh) | 智能合约账户的存储空间管理方法和装置 | |
CN112015822B (zh) | 一种区块链数据的删除方法和装置 | |
US11068317B2 (en) | Information processing system and resource allocation method | |
CN108241535B (zh) | 资源管理的方法、装置及服务器设备 | |
CN112015577B (zh) | 一种智能合约的调用方法和装置 | |
CN116703601B (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
US11032366B2 (en) | Node device on blockchain network for processing transaction | |
CN115136567A (zh) | 控制多计算机网络中资源的访问的系统和方法 | |
JP6887170B2 (ja) | ゲームシステム、その制御方法及びコンピュータプログラム | |
KR20230115721A (ko) | 블록체인 합의 방법, 블록체인 합의 장치, 블록체인 합의 방법을 수행하는 컴퓨터 프로그램 및 합의 방법이 저장된 프로그램이 저장된 컴퓨터 프로그램 기록매체 | |
CN114996019A (zh) | 任务分配方法、装置、计算机设备、存储介质和程序产品 | |
CN105792160B (zh) | 一种处理计费请求的装置及方法 | |
CN113504988A (zh) | 系统算力资源调度的控制方法、系统、介质及装置 | |
CN111967994A (zh) | 一种智能合约的创建方法和装置 | |
CN111427691A (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 |