CN117994038A - 基于区块链的交易处理方法、装置、设备及存储介质 - Google Patents
基于区块链的交易处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117994038A CN117994038A CN202410397437.7A CN202410397437A CN117994038A CN 117994038 A CN117994038 A CN 117994038A CN 202410397437 A CN202410397437 A CN 202410397437A CN 117994038 A CN117994038 A CN 117994038A
- Authority
- CN
- China
- Prior art keywords
- transaction
- initial
- ordering state
- performance
- transaction ordering
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012512 characterization method Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004806 packaging method and process Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 21
- 230000007423 decrease Effects 0.000 claims description 12
- 238000002922 simulated annealing Methods 0.000 claims description 10
- 238000012804 iterative process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 19
- 238000005457 optimization Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000001816 cooling Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于区块链的交易处理方法、装置、设备及存储介质,包括:确定待处理交易的初始交易排序状态;预测此状态下的初始性能表征值;将初始交易排序状态下的两个相邻交易交换位置,并预测新状态下的新性能表征值;根据初始性能表征值和新性能表征值之间的性能优劣比较结果,选取其中一个作为新的初始交易排序状态,返回执行将初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态,并根据目标交易排序状态确定目标区块大小;基于目标区块大小和目标交易排序状态将待处理交易打包生成区块。该方法能够提高***性能。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的交易处理方法、装置、设备及存储介质。
背景技术
随着科学技术的发展,区块链交易越来越多,区块链交易是一种基于区块链技术的价值传输和记录方式。交易发起后,全网节点会对交易进行合法性验证,只有合法的交易会被放入交易池,最终被打包到一个区块中,与之前的区块链接形成一个不可篡改的链。
在对交易池中的交易进行处理时,传统方法都是按照默认的、固定的方法将交易池中的交易进行排序,然后依次对交易进行处理。显然,固定的方法对交易排序过于局限,经常会在交易处理过程中导致拥堵和延迟问题,从而影响了***性能。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高***性能的基于区块链的交易处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于区块链的交易处理方法。方法包括:
确定区块链的交易池中待处理交易的初始交易排序状态;
预测在所述初始交易排序状态下进行交易的初始性能表征值;
将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;
根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;
将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态,并根据所述目标交易排序状态确定目标区块大小;
基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
在其中一个实施例中,所述预测在所述初始交易排序状态下进行交易的初始性能表征值,包括:
确定在所述初始交易排序状态下进行交易时多个交易相关性能指标的指标值;所述交易相关性能指标是指进行交易时用于衡量***性能的指标项;
将所述多个交易相关性能指标的指标值进行加权求和,得到在所述初始交易排序状态下进行交易的初始性能表征值。
在其中一个实施例中,所述根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代,包括:
若所述新性能表征值所表征的性能优于所述初始性能表征值所表征的性能,则将所述新的交易排序状态作为新的初始交易排序状态。
在其中一个实施例中,所述方法还包括:
若所述新性能表征值所表征的性能劣于所述初始性能表征值所表征的性能,则确定所述新的交易排序状态的接受概率;
按照所述接受概率接受所述新的交易排序状态作为新的初始交易排序状态。
在其中一个实施例中,模拟退火算法的温度参数值随着迭代的进行而不断降低;在迭代过程中,所述接受概率随着所述温度参数值的降低而减小;
所述方法还包括:
若所述温度参数值降低到预先设置的最低温度阈值,则停止迭代。
在其中一个实施例中,所述根据所述目标交易排序状态确定目标区块大小包括:
确定初始区块大小;
根据所述目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,得到目标区块大小。
在其中一个实施例中,所述方法还包括:
实时检测网络状态;
基于所述网络状态动态调整区块生成时间间隔;
所述基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块,包括:
按照所述区块生成时间间隔,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
第二方面,本申请还提供了一种基于区块链的交易处理装置,该装置包括:
预测模块,用于确定区块链的交易池中待处理交易的初始交易排序状态;预测在所述初始交易排序状态下进行交易的初始性能表征值;将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;
交易排序确定模块,用于根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,并通知所述预测模块执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态;
区块生成模块,用于根据所述目标交易排序状态确定目标区块大小;基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中的步骤。
第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各实施例中的步骤。
上述基于区块链的交易处理方法、装置、计算机设备、存储介质和计算机程序产品中,确定区块链的交易池中待处理交易的初始交易排序状态;预测在所述初始交易排序状态下进行交易的初始性能表征值;将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态。即,通过交换相邻交易在交易排序中的位置,生成不同的交易排序状态并比对不同状态下进行交易的性能优劣情况,朝着有利于性能优化的方向迭代地寻找最优的目标交易排序状态,并且,基于目标交易排序状态动态确定相匹配的目标区块大小,基于目标区块大小和目标交易排序状态将待处理交易更为准确地打包生成区块。从而,基于最优交易排序和区块生成优化策略更加高效准确地处理交易,节省***资源,提高了***性能。
附图说明
图1为一个实施例中交易流程的简示图;
图2为一个实施例中基于区块链的交易处理方法的流程示意图;
图3为一个实施例中寻找目标交易排序状态的流程示意图;
图4为一个实施例中基于区块链的交易处理装置的结构框图;
图5为另一个实施例中基于区块链的交易处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
由于本申请的方案的整体思想是基于交易流程提出的,所以,在论述本申请的具体方案之前,对交易流程做如下简单介绍。
交易流程的整体步骤主要包括:交易发起、交易验证、交易广播、交易池管理、区块生成以及区块验证存储。
其中,交易发起:区块链节点之间可以发起交易。即,区块链上的参与者可以通过发起交易来转移数字资产或执行其他操作。
交易验证:交易通过哈希函数、数字签名进行验证。具体地,交易信息被哈希,生成唯一的标识符,确保交易的完整性,数字签名用于验证交易的真实性,确保只有拥有私钥的一方才能发起有效的交易。
交易广播:将交易进行传播。即,交易通过网络传播给其他节点,以便整个网络了解这笔交易。
交易池管理:验证合法的交易进入交易池。具体地,区块链节点接收到交易后,通过验证确保其合法性,然后将合法的交易放入交易池等待后续处理。
区块生成:将交易池中待处理交易(即未确认的交易)打包生成区块。
区块验证存储:区块被创建后,经过验证确保其中的交易是有效的,然后存储到区块链中。
参见图1所示的交易流程图可知,本申请正是针对上述交易流程中的交易池管理以及区块生成步骤进行了改进,针对交易池管理步骤提出了动态调整交易排序方法,以确定最优的交易排序,并针对区块生成步骤提出了区块生成优化策略,以基于最优交易排序和区块生成优化策略更加高效准确地处理交易,节省***资源。接下来,将具体论述本申请的方案。
在一个实施例中,如图2所示,提供了一种基于区块链的交易处理方法,包括以下步骤:
步骤202,确定区块链的交易池中待处理交易的初始交易排序状态。
交易排序状态是对交易池中待处理交易进行排序后的状态,即,交易排序状态可以是具有顺序的交易序列,比如,可以是包含交易信息的交易列表,即,将交易池中各个待处理交易按序组织成一个列表,形成交易排序状态。可以理解,交易列表的每个元素表示一个交易,交易信息可以包括:交易的唯一标识符或哈希值、交易的发件人地址、交易的收件人地址、交易的费用、交易的大小(数据量)、交易的时间戳等中的至少一种。
待处理交易是未确认、未处理的交易。初始交易排序状态是指基础的、基准的交易排序状态,即,以初始交易排序状态为基础,通过交换相邻交易的位置来寻找新的、能使性能更优的交易排序状态。
在首次生成交易排序状态时,可以针对交易池中的所有未确认交易进行随机排列,以随机生成一个初始交易排序状态。需要说明的是,本申请实施例中初始交易排序状态是一个泛指的身份概念,而并非特指最原始的随机生成的交易排序状态,实际上,迭代过程中,前一轮迭代中确定出的、作为后一轮进行位置交换基础的交易排序状态也可以在后一轮迭代中叫做初始交易序列状态。
步骤204,预测在所述初始交易排序状态下进行交易的初始性能表征值。
可以理解,交易之间不同排序会影响***的性能或者会影响交易处理的效率从而影响***性能。所以,可以预测在初始交易排序状态下进行交易(即按照初始交易排序状态下各个交易的顺序进行交易)时***的性能情况,得到初始性能表征值。
在一些实施例中,所述预测在所述初始交易排序状态下进行交易的初始性能表征值,包括:确定在所述初始交易排序状态下进行交易时多个交易相关性能指标的指标值;所述交易相关性能指标是指进行交易时用于衡量***性能的指标项;将所述多个交易相关性能指标的指标值进行加权求和,得到在所述初始交易排序状态下进行交易的初始性能表征值。
可选地,多个交易相关性能指标包括交易费用、交易确认时间、区块生成速度或网络拥堵程度中的至少一种。
步骤206,将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值。
具体地,可以将初始交易排序状态下任意两个相邻交易进行位置交换,相当于将初始交易序列中任意或随机选取两个相邻的交易进行位置交换,得到新的交易排序状态(即新的交易序列),进而,可以预测在新的交易排序状态下进行交易时***的性能情况,得到新性能表征值。
同理,也可以确定在新交易排序状态下进行交易时多个交易相关性能指标的指标值,进而,将在新交易排序状态下多个交易相关性能指标的指标值进行加权求和,得到在新交易排序状态下进行交易的新性能表征值。
步骤208,根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代。
具体地,可以将初始性能表征值和新性能表征值进行比较,判断新性能表征值所表征的性能是否优于初始性能表征值所表征的性能,得到性能优劣比较结果。进而,可以根据性能优劣比较结果,从新的交易排序状态和所述初始交易排序状态中选取一个作为新的初始交易排序状态,基于新的初始交易排序状态返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置的步骤及后续步骤,以进行迭代处理,直至满足迭代停止条件后停止迭代。
需要说明的是,迭代处理是为了选取能够使性能优化的最优的交易排序状态,所以,迭代停止时得到的交易排序状态即为最优的交易排序状态。
步骤210,将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态,并根据所述目标交易排序状态确定目标区块大小。
在确定出最优的用于使性能优化的交易排序状态之后,可以将其作为最终的目标交易排序状态,进而,可以根据目标交易排序状态确定目标区块大小,从而基于最优的目标交易排序状态实现动态确定区块大小的目的,使得区块大小确定的更加合理、准确,既能满足区块生成需求,又能避免***资源的浪费。
步骤212,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
在动态确定出与当前情况相符合的目标区块大小之后,可以按照目标区块大小将目标交易排序状态下的交易序列按顺序打包生成区块。每个区块的大小符合该目标区块大小。
可以理解,在打包生成区块之后,即区块被创建后,可以对区块中的交易进行验证,在经过验证确保其中的交易是有效的之后,可以将区块存储到区块链中,实现交易上链。
上述基于区块链的交易处理方法中,确定区块链的交易池中待处理交易的初始交易排序状态;预测在所述初始交易排序状态下进行交易的初始性能表征值;将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态。即,通过交换相邻交易在交易排序中的位置,生成不同的交易排序状态并比对不同状态下进行交易的性能优劣情况,朝着有利于性能优化的方向迭代地寻找最优的目标交易排序状态,并且,基于目标交易排序状态动态确定相匹配的目标区块大小,基于目标区块大小和目标交易排序状态将待处理交易更为准确地打包生成区块。从而,基于最优交易排序和区块生成优化策略更加高效准确地处理交易,节省***资源,提高了区块链***的整体性能。
其次,朝着有利于性能优化的方向迭代地寻找最优的目标交易排序状态的过程,属于全局动态地寻找最优解,避免了传统的使用固定、静态的交易排序方法的局限性。而且,动态调整交易排序方法的操作发生在交易池中,通过对交易的排序方式进行优化,使得在打包区块时能够更有效地、准确地选择更需要被处理的交易。这有助于提高整个***的效率,减少交易的等待时间,从而减少了网络拥堵情况的产生。
此外,通过区块生成优化策略,动态生成区块大小,以更好地适应不同类型的交易,这样可以确保每个区块充分利用,并避免资源浪费,提高区块链网络的吞吐量、资源利用效率和***稳定性。
在一些实施例中,所述根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代,包括:若所述新性能表征值所表征的性能优于所述初始性能表征值所表征的性能,则将所述新的交易排序状态作为新的初始交易排序状态。
具体地,在将初始性能表征值和新性能表征值进行比较时,若新性能表征值所表征的性能优于所述初始性能表征值所表征的性能,则说明新的交易排序状态比初始交易排序状态更优,即基于新的交易序列进行交易处理比基于初始交易序列进行交易处理,能够使***性能更好、交易处理效率更高,因此,可以直接接受该新的交易排序状态,将新的交易排序状态作为新的初始交易排序状态,并基于新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置及后续步骤,以进行迭代处理。
在一些实施例中,若所述新性能表征值所表征的性能劣于所述初始性能表征值所表征的性能,则确定所述新的交易排序状态的接受概率;按照所述接受概率接受所述新的交易排序状态作为新的初始交易排序状态。
可以理解,接受概率是指新的交易排序状态能够被接受的概率。接受概率随着迭代轮次的增加而逐步地减少。计算机设备可以生成一个在[0,1]之间的随机数,如果随机数小于接受概率,则说明能够接受新的交易排序状态,因而,可以将该新的交易排序状态为新的初始交易排序状态,并基于新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置及后续步骤,以进行迭代处理。
如果随机数大于或等于接受概率,则说明不能够接受新的交易排序状态,则将原来位置交换前的初始交易排序状态作为新的初始交易排序状态,重新执行将所述初始交易排序状态下的两个相邻交易交换位置及后续步骤,即,在原来的初始交易排序状态下重新选取两个相邻交易进行位置交换,相当于本次的位置交换就不作数了,在原来的初始交易序列中重新再选两个相邻交易进行位置交换。
在一些实施例中,模拟退火算法的温度参数值在达到预设迭代次数时会降低;在迭代过程中,所述接受概率随着所述温度参数值的降低而减小。该方法还包括:若所述温度参数值降低到预先设置的最低温度阈值,则停止迭代。
本实施例中,是结合模拟退火算法的原理,创新性地将模拟退火算法应用到区块链交易排序这一场景中,从而来迭代寻找最优的或者使性能优化的目标交易排序状态。
具体地,会预先设置模拟退火算法的迭代约束参数,包括模拟退火算法的初始的温度参数值、冷却速率、最低温度阈值或单次降温所需的最大迭代次数中的至少一种。单次降温所需的最大迭代次数也可以叫做预设迭代次数,也就是说,每次连续迭代达到该预设迭代次数时会降低当前的温度参数值(即降低当前温度)。此外,可以预先设置目标函数,分别预测在所述初始交易排序状态下的目标函数值、以及预测在所述新的交易排序状态下的目标函数值。可以理解,目标函数值(即目标函数的值)属于性能表征值,在所述初始交易排序状态下的目标函数值则是指初始性能表征值,在所述新的交易排序状态下的目标函数值则是指新性能表征值。进而,可以比较所述新的交易排序状态下的目标函数值与初始交易排序状态下的目标函数值,相当于比较新性能表征值与初始性能表征值。如果新的交易排序状态下的目标函数值更好(即表征的***性能更优),则接受新的交易排序状态,否则,以接受概率接受新的交易排序状态,并将新的交易排序状态作为新的初始交易排序状态,进入下一轮迭代。上述方式通过在搜索空间中随机跳跃,有助于避免陷入局部最优解。
在迭代过程中,模拟退火算法的温度参数值在达到预设迭代次数时会降低,而接受概率随着温度参数值的降低而减小。可选地,接受概率,其中,/>是新性能表征值相较于初始性能表征值的变化值,T是当前的温度参数值(即当前温度或当前轮次的温度)。若所述温度参数值降低到预先设置的最低温度阈值,则停止迭代。
由于目标函数值属于性能表征值,所以,也是将所述多个交易相关性能指标的指标值进行加权求和得到目标函数值。
可选地,可以按照以下公式计算每个交易排序状态下的目标函数值:
目标函数值=w1×交易费用+w2×交易确认时间+w3×区块生成速度+w4×网络拥堵程度;其中,w1,w2,w3,w4是交易费用、交易确认时间、区块生成速度以及网络拥堵程度这几个交易相关性能指标分别对应的权重参数,用于调整每个交易相关性能指标对于总体的目标函数值的重要性。在计算不同交易排序状态下的目标函数值时,只需要将每个交易排序状态下各个交易相关性能指标的指标值代入上述公式即可。
为便于理解,现结合图3说明如何寻找最优的目标交易排序状态。从图3可知,可以先初始化模拟退火算法的参数,比如,初始的温度参数值、单次降温所需的最大迭代次数和最低温度阈值。针对交易池中的待处理交易生成初始交易排序状态,在开始本轮次的处理之前,会判断当前温度(即当前的温度参数值)是否大于最低温度阈值,若否则直接结束,若是,则会将迭代次数的累计计数值设为0,然后,判断当前累计的迭代次数是否小于预设迭代次数(即单次降温所需的最大迭代次数)。若当前累计的迭代次数小于预设迭代次数,则通过邻域换位操作(即将初始交易排序状态下的相邻交易互换位置)得到新的交易排序状态。进而,计算新的交易排序状态与初始交易排序状态下的目标函数值的差值。判断目标函数值的差值是否大于0,若是,则接受新的交易排序状态,若否,则以接受概率接受该新的交易排序状态,并将迭代次数+1,返回继续判断当前累计的迭代次数是否小于最大迭代次数,以迭代进行处理。直至当前累计的迭代次数大于预设迭代次数,则控制温度下降,并返回重新判断当前温度是否大于最低温度阈值,若是,则重新将迭代次数的累计计数值设为0,然后,继续判断当前累计的迭代次数是否小于预设迭代次数及进行后续步骤,以进行迭代处理。如此循环迭代,直至当前温度降低到最低温度阈值结束迭代,迭代停止时得到的新的交易排序状态即为目标交易排序状态。
在一些实施例中,所述根据所述目标交易排序状态确定目标区块大小包括:确定初始区块大小;根据所述目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,得到目标区块大小。
具体地,可以在初始阶段,设定一个合理的初始区块大小,在确定出目标交易排序状态后,可以目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,得到目标区块大小。可选地,预先设定了一个数量阈值,当目标交易排序状态下的交易数量大于或等于该数量阈值时,触发对初始区块大小的动态调整。
在一些实施例中,当交易数量超过数量阈值时,确定交易数量与数量阈值之间的数量差值,增加与该数量差值相匹配的区块大小。可选地,针对预设数量设置有相匹配的区块大小,根据数量差值除以预设数量的商,确定区块大小的调整倍数,按照该调整倍数对初始区块大小进行调整。即,当交易数量超过数量阈值时,每新增预设数量的交易,则增加相应的区块大小。
上述实施例中,根据所述目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,能够更加快速、准确地确定更加合适的目标区块大小,提高了效率,且更有效地利用区块的空间,从而优化整个区块链网络的性能,避免区块资源浪费。
在一些实施例中,该方法还包括:实时检测网络状态;基于所述网络状态动态调整区块生成时间间隔。本实施例中,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块,包括:按照所述区块生成时间间隔,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
其中,区块生成时间间隔,是用于生成区块的时间间隔。
具体地,为了优化区块生成策略,本申请在区块链***中设置了网络状态检测程序,实时检测网络状态,并根据实时检测的网络状态,动态设置区块生成时间间隔。可选地,在网络处于拥塞状态时,可以延长区块生成时间间隔,以避免过度拥堵,在网络处于空闲状态时,可以缩短区块生成时间间隔,以提高区块生成速度。
在一些实施例中,还可以针对同一状态下的不同级别生成不同的区块生成时间间隔。比如,拥塞状态可以分为多级拥塞,拥塞级别越高拥塞越严重,随着拥塞级别的增大,区块生成时间间隔也随之增大或延长。空闲状态可以分为多级空闲,空闲级别越高网络越空闲,随着空闲级别增大,区块生成时间间隔随之减小或缩短。
可以理解,目标交易排序状态相当于最优的交易排序状态或最优的交易序列,目标区块大小是符合当前需求的区块大小,区块生成时间间隔与当前的网络状态相匹配,所以,可以按照所述区块生成时间间隔,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。相当于,根据最优的交易排序以及最优的区块生成策略将交易打包进区块。
上述实施例中,基于最优的交易顺序,区块生成优化策略通过确定区块的大小、设定生成时间间隔得到最优区块生成策略,可以更有效地利用区块的空间,提高整个***的吞吐量,减少资源浪费。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于区块链的交易处理方法的基于区块链的交易处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于区块链的交易处理装置实施例中的具体限定可以参见上文中对于基于区块链的交易处理方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种基于区块链的交易处理装置,包括:预测模块402、交易排序确定模块404及区块生成模块406,其中:
预测模块402,用于确定区块链的交易池中待处理交易的初始交易排序状态;预测在所述初始交易排序状态下进行交易的初始性能表征值;将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;
交易排序确定模块404,用于根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,并通知所述预测模块402执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态;
区块生成模块406,用于根据所述目标交易排序状态确定目标区块大小;基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
在一些实施例中,预测模块402还用于确定在所述初始交易排序状态下进行交易时多个交易相关性能指标的指标值;所述交易相关性能指标是指进行交易时用于衡量***性能的指标项;将所述多个交易相关性能指标的指标值进行加权求和,得到在所述初始交易排序状态下进行交易的初始性能表征值。
在一些实施例中,交易排序确定模块404还用于若所述新性能表征值所表征的性能优于所述初始性能表征值所表征的性能,则将所述新的交易排序状态作为新的初始交易排序状态。
在一些实施例中,交易排序确定模块404还用于若所述新性能表征值所表征的性能劣于所述初始性能表征值所表征的性能,则确定所述新的交易排序状态的接受概率;按照所述接受概率接受所述新的交易排序状态作为新的初始交易排序状态。
在一些实施例中,模拟退火算法的温度参数值随着迭代的进行而不断降低;在迭代过程中,所述接受概率随着所述温度参数值的降低而减小;交易排序确定模块404还用于若所述温度参数值降低到预先设置的最低温度阈值,则停止迭代。
在一些实施例中,区块生成模块406还用于确定初始区块大小;根据所述目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,得到目标区块大小。
如图5所示,在一些实施例中,该装置还包括:
网络状态检测模块408,用于实时检测网络状态;
本实施例中,区块生成模块406还用于基于网络状态动态调整区块生成时间间隔;按照所述区块生成时间间隔,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
上述基于区块链的交易处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的交易处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的交易处理方法,其特征在于,所述方法包括:
确定区块链的交易池中待处理交易的初始交易排序状态;
预测在所述初始交易排序状态下进行交易的初始性能表征值;
将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;
根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;
将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态,并根据所述目标交易排序状态确定目标区块大小;
基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
2.根据权利要求1所述的方法,其特征在于,所述预测在所述初始交易排序状态下进行交易的初始性能表征值,包括:
确定在所述初始交易排序状态下进行交易时多个交易相关性能指标的指标值;所述交易相关性能指标是指进行交易时用于衡量***性能的指标项;
将所述多个交易相关性能指标的指标值进行加权求和,得到在所述初始交易排序状态下进行交易的初始性能表征值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,返回执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代,包括:
若所述新性能表征值所表征的性能优于所述初始性能表征值所表征的性能,则将所述新的交易排序状态作为新的初始交易排序状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述新性能表征值所表征的性能劣于所述初始性能表征值所表征的性能,则确定所述新的交易排序状态的接受概率;
按照所述接受概率接受所述新的交易排序状态作为新的初始交易排序状态。
5.根据权利要求4所述的方法,其特征在于,模拟退火算法的温度参数值在达到预设迭代次数时会降低;在迭代过程中,所述接受概率随着所述温度参数值的降低而减小;
所述方法还包括:
若所述温度参数值降低到预先设置的最低温度阈值,则停止迭代。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标交易排序状态确定目标区块大小包括:
确定初始区块大小;
根据所述目标交易排序状态下的交易数量和交易大小,对所述初始区块大小进行调整,得到目标区块大小。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
实时检测网络状态;
基于所述网络状态动态调整区块生成时间间隔;
所述基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块,包括:
按照所述区块生成时间间隔,基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
8.一种基于区块链的交易处理装置,其特征在于,所述装置包括:
预测模块,用于确定区块链的交易池中待处理交易的初始交易排序状态;预测在所述初始交易排序状态下进行交易的初始性能表征值;将所述初始交易排序状态下的两个相邻交易交换位置,并预测在交换位置后得到的新的交易排序状态下进行交易的新性能表征值;
交易排序确定模块,用于根据所述初始性能表征值和新性能表征值之间的性能优劣比较结果,选取所述新的交易排序状态和所述初始交易排序状态中的其中一个作为新的初始交易排序状态,并通知所述预测模块执行所述将所述初始交易排序状态下的两个相邻交易交换位置以进行迭代;将迭代停止时得到的、且用于使性能优化的交易排序状态作为目标交易排序状态;
区块生成模块,用于根据所述目标交易排序状态确定目标区块大小;基于目标区块大小和目标交易排序状态将所述待处理交易打包生成区块。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410397437.7A CN117994038B (zh) | 2024-04-03 | 2024-04-03 | 基于区块链的交易处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410397437.7A CN117994038B (zh) | 2024-04-03 | 2024-04-03 | 基于区块链的交易处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117994038A true CN117994038A (zh) | 2024-05-07 |
CN117994038B CN117994038B (zh) | 2024-07-09 |
Family
ID=90891527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410397437.7A Active CN117994038B (zh) | 2024-04-03 | 2024-04-03 | 基于区块链的交易处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117994038B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615513A (zh) * | 2018-11-02 | 2019-04-12 | 克洛斯比尔有限公司 | 用于区块链内待交换价值或物品公平交换的方法和*** |
CN110618859A (zh) * | 2019-09-10 | 2019-12-27 | 杭州秘猿科技有限公司 | 支持按顺序打包的交易池设计方法、电子设备 |
CN111861464A (zh) * | 2020-07-18 | 2020-10-30 | 北京天仪百康科贸有限公司 | 区块链的节点共识方法及*** |
US20210056627A1 (en) * | 2018-01-26 | 2021-02-25 | Je-Kwon LEE | Currency exchange and foreign exchange transaction method of using blockchain-based digital assets including cryptocurrency as intermediary |
CN112491983A (zh) * | 2020-11-13 | 2021-03-12 | 南方科技大学 | 基于区块链的智能合约调度方法、装置、设备及存储介质 |
CN112633863A (zh) * | 2020-12-29 | 2021-04-09 | 杭州趣链科技有限公司 | 基于区块链的单据交换方法、装置、设备和可读存储介质 |
CN113015993A (zh) * | 2018-11-15 | 2021-06-22 | 贝宝公司 | 用于优化向区块链进行数据写入的***和方法 |
CN113362062A (zh) * | 2021-05-21 | 2021-09-07 | 山东大学 | 一种区块链交易排序方法、存储介质及设备 |
US20220327521A1 (en) * | 2021-04-10 | 2022-10-13 | Bank Of America Corporation | Specialty application electronic exchange mitigation platform |
-
2024
- 2024-04-03 CN CN202410397437.7A patent/CN117994038B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210056627A1 (en) * | 2018-01-26 | 2021-02-25 | Je-Kwon LEE | Currency exchange and foreign exchange transaction method of using blockchain-based digital assets including cryptocurrency as intermediary |
CN109615513A (zh) * | 2018-11-02 | 2019-04-12 | 克洛斯比尔有限公司 | 用于区块链内待交换价值或物品公平交换的方法和*** |
CN113015993A (zh) * | 2018-11-15 | 2021-06-22 | 贝宝公司 | 用于优化向区块链进行数据写入的***和方法 |
CN110618859A (zh) * | 2019-09-10 | 2019-12-27 | 杭州秘猿科技有限公司 | 支持按顺序打包的交易池设计方法、电子设备 |
CN111861464A (zh) * | 2020-07-18 | 2020-10-30 | 北京天仪百康科贸有限公司 | 区块链的节点共识方法及*** |
CN112491983A (zh) * | 2020-11-13 | 2021-03-12 | 南方科技大学 | 基于区块链的智能合约调度方法、装置、设备及存储介质 |
CN112633863A (zh) * | 2020-12-29 | 2021-04-09 | 杭州趣链科技有限公司 | 基于区块链的单据交换方法、装置、设备和可读存储介质 |
US20220327521A1 (en) * | 2021-04-10 | 2022-10-13 | Bank Of America Corporation | Specialty application electronic exchange mitigation platform |
CN113362062A (zh) * | 2021-05-21 | 2021-09-07 | 山东大学 | 一种区块链交易排序方法、存储介质及设备 |
Non-Patent Citations (3)
Title |
---|
VADDADI, V.R: "Exploiting Cyber Threats And Protecting Cryptocurrencies Toward Bitcoin Exchanges", 《 2023 5TH BIENNIAL INTERNATIONAL CONFERENCE ON NASCENT TECHNOLOGIES IN ENGINEERING (ICNTE)》, 30 March 2024 (2024-03-30), pages 1 - 6 * |
刘文妍: "面向区块链与物联网融合的数据筛选及交易排序服务研究", 《优秀硕士论文》, 15 February 2023 (2023-02-15), pages 1 - 67 * |
郭雨: "基于区块链技术的共识算法研究", 《电子技术与软件工程》, no. 13, 1 July 2020 (2020-07-01), pages 152 - 153 * |
Also Published As
Publication number | Publication date |
---|---|
CN117994038B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807951B (zh) | 一种区块链生成方法、数据验证方法、节点及*** | |
CN107657438B (zh) | 一种区块链生成方法、数据验证方法、节点及*** | |
CN110738497B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN114270351A (zh) | 数据泄露检测 | |
US11729001B2 (en) | Distributed proof-of-work for sharded or parallel blockchains | |
CN111858520B (zh) | 一种区块链节点数据分离存储的方法和装置 | |
CN110738472B (zh) | 区块链的存储方法和区块链的节点 | |
CN110442762B (zh) | 基于云平台大数据的大数据处理方法 | |
CN110555079B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN111475108B (zh) | 一种分布式存储方法、计算机设备及计算机可读存储介质 | |
CN117527834B (zh) | 一种基于信誉评分机制的改进pbft共识方法 | |
WO2024040796A1 (zh) | 一种区块链电力交易***、共识方法、设备和存储介质 | |
CN110442623B (zh) | 大数据挖掘方法、装置及数据挖掘服务器 | |
CN109218211B (zh) | 数据流的控制策略中阈值的调整方法、装置和设备 | |
CN111161071A (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
CN113609533A (zh) | 一种面向智能电网数据的完整性审计方法 | |
CN117994038B (zh) | 基于区块链的交易处理方法、装置、设备及存储介质 | |
CN111522876B (zh) | 区块链共识方法、装置和计算机设备、及区块链节点 | |
CN110209742B (zh) | 一种基于区块链依据数据重要性分类存储***及方法 | |
CN111680293A (zh) | 基于互联网的信息监控管理方法、装置及服务器 | |
CN116319827A (zh) | 消息广播方法及装置 | |
CN115114289A (zh) | 一种数据查询方法、装置及电子设备 | |
CN113112359A (zh) | 一种联盟链共识达成方法、装置及存储介质 | |
CN113704249B (zh) | 一种区块链中使用静态默克尔树的方法和装置 | |
US12013830B2 (en) | System and method using bloom filters to improve system reliability |
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 |