CN116703601B - 基于区块链网络的数据处理方法、装置、设备及存储介质 - Google Patents
基于区块链网络的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116703601B CN116703601B CN202310971135.1A CN202310971135A CN116703601B CN 116703601 B CN116703601 B CN 116703601B CN 202310971135 A CN202310971135 A CN 202310971135A CN 116703601 B CN116703601 B CN 116703601B
- Authority
- CN
- China
- Prior art keywords
- transaction
- queue
- transactions
- time
- consuming
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 230000000875 corresponding effect Effects 0.000 claims abstract description 234
- 238000000034 method Methods 0.000 claims abstract description 84
- 230000002596 correlated effect Effects 0.000 claims abstract description 62
- 238000004806 packaging method and process Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 257
- 238000010801 machine learning Methods 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 23
- 230000000977 initiatory effect Effects 0.000 description 18
- 230000002159 abnormal effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012795 verification Methods 0.000 description 13
- 238000012856 packing Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种基于区块链网络的数据处理方法、装置、设备及存储介质,该方法包括:从交易池包括的多个交易队列中选择目标交易队列,从目标交易队列中选取出N个交易;不同交易队列具有不同的交易复杂梯度;根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时;区块调度耗时与目标交易队列的交易复杂梯度成正相关;在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块;可提高区块产出效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链网络的数据处理方法、装置、设备及存储介质。
背景技术
在目前的区块链场景中,区块链网络中用于实现区块打包的节点,在每次执行区块打包过程时,会从交易池中获取一个或多个交易并执行交易得到相应的执行结果,进而可以将获取到的各个交易以及相应交易的执行结果打包成区块;在该过程中,由于要在执行获取到的各个交易并得到相应的执行结果之后,才将交易和执行结果打包成区块,那么,若获取到的交易中存在异常交易长时间无法执行完成,那么会导致区块长时间无法产出,使得区块产出效率低。
发明内容
本申请实施例提供一种基于区块链网络的数据处理方法、装置、设备及存储介质,可避免在区块打包过程中存在异常交易长时间无法执行完成所导致的区块长时间无法产出的情况的发生,提高区块产出效率。
一方面,本申请实施例提供了一种基于区块链网络的数据处理方法,包括:
从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块。
一方面,本申请实施例提供了一种数据处理装置,包括:
获取单元,用于从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
处理单元,用于根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
所述处理单元,还用于在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块。
一方面,本申请实施例提供了一种数据处理设备,所述数据处理设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行上述基于区块链网络的数据处理方法。
一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行上述基于区块链网络的数据处理方法。
一方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;数据处理设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得数据处理设备执行上述基于区块链网络的数据处理方法。
本申请实施例中,可以采用不同交易复杂梯度的交易队列来存储不同耗时梯度的交易,采用同一交易复杂梯度的交易队列来存储相同耗时梯度的交易,可以从不同交易复杂梯度的交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易;进一步可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,来限制该N个交易的执行时长,也就是说,可以在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块;可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,来限制从不同交易队列中选取出的N个交易的执行时长,那么,即使选取出的N个交易中存在异常交易长时间无法执行完成,也不会导致区块长时间无法产出,即可以避免由于选取出的N个交易中存在异常交易长时间无法执行完成所导致的区块长时间无法产出的情况的发生,提高区块产出效率;并且,动态确定出的N个交易对应的区块调度耗时与目标交易队列的交易复杂梯度成正相关,也就是说,可以为从高交易复杂梯度的交易队列中选取出的,处于高耗时梯度的N个交易,动态确定出较长的区块调度耗时,为从低交易复杂梯度的交易队列中选取出的,处于低耗时梯度的N个交易,动态确定出较短的区块调度耗时,相较于配置一个固定的区块调度耗时,若配置的固定区块调度耗时过小,会导致高耗时梯度的正常交易无法被执行完成,进而无法被打包成区块,若配置的固定区块调度耗时过大,那么会导致耗时过长的异常交易也有可能被打包成区块,而本方案可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,使得动态确定出的区块调度耗时与需要打包的N个交易更加适配,可以减小上述情况发生的可能性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块的结构示意图;
图2是本申请实施例提供的一种数据处理系统的结构示意图;
图3是本申请实施例提供的另一种数据处理系统的结构示意图;
图4是本申请实施例提供的一种基于区块链网络的数据处理方法的流程示意图;
图5是本申请实施例提供的另一种基于区块链网络的数据处理方法的流程示意图;
图6是本申请实施例提供的一种基于交易队列的处理优先级从交易池中选择N个交易的示意图;
图7是本申请实施例提供的一种对机器学习模型进行训练更新的示意图;
图8是本申请实施例提供的一种执行数据处理方法的示意图;
图9是本申请实施例提供的另一种执行数据处理方法的示意图;
图10是本申请实施例提供的一种数据处理设备的模块示意图;
图11是本申请实施例提供的又一种执行数据处理方法的示意图;
图12是本申请实施例提供的再一种执行数据处理方法的示意图;
图13是本申请实施例提供的一种数据处理装置的结构示意图;
图14是本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Blockchain)是一种分布式数据存储、点对点传输(Peer to Peer传输)、共识机制、加密算法等计算机技术的新型应用模式;其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块。此处的数据块又可称为区块,其本质上是一个用于记录数据信息的数据结构;每一个数据块(区块)中包含了一批次网络交易的信息(即数据),用于验证其信息的有效性(即防伪)和生成下一个区块。参见图1,为本申请实施例提供的一种区块的结构示意图;每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。
基于区块链和点对点网络(Peer to Peer网络)所构成的网络可称为区块链网络,区块链网络中可以包括多个节点设备(简称节点);应理解的是,区块链网络中的任一节点设备(即节点)可以是终端设备,也可以是服务器。其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,对此不作限制;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,对此不作限制。
区块链网络中各节点实现的功能可以包括应用,其用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链网络中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务可以包括:(1)钱包,用于提供进行电子资源(即电子货币)的交易的功能,包括发起交易,即将当前交易的交易记录发送给区块链网络中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子资源地址中剩余的电子资源。(2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链网络中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。(3)智能合约(Smart contract),是一种旨在以信息化方式传播、验证或执行合同的计算机协议,可以执行某个合约的条款,为用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约;智能合约允许在没有第三方的情况下进行可信交易,这些交易可追溯且不可逆转。值得注意的是,本申请实施例中所涉及的钱包、共享账本、交易等可以理解为计算机术语事务(Transaction),鉴于在区块链技术中约定俗成地使用了这些术语,本申请实施例遵循了这一习惯。
基于以上描述,本申请实施例提供了一种基于区块链网络的数据处理方案,可以从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易,N为正整数;根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时;在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;区块调度耗时与目标交易队列的交易复杂梯度成正相关,区块调度耗时是指:执行N个交易时所允许消耗的时长。
其中,交易池用于存储接收到且尚未被打包进区块的交易,也就是说,交易池可以是用于存储接收到且尚未被打包进区块的交易的存储空间(例如缓冲区)。本申请提出,交易池中的交易基于交易队列的方式进行存储,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;交易队列的交易复杂梯度越大,该交易队列中的交易所处的耗时梯度越大,该交易队列中的交易的交易耗时应该更大(即更长),交易的交易耗时可以为:该交易被执行完成所需的时长。不同耗时梯度对应不同交易耗时范围,任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关,高耗时梯度对应的交易耗时范围的最小值,大于低耗时梯度对应的交易耗时范围的最大值;由于交易队列的交易复杂梯度越大,该交易队列中的交易所处的耗时梯度越大,基于此,任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度对应的交易复杂梯度成正相关;其中,交易耗时范围的边界值包括交易耗时范围的最小值以及最大值。也就是说,交易复杂梯度、耗时梯度以及交易耗时范围一一对应,一个交易队列对应一个交易复杂梯度、一个耗时梯度以及一个交易耗时范围,以边界值为最大值为例,交易耗时范围的最大值越大,对应的耗时梯度越大、交易复杂梯度越大,进一步的,交易耗时范围所包括的值越大,对应的耗时梯度越大、交易复杂梯度越大;也就是说,一个交易队列的交易复杂梯度越大,该交易队列中的交易所处的耗时梯度越大,该交易队列对应的交易耗时范围所包括的值越大。交易复杂梯度、耗时梯度以及交易耗时范围可以根据具体需求进行预先设定;举例来说,设定有5个交易复杂梯度,从小到大分别为:1、2、3、4、5,相应的5个耗时梯度从小到大分别为:0、1、2、3、4,相应的交易耗时范围分别(0,1]、(1,5]、(5,10]、(10,20]、(20,30];不同交易耗时范围可以用于对接收到的交易进行分类,也就是说,不同交易耗时的交易会被划分到与相应交易耗时相匹配的交易耗时范围所对应的交易队列中,本申请实施例涉及的时间单位可以根据具体需求进行设定,例如以秒、分、时为时间单位等等,为了便于阐述,本申请实施例涉及到时间单位的地方均以分为例进行阐述。举例来说,若某一个交易的交易耗时为0.5分,若在接收到该交易时,判断出该交易耗时与交易耗时范围(0,1]相匹配,则可以将该交易存储至该交易耗时范围对应的交易队列中,该交易队列的交易复杂梯度为1。进一步的,将在区块调度耗时内所执行完成的交易打包成区块之后,该区块可以被广播至区块链网络的节点中,区块链网络中的节点对该区块达成共识后,可以将该区块存储至区块链中。
上述基于区块链网络的数据处理方案可以由数据处理设备执行,数据处理设备可以接收客户端发送的交易,并将交易存储至交易池的交易队列中;在一种可行的实施方式中,该数据处理设备可以为区块链网络中的节点,基于此,参见图2,为本申请实施例提供的一种数据处理系统的结构示意图,该数据处理系统可以包括:区块链网络21以及客户端22,该数据处理系统中存在通讯需求的设备之间可以通过有线或无线通信方式进行直接或间接地通信连接,本申请在此不做限制。其中,区块链网络21中可以包括一个或多个节点211;多个节点211之间支持基于点对点传输以及共识机制进行共识通信,所谓的共识机制是指通过特殊节点(此处指节点211)的投票,在较短的时间内完成对数据的验证和确认的机制。区块链网络21中的节点211可以从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易,N为正整数;根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时;在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。进一步的,该区块可以被广播至区块链网络的节点中,区块链网络中的节点对该区块达成共识后,可以将该区块存储至区块链中。
在另一种可行的实施方式中,执行上述数据处理方案的数据处理设备可以为位于区块链网络外的可信执行设备;基于此,参见图3,为本申请实施例提供的另一种数据处理系统的结构示意图,该数据处理系统可以包括:区块链网络31、客户端32以及可信执行设备33,该数据处理系统中存在通讯需求的设备之间可以通过有线或无线通信方式进行直接或间接地通信连接,本申请在此不做限制。可选的,可信执行设备可以是内置有可信执行环境的设备,可信执行环境是与可信执行设备的操作系统相互隔离的安全区域;进一步的,可信执行环境(Trusted execution environment,TEE)是计算平台(设备)上由软硬件方法构建的一个安全区域,可保证在安全区域内加载的代码和数据在机密性和完整性方面得到保护,其目标是确保一个任务按照预期执行,保证初始状态的机密性、完整性,以及运行时状态的机密性、完整性;也就是说,在可行执行环境中运行的代码以及产生的相关数据,可以被认为是可信的。由可信执行设备执行上述数据处理方案时,可信执行设备可以从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易,N为正整数;根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时;在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。进一步的,该区块可以被广播至区块链网络的节点中,区块链网络中的节点对该区块达成共识后,可以将该区块存储至区块链中。当上述数据处理方案由位于区块链网络外的可信执行设备执行时,可以减轻区块链网络中的节点的计算压力;为了便于阐述,本申请实施例后续以执行上述数据处理方案的数据处理设备为位于区块链网络中的节点为例进行叙述。
本申请书中相关数据(例如交易池中的交易等)收集处理在实例应用时应该严格根据法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
基于上述基于区块链网络的数据处理方案,本申请实施例提供了一种基于区块链网络的数据处理方法(也可以称为数据处理方法)。参见图4,为本申请实施例提供的一种基于区块链网络的数据处理方法的流程示意图。图4所示的基于区块链网络的数据处理方法可由数据处理设备执行。图4所示的数据处理方法可包括如下步骤:
S401,从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易。
其中,N为正整数,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关。交易队列的交易复杂梯度越大,该交易队列中的交易所处的耗时梯度越大,基于此,任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度对应的交易复杂梯度成正相关;其中,交易耗时范围的边界值包括交易耗时范围的最小值以及最大值。也就是说,交易复杂梯度、耗时梯度以及交易耗时范围一一对应,一个交易队列对应一个交易复杂梯度、一个耗时梯度以及一个交易耗时范围,以边界值为最大值为例,交易耗时范围的最大值越大,对应的耗时梯度越大、交易复杂梯度越大,进一步的,交易耗时范围所包括的值越大,对应的耗时梯度越大、交易复杂梯度越大;也就是说,一个交易队列的交易复杂梯度越大,该交易队列中的交易所处的耗时梯度越大,该交易队列对应的交易耗时范围所包括的值越大。
在一个实施例中,数据处理设备在接收到交易之后,可以将交易存储至交易池的交易队列中,在该过程中,数据处理设备可以确定该交易的预测耗时,进而可以将该交易添加至,与该交易的预测耗时相匹配的交易耗时范围所对应的交易队列中,其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值,确定交易的预测耗时的具体过程在后续实施例中进行阐述,再此不做描述,可选的,可以将交易的预测耗时所属的交易耗时范围,作为与相应交易的预测耗时相匹配的交易耗时范围。
S402,根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时。
其中,区块调度耗时是指:执行N个交易时所允许消耗的时长;区块调度耗时与目标交易队列的交易复杂梯度成正相关,也就是说,目标交易队列的交易复杂梯度越大,区块调度耗时越大;动态确定出的区块调度耗时与目标交易队列的交易复杂梯度成正相关,是为了使得可以为从交易复杂梯度更大的交易队列中选取出的交易设定更大的区块调度耗时,即为了使得可以为耗时梯度更大的交易设定更大的区块调度耗时,由于耗时梯度越大的交易被执行完成所需的时长应该更长,那么换言之,可以为需要更长交易耗时的交易设定更大的区块调度耗时,使得需要更长交易耗时的交易也能够在区块调度耗时内执行完成。
S403,在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。
在一个实施例中,将在区块调度耗时内所执行完成的交易打包成区块时,还应该打包在区块调度耗时内所执行完成的交易的执行结果;数据处理设备将在区块调度耗时内所执行完成的交易打包成区块之后,可以将该区块广播至区块链网络的节点中,区块链网络中的节点对该区块达成共识后,可以将该区块存储至区块链中。
本申请实施例中,可以采用不同交易复杂梯度的交易队列来存储不同耗时梯度的交易,采用同一交易复杂梯度的交易队列来存储相同耗时梯度的交易,可以从不同交易复杂梯度的交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易;进一步可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,来限制该N个交易的执行时长,也就是说,可以在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块;可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,来限制从不同交易队列中选取出的N个交易的执行时长,那么,即使选取出的N个交易中存在异常交易长时间无法执行完成,也不会导致区块长时间无法产出,即可以避免由于选取出的N个交易中存在异常交易长时间无法执行完成所导致的区块长时间无法产出的情况的发生,提高区块产出效率;并且,动态确定出的N个交易对应的区块调度耗时与目标交易队列的交易复杂梯度成正相关,也就是说,可以为从高交易复杂梯度的交易队列中选取出的,处于高耗时梯度的N个交易,动态确定出较长的区块调度耗时,为从低交易复杂梯度的交易队列中选取出的,处于低耗时梯度的N个交易,动态确定出较短的区块调度耗时,相较于配置一个固定的区块调度耗时,若配置的固定区块调度耗时过小,会导致高耗时梯度的正常交易无法被执行完成,进而无法被打包成区块,若配置的固定区块调度耗时过大,那么会导致耗时过长的异常交易也有可能被打包成区块,而本方案可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,使得动态确定出的区块调度耗时与需要打包的N个交易更加适配,可以减小上述情况发生的可能性。
基于上述基于区块链网络的数据处理方法的相关实施例,本申请实施例提供了另一种基于区块链网络的数据处理方法(也可以称为另一种数据处理方法)。参见图5,为本申请实施例提供的另一种基于区块链网络的数据处理方法的流程示意图。图5所示的基于区块链网络的数据处理方法可由数据处理设备执行。图5所示的数据处理方法可包括如下步骤:
S501,从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易。
其中,N为正整数,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关。
在一个实施例中,数据处理设备从交易池包括的多个交易队列中选择目标交易队列时,可以有多中选择方式。可选的,数据处理设备可以从交易池包括的多个交易队列中,随机选择一个交易队列作为目标交易队列;数据处理设备可以选择指定交易复杂梯度的交易队列作为目标交易队列,例如,可以选择最大交易复杂梯度的交易队列作为目标交易队列,选择最小交易复杂梯度的交易队列作为目标交易队列;数据处理设备可以根据交易队列选择规则所指示的选择顺序以及当前所处的选择顺序来从交易池包括的多个交易队列中选择目标交易队列,举例来说,若交易池中包括5个交易队列,相应的交易复杂梯度分别为1、2、3、4、5,若交易队列选择规则所指示的选择顺序为:根据交易复杂梯度从小到大的顺序进行选择,若当前所处的选择顺序为交易复杂梯度3对应的顺序,则数据处理设备此次可以选择交易复杂梯度为3的交易队列作为目标交易队列;那么,数据处理设备再一次执行从交易池包括的多个交易队列中选择目标交易队列时,可以选择交易复杂梯度为4的交易队列作为相应的目标交易队列。
在一种可行的实施方式中,数据处理设备从交易池包括的多个交易队列中选择目标交易队列时,可以确定出每个交易队列的处理优先级,并基于处理优先级进行选择;基于此,数据处理设备从交易池包括的多个交易队列中选择目标交易队列,可以包括:遍历交易池包括的多个交易队列,将当前遍历的交易队列确定为当前交易队列;根据当前交易队列中的各个交易的预测耗时,确定当前交易队列的耗时参数;其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值;根据当前交易队列的耗时参数,确定当前交易队列的处理优先级;其中,当前交易队列的处理优先级与相应耗时参数成正相关;在多个交易队列均被遍历后,根据多个交易队列中的各个交易队列的处理优先级,从多个交易队列中选择目标交易队列。其中,交易队列的处理优先级用于指示交易队列优先被处理的程度,交易队列的处理优先级越大,指示相应交易队列优先被处理的程度越高;数据处理设备根据多个交易队列中的各个交易队列的处理优先级,从多个交易队列中选择目标交易队列时,存在多种选择方式;例如,可以选择最大处理优先级对应的交易队列作为目标交易队列;又如,可以先从交易池的多个交易队列中确定出处理优先级大于优先级阈值的交易队列,并从确定出的交易队列中选择一个交易队列作为目标交易队列,从确定出的交易队列中选择一个交易队列作为目标交易队列时,例如可以进行随机选择;再如,可以按照处理优先级从大到小的顺序,依次从交易池的多个交易队列中确定出指定数量的交易队列,并从确定出的交易队列中选择一个交易队列作为目标交易队列,从确定出的交易队列中选择一个交易队列作为目标交易队列时,例如可以进行随机选择;其中,优先级阈值、指定数量均可以根据具体需求进行设定。
在一种可行的实施方式中,数据处理设备根据当前交易队列中的各个交易的预测耗时,确定当前交易队列的耗时参数,可以包括:对当前交易队列中的各个交易的预测耗时进行平均处理,得到当前交易队列的耗时参数。在另一种可行的实施方式中,数据处理设备根据当前交易队列中的各个交易的预测耗时,确定当前交易队列的耗时参数,可以包括:对当前交易队列中的各个交易的预测耗时进行加权平均处理,得到当前交易队列的耗时参数;其中,当前交易队列中的交易的预测耗时对应采用的权重可以根据具体需求进行设定;例如,可以按照多个预测耗时范围,为当前交易队列中预测耗时属于同一预测耗时范围的交易分配相同的权重,为不同预测耗时范围所对应的交易分配不同的权重。
在一种可行的实施方式中,数据处理设备可以根据当前交易队列的耗时参数,确定当前交易队列的处理优先级,使得当前交易队列的处理优先级与相应耗时参数成正相关;例如,可以将当前交易队列的耗时参数进行线性转换处理,将线性转换处理的结果作为当前交易队列的处理优先级。在另一种可行的实施方式中,数据处理设备根据当前交易队列的耗时参数,确定当前交易队列的处理优先级,可以包括:获取当前交易队列的队列参数,队列参数包括等待时长和交易数量中的一种或多种;其中,当前交易队列的等待时长是指:当前交易队列中最早接收到的交易的接收时间点和当前时间点之间的间隔时长,当前时间点是指获取队列参数的时刻;当前交易队列的交易数量是指:当前交易队列中所包括的交易的数量;根据当前交易队列的耗时参数以及队列参数,确定当前交易队列的处理优先级;其中,当前交易队列的处理优先级与相应耗时参数成正相关的同时,也与相应队列参数成正相关。可选的,数据处理设备根据当前交易队列的耗时参数以及队列参数,确定当前交易队列的处理优先级时,可以先获取耗时参数对应的权重参数,以及队列参数对应的权重参数,并基于相应的权重参数对当前交易队列的耗时参数和队列参数进行加权整合处理,在进行加权整合处理时,可以选择加权求和、加权求积等方式进行整合,本申请实施例不做限制。进一步可选的,队列参数中等待时长和交易数量对应的权重参数可以相同也可以不同,耗时参数、等待时长和交易数量对应的权重参数可以根据具体需求进行设定,当权重参数设定得越大,表示相应的参数对处理优先级的影响越大,例如,若耗时参数对应的权重参数最大,则耗时参数对得到的处理优先级的影响越大。以队列参数包括等待时长和交易数量为例,当前交易队列的处理优先级可由以下公式1示出:
(1)
其中,P表示当前交易队列的处理优先级,M表示当前交易队列的交易数量,m表示相应的权重参数,T表示当前交易队列的等待时长,t表示相应的权重参数,H表示当前交易队列的耗时参数,h表示相应的权重参数。
在一个实施例中,数据处理设备从目标交易队列中选取出N个交易时,可以存在多种选取方式。可选的,可以从目标交易队列中随机选取出N个交易;可以按照目标交易队列中各个交易的排列顺序,依次顺序选取出N个交易,此时,目标交易队列的各个交易的选取顺序,与相应交易在目标交易队列中的排列顺序成正相关,也就是说,在目标交易队列中排列越靠前的交易,越优先被选取。可选的,数据处理设备在接收到交易之后,将该交易添加至相应的交易队列中时,由于该交易相对于该交易队列中的其他交易是最晚接收到的,因此,可以将该交易添加至该交易队列的尾部。可以知道的是,此处的N为从目标交易队列中选取出的交易的数量,数据处理设备从目标交易队列中选取出N个交易时,可以在目标交易队列的交易数量大于或等于目标数量时,从目标交易队列中选取出目标数量的交易,此时N为目标数量,在目标交易队列的交易数量小于目标数量时,从目标交易队列中选取全部的交易,此时N为目标交易队列的交易数量;其中,目标数量用于指示打包得到一个区块所需处理的交易的最大值,可以根据具体需求进行设定。
以队列参数包括等待时长和交易数量为例,参见图6,为本申请实施例提供的一种基于交易队列的处理优先级从交易池中选择N个交易的示意图;数据处理设备可以遍历交易池包括的多个交易队列,将当前遍历的交易队列确定为当前交易队列;根据当前交易队列中的各个交易的预测耗时,确定当前交易队列的耗时参数;其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值;获取当前交易队列的等待时长;其中,当前交易队列的等待时长是指:当前交易队列中最早接收到的交易的接收时间点和当前时间点之间的间隔时长;获取当前交易队列的交易数量;其中,当前交易队列的交易数量是指:当前交易队列中所包括的交易的数量;根据当前交易队列的耗时参数、等待时长以及交易数量,确定当前交易队列的处理优先级;其中,当前交易队列的处理优先级与相应耗时参数成正相关的同时,也与相应等待时长以及交易数量成正相关,确定方式可以由上述公式1示出。在多个交易队列均被遍历后,根据多个交易队列中的各个交易队列的处理优先级,从多个交易队列中选择目标交易队列;例如,可以选择最大处理优先级对应的交易队列作为目标交易队列。从目标交易队列中选取出N个交易;具体的,可以在目标交易队列的交易数量大于或等于目标数量时,从目标交易队列中选取出目标数量的交易,此时N为目标数量,在目标交易队列的交易数量小于目标数量时,从目标交易队列中选取全部的交易,此时N为目标交易队列的交易数量。
S502,根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时。
其中,区块调度耗时与目标交易队列的交易复杂梯度成正相关,区块调度耗时是指:执行N个交易时所允许消耗的时长。
在一种可行的实施方式中,数据处理设备根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,可以包括:根据目标交易队列的交易复杂梯度以及N个交易的交易数量,动态确定N个交易对应的区块调度耗时;其中,区块调度耗时与目标交易队列的交易复杂梯度成正相关的同时,也与N个交易的交易数量成正相关。
在一种可行的实施方式中,数据处理设备根据目标交易队列的交易复杂梯度以及N个交易的交易数量,动态确定N个交易对应的区块调度耗时,可以包括:获取预设的默认调度耗时、梯度影响因子和交易数量影响因子;根据梯度影响因子和目标交易队列的交易复杂梯度,确定目标交易队列的交易复杂梯度对默认调度耗时的影响度;根据交易数量影响因子和N个交易的交易数量,确定N个交易的交易数量对默认调度耗时的影响度;基于确定出的两个影响度,对默认调度耗时进行调整,得到N个交易对应的区块调度耗时。其中,默认调度耗时、梯度影响因子以及交易数量影响因子可以根据具体需求进行设定,数据处理设备根据梯度影响因子和目标交易队列的交易复杂梯度,确定目标交易队列的交易复杂梯度对默认调度耗时的影响度时,可以将梯度影响因子和目标交易队列的交易复杂梯度进行相乘处理,根据交易数量影响因子和N个交易的交易数量,确定N个交易的交易数量对默认调度耗时的影响度时,可以将交易数量影响因子和N个交易的交易数量进行相乘处理,基于确定出的两个影响度,对默认调度耗时进行调整,得到N个交易对应的区块调度耗时,可以将确定出的两个影响度求和,并采用两个影响度的和对默认调度耗时进行调整,例如,可以采用两个影响度的和,来与默认调度耗时相乘,得到N个交易对应的区块调度耗时。
在另一种可行的实施方式中,数据处理设备根据目标交易队列的交易复杂梯度以及N个交易的交易数量,动态确定N个交易对应的区块调度耗时,可以包括:获取在交易复杂梯度维度下所预设的第一基准调度耗时,以及在交易数量维度下所预设的第二基准调度耗时;根据第一基准调度耗时和目标交易队列的交易复杂梯度,确定N个交易在交易复杂梯度维度下的第一目标调度耗时;根据第二基准调度耗时和N个交易的交易数量,确定N个交易在交易数量维度下的第二目标调度耗时;对第一目标调度耗时和第二目标调度耗时进行整合,得到N个交易对应的区块调度耗时。其中,第一基准调度耗时和第二基准调度耗时可以根据具体需求进行设定;可选的,根据第一基准调度耗时和目标交易队列的交易复杂梯度,确定N个交易在交易复杂梯度维度下的第一目标调度耗时,可以将第一基准调度耗时和目标交易队列的交易复杂梯度进行相乘处理得到,根据第二基准调度耗时和N个交易的交易数量,确定N个交易在交易数量维度下的第二目标调度耗时,可以将第二基准调度耗时和N个交易的交易数量进行相乘处理得到;对第一目标调度耗时和第二目标调度耗时进行整合,得到N个交易对应的区块调度耗时,包括但不限于,通过对第一目标调度耗时和第二目标调度耗时进行求和得到,通过对第一目标调度耗时和第二目标调度耗时进行加权求和得到,其中,第一目标调度耗时和第二目标调度耗时在进行加权求和时所采用的权重参数可以根据具体需求进行设定。
S503,在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。
在一个实施例中,数据处理设备在区块调度耗时内执行N个交易中的各个交易时,可以调度一定量的处理资源来执行;基于此,数据处理设备在区块调度耗时内执行N个交易中的各个交易,可以包括:根据目标交易队列的交易复杂梯度,以及N个交易的交易数量,确定出执行N个交易所需的处理资源的目标资源量;其中,目标资源量与目标交易队列的交易复杂梯度成正相关,且与N个交易的交易数量成正相关;在区块调度耗时内,调度目标资源量的处理资源来执行N个交易中的各个交易。其中,目标交易队列的交易复杂梯度越大,目标资源量越大,N个交易的交易数量越大,目标资源量越大。进一步的,数据处理设备在区块调度耗时内执行N个交易中的各个交易时,可以根据调度策略对该N个交易进行调度执行,例如,该调度策略可以指示将该N个交易并行执行,将该N个交易顺序执行,将该N个交易中部分交易并行执行,部分交易顺序执行等,也就是说,数据处理设备可以确定该N个交易中各个交易的执行顺序,并按照执行顺序来执行该N个交易;举例来说,若N为10,在一种示例性的调度方式中,数据处理设备可以每次并行执行5个交易,例如,首先执行第1个至第5个交易,然后执行第6个至第10个交易。基于此,数据处理设备在区块调度耗时内执行N个交易中的各个交易时,可选的,还可以根据目标交易队列的交易复杂梯度,确定出执行N个交易中的各个交易所需的处理资源的资源量,并在需要执行该N个交易中的一个或多个交易时,调度相应资源量的处理资源来执行相应交易,其中,交易对应所需的资源量与该目标交易队列的交易复杂梯度成正比。可选的,此处的处理资源可以包括但不限于硬件资源、软件资源、虚拟机资源等一系列可以被调度来执行交易的资源。
S504,若N个交易中存在目标交易,目标交易是指在区块调度耗时内未执行完成的交易,则将目标交易存储至多个交易队列中的备选交易队列中。
其中,备选交易队列的交易复杂梯度,大于目标交易队列的交易复杂梯度;例如,可以将多个交易队列中交易复杂梯度,比目标交易队列的交易复杂梯度大一级的交易队列,作为备选交易队列。进一步的,备选交易队列的各个交易的选取顺序,与相应交易在备选交易队列中的排列顺序成正相关,也就是说,当需要从该备选交易队列中选取出N个交易来打包成区块,那么可以按照该备选交易队列中各个交易的排列顺序,依次顺序选取出N个交易;基于此,数据处理设备将目标交易存储至多个交易队列中的备选交易队列中,可以包括:将目标交易存储至多个交易队列中的备选交易队列的首部。将目标交易存储至多个交易队列中的备选交易队列的首部,是为了在将该备选交易队列确定为目标交易队列,并需要从中选取出N个交易打包成区块的情况下,可以优先选取目标交易;进一步的,若目标交易的数量为多个,那么可以按照数据处理设备接收到各个目标交易的时间的先后顺序对各个目标交易进行排序,并按照各个目标交易的排列顺序的逆序依次将各个目标交易存储至备选交易队列的首部,这样可以使得在将多个目标交易存储至备选交易队列时,数据处理设备接收更早的目标交易的排列顺序更靠前,使得更早接收到的目标交易能够更早的被选取并打包成区块。
在一种可行的实施方式中,若N个交易中存在目标交易,目标交易是指在区块调度耗时内未执行完成的交易,则数据处理设备还可以:获取在当前时刻之前,目标交易历史被执行的总次数;当前时刻是指:确定N个交易中存在目标交易的时刻;若获取到的总次数小于次数阈值,则将目标交易重新存储至目标交易队列中;若获取到的总次数大于或等于次数阈值,则触发执行将目标交易存储至多个交易队列中的备选交易队列中的步骤;其中,次数阈值可以根据具体需求进行设定,将目标交易重新存储至目标交易队列中的相关过程,与将目标交易存储至多个交易队列中的备选交易队列中的相关过程类似,在此不做赘述。进一步可选的,若目标交易历史被执行的总次数过多,可以认为该目标交易无法被执行完成,为异常交易,可以将该目标交易删除;基于此,若目标交易历史被执行的总次数大于执行次数阈值,则将该目标交易删除,该执行次数阈值可以根据具体需求进行设定,且该执行次数阈值应该大于上述的次数阈值。
在一个实施例中,数据处理设备可以接收交易,并将交易存储至交易池的交易队列中,以使可以从交易队列中选取相应交易打包成区块,以新增交易为例,数据处理设备可以:接收新增交易,并确定新增交易的预测耗时;从交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围;若查找到目标交易耗时范围,则将新增交易添加至目标交易耗时范围所对应的交易队列中;若未查找到目标交易耗时范围,则在交易池中执行队列新增操作,得到第一交易队列;为第一交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:新增交易的预测耗时;将新增交易添加至第一交易队列中。其中,目标交易耗时范围是指与新增交易的预测耗时相匹配的交易耗时范围;可选的,可以认为包含新增交易的预测耗时的交易耗时范围,与新增交易的预测耗时相匹配,那么此时目标交易耗时范围是指包含新增交易的预测耗时的交易耗时范围;举例来说,若设定有5个交易复杂梯度,从小到大分别为:1、2、3、4、5,相应的5个耗时梯度从小到大分别为:0、1、2、3、4,相应的交易耗时范围分别(0,1]、(1,5]、(5,10]、(10,20]、(20,30];若新增交易的预测耗时为2,则目标交易耗时范围为(1,5],可以将该新增交易添加至目标交易耗时范围所对应的交易队列中,即交易耗时范围(1,5]所对应的交易队列中,该交易队列的交易复杂梯度为2。可选的,可以认为包含新增交易的预测耗时与预设的耗时常量的和的交易耗时范围,与新增交易的预测耗时相匹配,该耗时常量可以根据具体需求进行设定;举例来说,若新增交易的预测耗时为2,耗时常量为1,则新增交易的预测耗时与耗时常量的和为3,目标交易耗时范围为(1,5],可以将该新增交易添加至目标交易耗时范围所对应的交易队列中,即交易耗时范围(1,5]所对应的交易队列中,该交易队列的交易复杂梯度为2。进一步的,将新增交易添加至交易队里中时(例如添加至目标交易耗时范围所对应的交易队列中,或添加至第一交易队列中),可以将该新增交易添加至相应交易队列的尾部;可以知道的是,交易池的交易队列中的交易,在被数据处理设备接收时,也是基于和该新增交易类似的处理过程添加至相应交易队列中的。
其中,数据处理设备可以为第一交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:新增交易的预测耗时;交易复杂梯度和交易耗时范围的配置方式可以根据具体需求进行设定。例如,在设定的一种配置方式下,数据处理设备可以将比交易池所对应具有的最大交易耗时梯度的大一个梯度,配置为第一交易队列的交易复杂梯度,将从该最大交易耗时梯队所对应的交易耗时范围的最大值,至新增交易的预测耗时所包括的时间范围配置为第一交易队列对应的交易耗时范围,举例来说,若设定有5个交易复杂梯度,从小到大分别为:1、2、3、4、5,相应的5个耗时梯度从小到大分别为:0、1、2、3、4,相应的交易耗时范围分别(0,1]、(1,5]、(5,10]、(10,20]、(20,30],若新增交易的预测耗时为35,则为第一交易队列配置的交易耗时梯度为6,配置的交易耗时范围为(30,35]。例如,在设定的另一种配置方式下,数据处理设备可以从交易池所对应具有的交易耗时范围中选取出参考交易耗时范围(例如随机选取一个交易耗时范围作为参考交易耗时范围,又如将边界值最大的交易耗时范围作为参考交易耗时范围,等等),根据参考交易耗时范围所包括的时长依次设定多个候选交易耗时范围,并依次为各个候选交易耗时范围设定相应的交易耗时梯度,直至某一个候选交易耗时范围与新增交易的预测耗时相匹配,则将该与新增交易的预测耗时相匹配的候选交易耗时范围作为第一交易队列配置的交易耗时范围,将该候选交易耗时范围对应的交易耗时梯度作为第一交易队列配置的交易耗时梯度;举例来说,若设定有5个交易复杂梯度,从小到大分别为:1、2、3、4、5,相应的5个耗时梯度从小到大分别为:0、1、2、3、4,相应的交易耗时范围分别(0,1]、(1,5]、(5,10]、(10,20]、(20,30];若新增交易的预测耗时为45,将边界值最大的交易耗时范围(20,30]作为参考交易耗时范围,根据参考交易耗时范围所包括的时长依次设定多个候选交易耗时范围,分别为(30,40]、(40,50],相应的交易耗时梯度分别为:6、7,若候选交易耗时范围(40,50]与新增交易的预测耗时45相匹配,则(40,50]被配置为第一交易队列的交易耗时范围,梯度7被配置为第一交易队列的交易复杂梯度。进一步的,也可以在交易池中新增候选交易耗时范围(30,40]对应的交易队列。
在一个实施例中,数据处理设备除了可以基于上述方式新增交易队列之外,还可以通过执行基准交易的方式来新增交易队列,该基准交易是指用于新增交易队列的交易;在N个交易中包括基准交易,基准交易是指用于新增交易队列的交易,基准交易携带有交易复杂梯度以及交易耗时范围的情况下,数据处理设备执行基准交易的方式包括:在交易池中执行队列新增操作,得到第二交易队列;将基准交易携带的交易复杂梯度,配置为第二交易队列的交易复杂梯度;以及将基准交易携带的交易耗时范围,配置为第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围。可选的,数据处理设备也可以在交易池中配置一个配置交易队列,用于存储用于新增交易队列的基准交易。
在一个实施例中,数据处理设备除了可以新增交易队列之外,还可以对交易池中的交易队列进行调整;数据处理设备可以根据交易池的各个交易队列的交易数量,从交易池中确定出交易数量小于数量阈值的交易队列;若确定出的交易队列中存在至少两个交易队列的交易复杂梯度是连续的,则将该至少两个交易队列进行合并处理,得到合并后的交易队列;根据该至少两个交易队列的交易复杂梯度,为合并后的交易队列配置交易复杂梯度;根据该至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,为合并后的交易队列的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围;也就是说,数据处理设备可以将所包含交易较少且交易复杂梯度连续的交易队列进行合并,数量阈值可以根据具体需求进行设定。举例来说,若设定有5个交易复杂梯度,从小到大分别为:1、2、3、4、5,相应的5个耗时梯度从小到大分别为:0、1、2、3、4,相应的交易耗时范围分别(0,1]、(1,5]、(5,10]、(10,20]、(20,30];若交易复杂梯度为1、2、3以及5的交易队列的交易数量小于数量阈值,由于交易复杂梯度1、2、3连续,5不连续,则可以将交易复杂梯度1、2、3对应的交易队列进行合并,得到合并后的交易队列。
进一步的,数据处理设备根据该至少两个交易队列的交易复杂梯度,为合并后的交易队列配置交易复杂梯度时,存在多种配置方式;可选的一种配置方式为,可以从该至少两个交易队列的交易复杂梯度中选取一个交易复杂梯度,作为合并后的交易队列的交易复杂梯度,例如在将交易复杂梯度1、2、3对应的交易队列进行合并,得到合并后的交易队列后,可以将交易复杂梯度3,作为合并后的交易队列的交易复杂梯度;可选的另一种配置方式为,可以将该至少两个交易队列的交易复杂梯度的平均值,作为合并后的交易队列的交易复杂梯度,例如在将交易复杂梯度1、2、3对应的交易队列进行合并,得到合并后的交易队列后,可以将交易复杂梯度1、2、3的平均值2,作为合并后的交易队列的交易复杂梯度。进一步的,数据处理设备可以根据该至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,为合并后的交易队列的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,具体的,可以将该至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围进行合并,得到合并后的交易耗时范围,将合并后的交易耗时范围作为合并后的交易队列对应的交易耗时范围;例如在将交易复杂梯度1、2、3对应的交易队列进行合并,得到合并后的交易队列后,可以将交易复杂梯度1、2、3对应的交易队列所对应的交易耗时范围(0,1]、(1,5]、(5,10]进行合并,得到合并后的交易耗时范围(0,10],并将合并后的交易耗时范围(0,10]作为合并后的交易队列对应的交易耗时范围。
在一个实施例中,交易池中的每个交易均具有一个预测耗时,任一交易的预测耗时可以是调用机器学习模型预测得到的,该机器学习模型可以是能实现对预测耗时进行预测的任意神经网络模型,本申请实施例不对机器学习模型的模型结构进行限制;数据处理设备在区块调度耗时内执行N个交易中的各个交易之后,还可以:获取在区块调度耗时内所执行完成的交易的实际耗时,交易的实际耗时是指:交易被执行完成所实际消耗的时长;根据获取到的实际耗时和相应交易的预测耗时之间的差异,对机器学习模型进行训练更新。也就是说,可以将在区块调度耗时内所执行完成的交易的实际耗时作为机器学习模型的期望输出,来对机器学习模型进行训练更新;根据获取到的实际耗时和相应交易的预测耗时之间的差异,对机器学习模型进行训练更新时,可以将减小在区块调度耗时内所执行完成的交易的预测耗时,与相应交易的实际耗时之间的差异为训练目标,来调整机器学习模型的模型参数。在通过机器学习模型预测交易的预测耗时的过程中,可以将交易作为机器学习模型的输入,也可以将交易的合约、调用方法以及交易所包括的参数作为机器学习模型的输入。在一个实施例中,数据处理设备在训练得到用于对预测耗时进行预测的机器学习模型之前,交易池中还可以配置一个默认初始队列以及配置一个初始区块调度耗时,数据处理设备可以将接收到的交易存储至交易池的默认初始队列中,使得可以从默认初始队列中选取N个交易,并在初始区块调度耗时内执行N个交易中的各个交易,并将在初始区块调度耗时内所执行完成的交易打包成区块;在该过程中,可以得到在初始区块调度耗时内所执行完成的交易的实际耗时,进而可以将相应的交易以及实际耗时作为训练数据,来对初始化的机器学习模型进行训练,在训练数据达到训练数据阈值的情况下,可以认为此时的机器学习模型可以用于对预测耗时进行预测,那么,在此之后接收到的交易均可以基于该机器学习模型进行预测耗时的预测,进而可以基于预测得到的预测耗时添加至交易耗时范围相匹配的交易队列中,训练得到用于对预测耗时进行预测的机器学习模型的相关过程,与上述根据获取到的实际耗时和相应交易的预测耗时之间的差异,对机器学习模型进行训练更新的相关过程类似,在此不做赘述,可选的,除了在训练数据达到训练数据阈值的情况下,可以认为此时的机器学习模型可以用于对预测耗时进行预测,还可以在交易的预测耗时与实际耗时之间的差距,小于一定差距阈值的情况下,认为此时的机器学习模型可以用于对预测耗时进行预测。
参见图7,为本申请实施例提供的一种对机器学习模型进行训练更新的示意图;数据处理设备可以初始化机器学习模型(例如包括初始化机器学习模型的模型参数),配置初始区块调度耗时;数据处理设备接收交易,若机器学习模型的训练数据达到训练数据阈值,则数据处理设备可以调用机器学习模型来预测得到该交易的预测耗时;从交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围,此处的目标交易耗时范围是指与该交易的预测耗时相匹配的交易耗时范围;若查找到目标交易耗时范围,则将该交易添加至目标交易耗时范围所对应的交易队列中;若未查找到目标交易耗时范围,则在交易池中执行队列新增操作,并将该交易添加至新增得到的交易队列中;该过程中还会为该新增得到的交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:该交易的预测耗时。数据处理设备可以将交易池中,所包含交易较少且交易复杂梯度连续的交易队列进行合并。若机器学习模型的训练数据未达到训练数据阈值,则数据处理设备可以将该交易添加至默认初始队列中。
数据处理设备可以执行区块打包的相关过程,即数据处理设备可以从交易池中选取N个交易并将执行完成的交易打包成区块,该过程中,数据处理设备可以从交易池包括的多个交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易,在该N个交易对应的区块调度耗时内执行该N个交易中的各个交易,并将在该N个交易对应的区块调度耗时内所执行完成的交易打包成区块,此时该N个交易对应的区块调度耗时为根据目标交易队列的交易复杂梯度动态确定出的区块调度耗时;或者数据处理设备可以从默认初始队列中选取出N个交易,在该N个交易对应的区块调度耗时内执行该N个交易中的各个交易,并将在该N个交易对应的区块调度耗时内所执行完成的交易打包成区块,此时该N个交易对应的区块调度耗时为初始区块调度耗时。获取该区块所包含的各个交易(这些交易即执行完成,具有实际耗时的交易),获取该区块所包含的各个交易的实际耗时,根据获取到的实际耗时和相应交易的预测耗时之间的差异,对机器学习模型进行训练更新。
在一个实施例中,数据处理设备接收到的交易还可以携带数字签名,该数字签名可以是对该交易进行签名得到的;数据处理设备在接收到交易和数字签名之后,可以对该数字签名进行验证;若该数字签名验证通过,则可以将该交易添加至交易队列中,若该数字签名验证未通过,则可以返回指示数字签名验证不通过的反馈信息至发送该交易的客户端中。进一步可选的,在该数字签名验证通过之后,数据处理设备还可以对该交易的发起对象进行鉴权处理,在对该交易的发起对象鉴权通过的情况下,才将该交易添加至交易队列中,在对该交易的发起对象鉴权不通过的情况下,则可以返回指示权限验证不通过的反馈信息至发送该交易的客户端中。对该交易的发起对象进行鉴权处理,是为了验证该交易的发起对象是否具有发起目标交易类型的交易的权限,该目标交易类型是指该交易的交易类型,例如,若该交易为用于新增交易队列的基准交易,则目标交易类型为基准交易对应的交易类型;对该交易的发起对象进行鉴权处理时,可以获取该交易的发起对象的权限信息,若权限信息指示该发起对象具有发起目标交易类型的交易的权限,则认为鉴权通过,否则认为鉴权不通过。
参见图8,为本申请实施例提供的一种执行数据处理方法的示意图;数据处理设备接收交易以及数字签名,并对该数字签名进行验证;若该数字签名验证未通过,则可以返回指示数字签名验证不通过的反馈信息至发送该交易的客户端中,若该数字签名验证通过,则可以对该交易的发起对象进行鉴权处理,在对该交易的发起对象鉴权不通过的情况下,可以返回指示权限验证不通过的反馈信息至发送该交易的客户端中;在对该交易的发起对象鉴权通过的情况下,将该交易添加至交易队列中;在该过程中,数据处理设备可以确定该交易的预测耗时;从交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围,此处的目标交易耗时范围是指与该交易的预测耗时的交易耗时范围(例如包含该交易的预测耗时的交易耗时范围);若查找到目标交易耗时范围,则将该交易添加至目标交易耗时范围所对应的交易队列中;若未查找到目标交易耗时范围,则在交易池中执行队列新增操作,并将该交易添加至新增得到的交易队列中,该过程还包括为新增得到的交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:该交易的预测耗时。
数据处理设备可以确定交易池的多个交易队列中各个交易队列的处理优先级,并根据多个交易队列中的各个交易队列的处理优先级,从多个交易队列中选择目标交易队列,例如可以选择最大处理优先级对应的交易队列作为目标交易队列,进而可以从目标交易队列中选取出N个交易,N为正整数。
数据处理设备可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时。在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块,包括将执行完成的交易以及相应的执行结果打包成区块;为了能够在区块调度耗时内执行N个交易中的各个交易,可以先设置倒计时时长为区块调度耗时,启动该倒计时,并在该倒计时结束之前执行N个交易中的各个交易。并且,若N个交易中存在目标交易,目标交易是指在区块调度耗时内未执行完成的交易,则将目标交易存储至多个交易队列中的备选交易队列中;其中,备选交易队列的交易复杂梯度,大于目标交易队列的交易复杂梯度;该过程可以在执行将在区块调度耗时内所执行完成的交易打包成区块这个步骤的同时、或之前、或之后执行,该图示中以在该步骤之前为例进行阐述。数据处理设备可以将该区块广播至区块链网络的节点中,若数据处理设备也为区块链网络中的节点,则数据处理设备在区块链网络中的节点对该区块达成共识后,可以将该区块存储至区块链中,若区块链网络中的节点对该区块未达成共识,则可以返回指示共识失败的反馈信息至客户端中,具体返回至发送该区块所包含的各个交易的客户端中。
在一个实施例中,数据处理设备中可以配置有虚拟机模块,用于实现与执行交易相关的过程,基于此,参见图9为本申请实施例提供的另一种执行数据处理方法的示意图(该过程在图8所示过程的基础之上进行描述);数据处理设备在根据目标交易队列的交易复杂梯度,动态确定出N个交易对应的区块调度耗时之后,可以在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块。该过程中,数据处理设备可以先设置倒计时时长为区块调度耗时,启动该倒计时,并根据调度策略对该N个交易进行调度执行;也就是说,数据处理设备可以根据调度策略,调用虚拟机模块来执行交易,虚拟机模块可以响应数据处理设备的调用,设置倒计时时长为交易执行时长,启动该倒计时,其中,交易执行时长用于指示虚拟机模块执行N个交易时所允许消耗的时长,一般来说,交易执行时长可以设置得比区块调度耗时略小。虚拟机模块接收到需执行的交易,可以根据目标交易队列的交易复杂梯度,确定出需执行的交易所需的处理资源的资源量,并调度相应资源量的处理资源来执行该交易。在交易执行时长对应的倒计时结束时,标记未执行完成的交易;检测区块调度耗时对应的倒计时是否结束,若未结束,则检测该N个交易是否全部执行完成,若未全部执行完成,则虚拟机模块接收新的需执行的交易,若全部执行完成,则数据处理设备将在区块调度耗时内所执行完成的交易打包成区块。若区块调度耗时对应的倒计时结束,则检测该N个交易是否全部执行完成,若全部执行完成,则数据处理设备将在区块调度耗时内所执行完成的交易打包成区块;若未全部执行完成,则针对未执行完成的目标交易,数据处理设备删除历史被执行的总次数大于执行次数阈值的目标交易,将历史被执行的总次数小于或等于执行次数阈值的目标交易(其他目标交易),存储至多个交易队列中的备选交易队列中;进一步可以将在区块调度耗时内所执行完成的交易打包成区块。
在一个实施例中,参见图10,为本申请实施例提供的一种数据处理设备的模块示意图,该数据处理设备可以包括但不限于以下模块:网络模块、鉴权模块、交易池模块、区块调度模块、虚拟机模块以及存储模块;其中,网络模块可以用于与客户端、区块链网络中的节点等其他电子设备进行通信,可以用于实现数据收发,例如实现交易的接收。鉴权模块可以用于实现对接收到的交易的验证的相关过程,可以包括:签名验证模块以及权限验证模块,其中,签名验证模块可以用于实现对接收到的交易所携带的数字签名进行验证的相关过程,权限验证模块可以用于实现验证交易的发起对象是否具有发起目标交易类型的交易的权限的相关过程,该目标交易类型是指该交易的交易类型。交易池模块可以用于实现存储接收到的交易,对交易队列进行管理等相关功能,可以包括:交易解析分装模块、多个交易队列以及处理优先级计算模块;其中,交易解析分装模块可以用于实现对到来的交易进行内容解析和分装到不同交易队列的相关过程,多个交易队列可以用于实现对不同交易的分组存储,处理优先级计算模块可以用于实现对各个交易队列的处理优先级的计算的相关过程。区块调度模块可以用于实现从交易池获取N个交易并生成新区块的相关过程,可以包括动态交易池打包模块、交易分发调度模块以及区块生成模块,其中,动态交易池打包模块可以用于实现从交易池中获取需打包成区块的N个交易的相关过程,交易分发调度模块可以用于实现,动态确定区块调度耗时,根据调度策略,调用虚拟机模块来执行交易(即根据调度策略,将N个交易分发到虚拟机模块来进行交易执行)的相关过程,区块生成模块可以用于实现将在区块调度耗时内所执行完成的交易打包成区块的相关过程。虚拟机模块可以用于实现交易执行的相关过程,交易是以智能合约的方式来执行的,可以包括动态资源分配模块、合约仓库以及合约进程,其中,动态资源分配模块可以用于实现根据交易复杂梯度为交易分配所需的处理资源的相关过程,合约仓库可以用于存储合约的仓库,合约进程是指实际执行(合约)交易的进程,其持续运行。存储模块可以用于实现数据存储的相关功能。进一步的,当数据处理设备为区块链网络中的节点时,存储模块还可以包括用于存储区块的区块账本存储模块,以及用于存储区块链的状态数据的状态数据存储模块;并且,数据处理设备还可以包括用于对区块进行共识的共识模块;此时的虚拟机模块可以为区块链虚拟机,其是一种基于区块链技术的虚拟机,能够在区块链上执行智能合约和分布式应用程序,可以支持多种编程语言,具有安全性和去中心化的特点,因为所有的智能合约都在区块链上执行,不受单一机构或个体的更改。
基于图10所示的数据处理设备所包括的模块,参见图11为本申请实施例提供的又一种执行数据处理方法的示意图(该过程在图8以及图9所示过程的基础之上进行描述);数据处理设备通过网络模块接收交易以及数字签名,通过鉴权模块执行对该数字签名进行验证,以及对该交易的发起对象进行鉴权处理的相关过程,在对该交易的发起对象鉴权通过的情况下,由交易池模块将该交易添加至交易队列中。数据处理设备的区块调度模块,通过调用交易池模块从交易池中选取出N个交易,该过程中,交易池模块响应于区块调度模块的调用,可以确定交易池的多个交易队列中各个交易队列的处理优先级,并根据多个交易队列中的各个交易队列的处理优先级,从多个交易队列中选择目标交易队列,例如可以选择最大处理优先级对应的交易队列作为目标交易队列,进而可以从目标交易队列中选取出N个交易并返回给区块调度模块。区块调度模块可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,并基于对虚拟机模块的调用,来实现在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块的相关过程,与上述图9所示过程类似,在此不做赘述。数据处理设备的共识模块可以将该区块广播至区块链网络的节点中,在区块链网络中的节点对该区块达成共识后,可以由存储模块将该区块存储至区块链中。
参见图12,为本申请实施例提供的再一种执行数据处理方法的示意图,以需打包成区块的N个交易中包括用于新增交易队列的基准交易为例,该过程相较于图11所示的过程,区别点如下:在接收到基准交易之后,可以将基准交易存储至配置交易队列中,如1201标记所示,并且,可以在交易池中执行队列新增操作,得到第二交易队列,并将基准交易携带的交易复杂梯度,配置为第二交易队列的交易复杂梯度,以及将基准交易携带的交易耗时范围,配置为第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,如1202标记所示,可选的,该过程也可以在打包成区块的交易中包括基准交易的情况下,在对打包得到的区块达成共识后执行。
本申请实施例中,可以采用不同交易复杂梯度的交易队列来存储不同耗时梯度的交易,采用同一交易复杂梯度的交易队列来存储相同耗时梯度的交易,可以从不同交易复杂梯度的交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易;进一步可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,来限制该N个交易的执行时长,也就是说,可以在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块;并且,若N个交易中包括有在区块调度耗时内未执行完成的目标交易,则可以将目标交易存储至比目标交易队列的交易复杂梯度更大的备选交易队列中,使得后续可以为未执行完成的目标交易配置更大的区块调度耗时来执行,增加目标交易被执行完成的可能性;并且,若目标交易历史被执行的总次数超过执行次数阈值,认为目标交易属于无法被执行完成的异常交易,则会进行删除,使得可以对高耗时梯度的正常交易(例如包括复杂计算、模型训练、大数据计算的交易)进行打包,而对耗时过长的异常交易进行删除。综上所述,可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,来限制从不同交易队列中选取出的N个交易的执行时长,那么,即使选取出的N个交易中存在异常交易长时间无法执行完成,也不会导致区块长时间无法产出,即可以避免由于选取出的N个交易中存在异常交易长时间无法执行完成所导致的区块长时间无法产出的情况的发生,提高区块产出效率,并且,从目标交易队列中选取出的N个交易具有相同的耗时梯度,可以防止选取出耗时梯度相差过大的交易,减小耗时梯度大的交易与耗时梯度小的交易共同被选取出来而导致的资源利用不均匀情况发生的可能性。进一步的,在动态确定从目标交易队列中选取出的N个交易对应的区块调度耗时的过程中,还可以进一步根据选取出的N个交易的交易数量来确定,增加了交易数量维度对于区块调度耗时的影响,可以提高确定出的区块调度耗时的准确性。并且,在区块调度耗时内执行N个交易中的各个交易的过程中,还可以根据目标交易队列的交易复杂梯度动态确定出需执行的交易所需的处理资源的资源量,使得可以调用相应资源量的处理资源来执行相应的交易,可以实现处理资源的高效利用,减少资源浪费。
进一步的,在从不同交易复杂梯度的交易队列中选择目标交易队列时,可以根据交易队列所具有的各种参数确定相应交易队列的处理优先级,并根据各个交易队列的处理优先级来选择目标交易队列,每次均基于相同的选择策略来从不同交易队列中选择目标交易队列,可以保证目标交易队列选择的公平性。在采用不同交易复杂梯度的交易队列来存储不同耗时梯度的交易时,在接收到交易之后,可以通过机器学习模型来预测交易的预测耗时,并将该交易存储至交易耗时范围与预测耗时相匹配的交易队列中,可以实现交易的自动化分配存储,即实现将交易自动化存储至相应的交易队列中,并且,还可以利用交易执行过程中所产生的实际耗时,来对机器学习模型进行训练更新,以提高机器学习模型的预测准确性。
基于上述方法实施例,本申请实施例提供了一种数据处理装置。参见图13,为本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可包括获取单元1301以及处理单元1302。图13所示的数据处理装置可运行如下单元:
获取单元1301,用于从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
处理单元1302,用于根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
所述处理单元1302,还用于在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块。
在一个实施例中,所述处理单元1302还用于:
若所述N个交易中存在目标交易,所述目标交易是指在所述区块调度耗时内未执行完成的交易,则将所述目标交易存储至所述多个交易队列中的备选交易队列中;
其中,所述备选交易队列的交易复杂梯度,大于所述目标交易队列的交易复杂梯度。
在一个实施例中,所述处理单元1302还用于:
获取在当前时刻之前,所述目标交易历史被执行的总次数;所述当前时刻是指:确定所述N个交易中存在目标交易的时刻;
若获取到的总次数小于次数阈值,则将所述目标交易重新存储至所述目标交易队列中;
若获取到的总次数大于或等于所述次数阈值,则触发执行将所述目标交易存储至所述多个交易队列中的备选交易队列中的步骤。
在一个实施例中,所述获取单元1301从交易池包括的多个交易队列中选择目标交易队列时,具体执行如下操作:
遍历所述交易池包括的多个交易队列,将当前遍历的交易队列确定为当前交易队列;
根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数;其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值;
根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关;
在所述多个交易队列均被遍历后,根据所述多个交易队列中的各个交易队列的处理优先级,从所述多个交易队列中选择所述目标交易队列。
在一个实施例中,所述获取单元1301根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数时,具体执行如下操作:
对所述当前交易队列中的各个交易的预测耗时进行平均处理,得到所述当前交易队列的耗时参数。
在一个实施例中,所述获取单元1301根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级时,具体执行如下操作:
获取所述当前交易队列的队列参数,所述队列参数包括等待时长和交易数量中的一种或多种;其中,所述当前交易队列的等待时长是指:所述当前交易队列中最早接收到的交易的接收时间点和当前时间点之间的间隔时长,所述当前时间点是指获取所述队列参数的时刻;所述当前交易队列的交易数量是指:所述当前交易队列中所包括的交易的数量;
根据所述当前交易队列的耗时参数以及所述队列参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关的同时,也与相应队列参数成正相关。
在一个实施例中,所述备选交易队列的各个交易的选取顺序,与相应交易在所述备选交易队列中的排列顺序成正相关;
所述处理单元1302将所述目标交易存储至所述多个交易队列中的备选交易队列中时,具体执行如下操作:将所述目标交易存储至所述多个交易队列中的备选交易队列的首部。
在一个实施例中,所述处理单元1302根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时;
其中,所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关的同时,也与所述N个交易的交易数量成正相关。
在一个实施例中,所述处理单元1302根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
获取预设的默认调度耗时、梯度影响因子和交易数量影响因子;
根据所述梯度影响因子和所述目标交易队列的交易复杂梯度,确定所述目标交易队列的交易复杂梯度对所述默认调度耗时的影响度;
根据所述交易数量影响因子和所述N个交易的交易数量,确定所述N个交易的交易数量对所述默认调度耗时的影响度;
基于确定出的两个影响度,对所述默认调度耗时进行调整,得到所述N个交易对应的区块调度耗时。
在一个实施例中,所述处理单元1302根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
获取在交易复杂梯度维度下所预设的第一基准调度耗时,以及在交易数量维度下所预设的第二基准调度耗时;
根据所述第一基准调度耗时和所述目标交易队列的交易复杂梯度,确定所述N个交易在所述交易复杂梯度维度下的第一目标调度耗时;
根据所述第二基准调度耗时和所述N个交易的交易数量,确定所述N个交易在所述交易数量维度下的第二目标调度耗时;
对所述第一目标调度耗时和所述第二目标调度耗时进行整合,得到所述N个交易对应的区块调度耗时。
在一个实施例中,所述处理单元1302在所述区块调度耗时内执行所述N个交易中的各个交易时,具体执行如下操作:
根据所述目标交易队列的交易复杂梯度,以及所述N个交易的交易数量,确定出执行所述N个交易所需的处理资源的目标资源量;其中,所述目标资源量与所述目标交易队列的交易复杂梯度成正相关,且与所述N个交易的交易数量成正相关;
在所述区块调度耗时内,调度所述目标资源量的处理资源来执行所述N个交易中的各个交易。
在一个实施例中,所述处理单元1302还用于:
接收新增交易,并确定所述新增交易的预测耗时;
从所述交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围,所述目标交易耗时范围是指包含所述新增交易的预测耗时的交易耗时范围;
若查找到所述目标交易耗时范围,则将所述新增交易添加至所述目标交易耗时范围所对应的交易队列中。
在一个实施例中,所述处理单元1302还用于:
若未查找到所述目标交易耗时范围,则在所述交易池中执行队列新增操作,得到第一交易队列;
为所述第一交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:所述新增交易的预测耗时;
将所述新增交易添加至所述第一交易队列中。
在一个实施例中,所述交易池中的每个交易均具有一个预测耗时,任一交易的预测耗时是调用机器学习模型预测得到的;
所述处理单元1302在所述区块调度耗时内执行所述N个交易中的各个交易之后,还用于:
获取在所述区块调度耗时内所执行完成的交易的实际耗时,交易的实际耗时是指:交易被执行完成所实际消耗的时长;
根据获取到的实际耗时和相应交易的预测耗时之间的差异,对所述机器学习模型进行训练更新。
在一个实施例中,所述处理单元1302还用于:
根据所述交易池的各个交易队列的交易数量,从所述交易池中确定出交易数量小于数量阈值的交易队列;
若确定出的交易队列中存在至少两个交易队列的交易复杂梯度是连续的,则将所述至少两个交易队列进行合并处理,得到合并后的交易队列;
根据所述至少两个交易队列的交易复杂梯度,为所述合并后的交易队列配置交易复杂梯度;
根据所述至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,为所述合并后的交易队列的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围。
在一个实施例中,所述N个交易中包括基准交易,所述基准交易是指用于新增交易队列的交易,所述基准交易携带有交易复杂梯度以及交易耗时范围;
所述处理单元1302执行所述基准交易时,具体执行如下操作:
在所述交易池中执行队列新增操作,得到第二交易队列;
将所述基准交易携带的交易复杂梯度,配置为所述第二交易队列的交易复杂梯度;以及将所述基准交易携带的交易耗时范围,配置为所述第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围。
根据本申请的一个实施例,图4以及图5所示的基于区块链网络的数据处理方法所涉及各个步骤可以是由图13所示的数据处理装置中的各个单元来执行的。例如,图4所示的步骤S401可由图13所示的数据处理装置中的获取单元1301来执行,图4所示的步骤S402至步骤S403可由图13所示的数据处理装置中的处理单元1302来执行。又如,图5所示的步骤S501可由图13所示的数据处理装置中的获取单元1301来执行,图5所示的步骤S502至步骤S504可由图13所示的数据处理装置中的处理单元1302来执行。
根据本申请的另一个实施例,图13所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于逻辑功能划分的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4以及图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图13中所示的数据处理装置,以及来实现本申请实施例基于区块链网络的数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,可以采用不同交易复杂梯度的交易队列来存储不同耗时梯度的交易,采用同一交易复杂梯度的交易队列来存储相同耗时梯度的交易,可以从不同交易复杂梯度的交易队列中选择目标交易队列,并从目标交易队列中选取出N个交易;进一步可以根据目标交易队列的交易复杂梯度,动态确定N个交易对应的区块调度耗时,来限制该N个交易的执行时长,也就是说,可以在区块调度耗时内执行N个交易中的各个交易,并将在区块调度耗时内所执行完成的交易打包成区块;可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,来限制从不同交易队列中选取出的N个交易的执行时长,那么,即使选取出的N个交易中存在异常交易长时间无法执行完成,也不会导致区块长时间无法产出,即可以避免由于选取出的N个交易中存在异常交易长时间无法执行完成所导致的区块长时间无法产出的情况的发生,提高区块产出效率;并且,动态确定出的N个交易对应的区块调度耗时与目标交易队列的交易复杂梯度成正相关,也就是说,可以为从高交易复杂梯度的交易队列中选取出的,处于高耗时梯度的N个交易,动态确定出较长的区块调度耗时,为从低交易复杂梯度的交易队列中选取出的,处于低耗时梯度的N个交易,动态确定出较短的区块调度耗时,相较于配置一个固定的区块调度耗时,若配置的固定区块调度耗时过小,会导致高耗时梯度的正常交易无法被执行完成,进而无法被打包成区块,若配置的固定区块调度耗时过大,那么会导致耗时过长的异常交易也有可能被打包成区块,而本方案可以根据不同交易队列的交易复杂梯度,动态确定从相应交易队列中选取出的N个交易所对应的区块调度耗时,使得动态确定出的区块调度耗时与需要打包的N个交易更加适配,可以减小上述情况发生的可能性。
基于上述的方法实施例以及装置实施例,本申请还提供了一种数据处理设备。参见图14,为本申请实施例提供的一种数据处理设备的结构示意图。图14所示的数据处理设备可至少包括处理器1401、输入接口1402、输出接口1403以及计算机存储介质1404。其中,处理器1401、输入接口1402、输出接口1403以及计算机存储介质1404可通过总线或其他方式连接。
计算机存储介质1404可以存储在数据处理设备的存储器中,计算机存储介质1404用于存储计算机程序,计算机程序包括程序指令,处理器1401 用于执行计算机存储介质1404存储的程序指令。处理器1401(或称CPU(Central Processing Unit,中央处理器))是数据处理设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现上述基于区块链网络的数据处理方法流程或相应功能。
本申请实施例还提供了一种计算机存储介质(Memory),计算机存储介质是数据处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1401加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速随机存取存储器(random access memory,RAM)存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1401加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图4以及图5的基于区块链网络的数据处理方法实施例中的方法的相应步骤,具体实现中,计算机存储介质中的一条或多条指令由处理器1401加载并执行如下步骤:
从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块。
在一个实施例中,所述处理器1401还用于:
若所述N个交易中存在目标交易,所述目标交易是指在所述区块调度耗时内未执行完成的交易,则将所述目标交易存储至所述多个交易队列中的备选交易队列中;
其中,所述备选交易队列的交易复杂梯度,大于所述目标交易队列的交易复杂梯度。
在一个实施例中,所述处理器1401还用于:
获取在当前时刻之前,所述目标交易历史被执行的总次数;所述当前时刻是指:确定所述N个交易中存在目标交易的时刻;
若获取到的总次数小于次数阈值,则将所述目标交易重新存储至所述目标交易队列中;
若获取到的总次数大于或等于所述次数阈值,则触发执行将所述目标交易存储至所述多个交易队列中的备选交易队列中的步骤。
在一个实施例中,所述处理器1401从交易池包括的多个交易队列中选择目标交易队列时,具体执行如下操作:
遍历所述交易池包括的多个交易队列,将当前遍历的交易队列确定为当前交易队列;
根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数;其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值;
根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关;
在所述多个交易队列均被遍历后,根据所述多个交易队列中的各个交易队列的处理优先级,从所述多个交易队列中选择所述目标交易队列。
在一个实施例中,所述处理器1401根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数时,具体执行如下操作:
对所述当前交易队列中的各个交易的预测耗时进行平均处理,得到所述当前交易队列的耗时参数。
在一个实施例中,所述处理器1401根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级时,具体执行如下操作:
获取所述当前交易队列的队列参数,所述队列参数包括等待时长和交易数量中的一种或多种;其中,所述当前交易队列的等待时长是指:所述当前交易队列中最早接收到的交易的接收时间点和当前时间点之间的间隔时长,所述当前时间点是指获取所述队列参数的时刻;所述当前交易队列的交易数量是指:所述当前交易队列中所包括的交易的数量;
根据所述当前交易队列的耗时参数以及所述队列参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关的同时,也与相应队列参数成正相关。
在一个实施例中,所述备选交易队列的各个交易的选取顺序,与相应交易在所述备选交易队列中的排列顺序成正相关;
所述处理器1401将所述目标交易存储至所述多个交易队列中的备选交易队列中时,具体执行如下操作:将所述目标交易存储至所述多个交易队列中的备选交易队列的首部。
在一个实施例中,所述处理器1401根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时;
其中,所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关的同时,也与所述N个交易的交易数量成正相关。
在一个实施例中,所述处理器1401根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
获取预设的默认调度耗时、梯度影响因子和交易数量影响因子;
根据所述梯度影响因子和所述目标交易队列的交易复杂梯度,确定所述目标交易队列的交易复杂梯度对所述默认调度耗时的影响度;
根据所述交易数量影响因子和所述N个交易的交易数量,确定所述N个交易的交易数量对所述默认调度耗时的影响度;
基于确定出的两个影响度,对所述默认调度耗时进行调整,得到所述N个交易对应的区块调度耗时。
在一个实施例中,所述处理器1401根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,具体执行如下操作:
获取在交易复杂梯度维度下所预设的第一基准调度耗时,以及在交易数量维度下所预设的第二基准调度耗时;
根据所述第一基准调度耗时和所述目标交易队列的交易复杂梯度,确定所述N个交易在所述交易复杂梯度维度下的第一目标调度耗时;
根据所述第二基准调度耗时和所述N个交易的交易数量,确定所述N个交易在所述交易数量维度下的第二目标调度耗时;
对所述第一目标调度耗时和所述第二目标调度耗时进行整合,得到所述N个交易对应的区块调度耗时。
在一个实施例中,所述处理器1401在所述区块调度耗时内执行所述N个交易中的各个交易时,具体执行如下操作:
根据所述目标交易队列的交易复杂梯度,以及所述N个交易的交易数量,确定出执行所述N个交易所需的处理资源的目标资源量;其中,所述目标资源量与所述目标交易队列的交易复杂梯度成正相关,且与所述N个交易的交易数量成正相关;
在所述区块调度耗时内,调度所述目标资源量的处理资源来执行所述N个交易中的各个交易。
在一个实施例中,所述处理器1401还用于:
接收新增交易,并确定所述新增交易的预测耗时;
从所述交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围,所述目标交易耗时范围是指包含所述新增交易的预测耗时的交易耗时范围;
若查找到所述目标交易耗时范围,则将所述新增交易添加至所述目标交易耗时范围所对应的交易队列中。
在一个实施例中,所述处理器1401还用于:
若未查找到所述目标交易耗时范围,则在所述交易池中执行队列新增操作,得到第一交易队列;
为所述第一交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:所述新增交易的预测耗时;
将所述新增交易添加至所述第一交易队列中。
在一个实施例中,所述交易池中的每个交易均具有一个预测耗时,任一交易的预测耗时是调用机器学习模型预测得到的;
所述处理器1401在所述区块调度耗时内执行所述N个交易中的各个交易之后,还用于:
获取在所述区块调度耗时内所执行完成的交易的实际耗时,交易的实际耗时是指:交易被执行完成所实际消耗的时长;
根据获取到的实际耗时和相应交易的预测耗时之间的差异,对所述机器学习模型进行训练更新。
在一个实施例中,所述处理器1401还用于:
根据所述交易池的各个交易队列的交易数量,从所述交易池中确定出交易数量小于数量阈值的交易队列;
若确定出的交易队列中存在至少两个交易队列的交易复杂梯度是连续的,则将所述至少两个交易队列进行合并处理,得到合并后的交易队列;
根据所述至少两个交易队列的交易复杂梯度,为所述合并后的交易队列配置交易复杂梯度;
根据所述至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,为所述合并后的交易队列的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围。
在一个实施例中,所述N个交易中包括基准交易,所述基准交易是指用于新增交易队列的交易,所述基准交易携带有交易复杂梯度以及交易耗时范围;
所述处理器1401执行所述基准交易时,具体执行如下操作:
在所述交易池中执行队列新增操作,得到第二交易队列;
将所述基准交易携带的交易复杂梯度,配置为所述第二交易队列的交易复杂梯度;以及将所述基准交易携带的交易耗时范围,配置为所述第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;数据处理设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得数据处理设备执行上述如图4以及图5所示的方法实施例。其中,计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种基于区块链网络的数据处理方法,其特征在于,包括:
从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块;
其中,所述N个交易中包括基准交易,所述基准交易是指用于新增交易队列的交易,所述基准交易携带有交易复杂梯度以及交易耗时范围;执行所述基准交易的方式包括:在所述交易池中执行队列新增操作,得到第二交易队列;将所述基准交易携带的交易复杂梯度,配置为所述第二交易队列的交易复杂梯度;以及将所述基准交易携带的交易耗时范围,配置为所述第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述N个交易中存在目标交易,所述目标交易是指在所述区块调度耗时内未执行完成的交易,则将所述目标交易存储至所述多个交易队列中的备选交易队列中;
其中,所述备选交易队列的交易复杂梯度,大于所述目标交易队列的交易复杂梯度。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取在当前时刻之前,所述目标交易历史被执行的总次数;所述当前时刻是指:确定所述N个交易中存在目标交易的时刻;
若获取到的总次数小于次数阈值,则将所述目标交易重新存储至所述目标交易队列中;
若获取到的总次数大于或等于所述次数阈值,则触发执行将所述目标交易存储至所述多个交易队列中的备选交易队列中的步骤。
4.如权利要求1所述的方法,其特征在于,所述从交易池包括的多个交易队列中选择目标交易队列,包括:
遍历所述交易池包括的多个交易队列,将当前遍历的交易队列确定为当前交易队列;
根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数;其中,交易的预测耗时是指:对交易被执行完成所需的时长进行预测所得到的预测值;
根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关;
在所述多个交易队列均被遍历后,根据所述多个交易队列中的各个交易队列的处理优先级,从所述多个交易队列中选择所述目标交易队列。
5.如权利要求4所述的方法,其特征在于,所述根据所述当前交易队列中的各个交易的预测耗时,确定所述当前交易队列的耗时参数,包括:
对所述当前交易队列中的各个交易的预测耗时进行平均处理,得到所述当前交易队列的耗时参数。
6.如权利要求4所述的方法,其特征在于,所述根据所述当前交易队列的耗时参数,确定所述当前交易队列的处理优先级,包括:
获取所述当前交易队列的队列参数,所述队列参数包括等待时长和交易数量中的一种或多种;其中,所述当前交易队列的等待时长是指:所述当前交易队列中最早接收到的交易的接收时间点和当前时间点之间的间隔时长,所述当前时间点是指获取所述队列参数的时刻;所述当前交易队列的交易数量是指:所述当前交易队列中所包括的交易的数量;
根据所述当前交易队列的耗时参数以及所述队列参数,确定所述当前交易队列的处理优先级;其中,所述当前交易队列的处理优先级与相应耗时参数成正相关的同时,也与相应队列参数成正相关。
7.如权利要求2或3所述的方法,其特征在于,所述备选交易队列的各个交易的选取顺序,与相应交易在所述备选交易队列中的排列顺序成正相关;
所述将所述目标交易存储至所述多个交易队列中的备选交易队列中,包括:将所述目标交易存储至所述多个交易队列中的备选交易队列的首部。
8.如权利要求1所述的方法,其特征在于,所述根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时,包括:
根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时;
其中,所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关的同时,也与所述N个交易的交易数量成正相关。
9.如权利要求8所述的方法,其特征在于,所述根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,包括:
获取预设的默认调度耗时、梯度影响因子和交易数量影响因子;
根据所述梯度影响因子和所述目标交易队列的交易复杂梯度,确定所述目标交易队列的交易复杂梯度对所述默认调度耗时的影响度;
根据所述交易数量影响因子和所述N个交易的交易数量,确定所述N个交易的交易数量对所述默认调度耗时的影响度;
基于确定出的两个影响度,对所述默认调度耗时进行调整,得到所述N个交易对应的区块调度耗时。
10.如权利要求8所述的方法,其特征在于,所述根据所述目标交易队列的交易复杂梯度以及所述N个交易的交易数量,动态确定所述N个交易对应的区块调度耗时,包括:
获取在交易复杂梯度维度下所预设的第一基准调度耗时,以及在交易数量维度下所预设的第二基准调度耗时;
根据所述第一基准调度耗时和所述目标交易队列的交易复杂梯度,确定所述N个交易在所述交易复杂梯度维度下的第一目标调度耗时;
根据所述第二基准调度耗时和所述N个交易的交易数量,确定所述N个交易在所述交易数量维度下的第二目标调度耗时;
对所述第一目标调度耗时和所述第二目标调度耗时进行整合,得到所述N个交易对应的区块调度耗时。
11.如权利要求1所述的方法,其特征在于,所述在所述区块调度耗时内执行所述N个交易中的各个交易,包括:
根据所述目标交易队列的交易复杂梯度,以及所述N个交易的交易数量,确定出执行所述N个交易所需的处理资源的目标资源量;其中,所述目标资源量与所述目标交易队列的交易复杂梯度成正相关,且与所述N个交易的交易数量成正相关;
在所述区块调度耗时内,调度所述目标资源量的处理资源来执行所述N个交易中的各个交易。
12.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收新增交易,并确定所述新增交易的预测耗时;
从所述交易池的各个交易队列对应的交易耗时范围中查找目标交易耗时范围,所述目标交易耗时范围是指包含所述新增交易的预测耗时的交易耗时范围;
若查找到所述目标交易耗时范围,则将所述新增交易添加至所述目标交易耗时范围所对应的交易队列中。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
若未查找到所述目标交易耗时范围,则在所述交易池中执行队列新增操作,得到第一交易队列;
为所述第一交易队列配置交易复杂梯度,并为配置的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围,配置的交易耗时范围包括:所述新增交易的预测耗时;
将所述新增交易添加至所述第一交易队列中。
14.如权利要求1所述的方法,其特征在于,所述交易池中的每个交易均具有一个预测耗时,任一交易的预测耗时是调用机器学习模型预测得到的;
所述在所述区块调度耗时内执行所述N个交易中的各个交易之后,所述方法还包括:
获取在所述区块调度耗时内所执行完成的交易的实际耗时,交易的实际耗时是指:交易被执行完成所实际消耗的时长;
根据获取到的实际耗时和相应交易的预测耗时之间的差异,对所述机器学习模型进行训练更新。
15.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述交易池的各个交易队列的交易数量,从所述交易池中确定出交易数量小于数量阈值的交易队列;
若确定出的交易队列中存在至少两个交易队列的交易复杂梯度是连续的,则将所述至少两个交易队列进行合并处理,得到合并后的交易队列;
根据所述至少两个交易队列的交易复杂梯度,为所述合并后的交易队列配置交易复杂梯度;
根据所述至少两个交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围,为所述合并后的交易队列的交易复杂梯度所指示的耗时梯度,配置一个交易耗时范围。
16.一种数据处理装置,其特征在于,包括:
获取单元,用于从交易池包括的多个交易队列中选择目标交易队列,并从所述目标交易队列中选取出N个交易,N为正整数;其中,不同交易队列具有不同的交易复杂梯度,任一交易队列的交易复杂梯度用于指示:相应交易队列中的交易所处的耗时梯度;不同耗时梯度对应不同交易耗时范围,且任一耗时梯度对应的交易耗时范围的边界值与相应耗时梯度成正相关;
处理单元,用于根据所述目标交易队列的交易复杂梯度,动态确定所述N个交易对应的区块调度耗时;所述区块调度耗时与所述目标交易队列的交易复杂梯度成正相关,所述区块调度耗时是指:执行所述N个交易时所允许消耗的时长;
所述处理单元,还用于在所述区块调度耗时内执行所述N个交易中的各个交易,并将在所述区块调度耗时内所执行完成的交易打包成区块;
其中,所述N个交易中包括基准交易,所述基准交易是指用于新增交易队列的交易,所述基准交易携带有交易复杂梯度以及交易耗时范围;执行所述基准交易的方式包括:在所述交易池中执行队列新增操作,得到第二交易队列;将所述基准交易携带的交易复杂梯度,配置为所述第二交易队列的交易复杂梯度;以及将所述基准交易携带的交易耗时范围,配置为所述第二交易队列的交易复杂梯度所指示的耗时梯度对应的交易耗时范围。
17.一种数据处理设备,其特征在于,所述数据处理设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-15任一项所述的基于区块链网络的数据处理方法。
18.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-15任一项所述的基于区块链网络的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310971135.1A CN116703601B (zh) | 2023-08-03 | 2023-08-03 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310971135.1A CN116703601B (zh) | 2023-08-03 | 2023-08-03 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116703601A CN116703601A (zh) | 2023-09-05 |
CN116703601B true CN116703601B (zh) | 2024-01-19 |
Family
ID=87829659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310971135.1A Active CN116703601B (zh) | 2023-08-03 | 2023-08-03 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116703601B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116896564B (zh) * | 2023-09-11 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 基于区块链网络的区块生成方法、装置和计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784478A (zh) * | 2019-10-31 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 超时时长的调整方法、装置、设备及计算机可读存储介质 |
CN116308772A (zh) * | 2022-12-16 | 2023-06-23 | 蚂蚁区块链科技(上海)有限公司 | 交易分发方法、节点和区块链系统 |
-
2023
- 2023-08-03 CN CN202310971135.1A patent/CN116703601B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784478A (zh) * | 2019-10-31 | 2020-02-11 | 深圳前海微众银行股份有限公司 | 超时时长的调整方法、装置、设备及计算机可读存储介质 |
CN116308772A (zh) * | 2022-12-16 | 2023-06-23 | 蚂蚁区块链科技(上海)有限公司 | 交易分发方法、节点和区块链系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116703601A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7114629B2 (ja) | ブロックチェーントランザクションの並列検証のためのシステム及び方法 | |
JP7304118B2 (ja) | 自己監視ブロックチェーンのための安全な合意に基づくエンドースメント | |
Yao et al. | Fog resource provisioning in reliability-aware IoT networks | |
Nanjappan et al. | Hybrid‐based novel approach for resource scheduling using MCFCM and PSO in cloud computing environment | |
Huang et al. | Elastic resource allocation against imbalanced transaction assignments in sharding-based permissioned blockchains | |
CN110599177A (zh) | 一种交易验证方法及相关设备 | |
CN111460504B (zh) | 业务处理方法、装置、节点设备及存储介质 | |
CN112508573B (zh) | 一种交易数据处理方法、装置以及计算机设备 | |
Zhang et al. | Heterogeneity aware dominant resource assistant heuristics for virtual machine consolidation | |
CN116703601B (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
CN106130960B (zh) | 盗号行为的判断系统、负载调度方法和装置 | |
CN110555079B (zh) | 数据处理方法、装置、设备以及存储介质 | |
Alam et al. | Security prioritized multiple workflow allocation model under precedence constraints in cloud computing environment | |
JP7553554B2 (ja) | 同期処理方法及び関連装置 | |
CN103294558A (zh) | 一种支持动态信任评估的MapReduce调度方法 | |
Hieu et al. | Deep reinforcement learning for resource management in blockchain-enabled federated learning network | |
CN103713852A (zh) | 一种信息处理方法、服务平台及电子设备 | |
CN116933886B (zh) | 一种量子计算执行方法、系统、电子设备及存储介质 | |
US9942083B1 (en) | Capacity pool management | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
Caruana et al. | gSched: a resource aware Hadoop scheduler for heterogeneous cloud computing environments | |
CN116244062A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN108388658A (zh) | 数据文件可靠存储方法 | |
CN113961334A (zh) | 一种任务处理方法、装置、设备及存储介质 | |
Chiang et al. | A load-based scheduling to improve performance in cloud systems |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092283 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |