CN114253920A - 一种交易重新排序方法、装置、设备及可读存储介质 - Google Patents
一种交易重新排序方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114253920A CN114253920A CN202111483958.7A CN202111483958A CN114253920A CN 114253920 A CN114253920 A CN 114253920A CN 202111483958 A CN202111483958 A CN 202111483958A CN 114253920 A CN114253920 A CN 114253920A
- Authority
- CN
- China
- Prior art keywords
- transaction
- conflict
- read
- transactions
- write data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及网络技术领域,具体而言,涉及一种交易重新排序方法、装置、设备及可读存储介质,所述方法包括:获取交易的读写数据集合;将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;根据所述交易冲突环,重新确定交易的执行顺序。本发明减少Fabric在交易验证阶段因交易读写冲突而放弃的交易数量,提高交易并发数量,并且提前在交易排序阶段确认出被放弃的交易,节约网络资源。
Description
技术领域
本发明涉及网络技术领域,具体而言,涉及一种交易重新排序方法、装置、设备及可读存储介质。
背景技术
Fabric网络是由多台基于光纤通道(Fibre Channel,简称为FC)协议的交换机互联组成的网络。Fabric网络主要功能是提供数据传输服务,服务器通过Fabric网络中的交换机(以下简称为FC交换机)能够将命令和数据发送给磁盘设备,或者从磁盘设备读取数据。
Fabric中原有的交易排序机制默认按照交易的提交时间进行排序,导致很多交易的读写集冲突,其中单独的交易重排序机制无法解决部分交易的循环依赖问题,并且Fabric在验证阶段才能决定一笔交易是否保留,浪费全网资源。
发明内容
本发明的目的在于提供一种交易重新排序方法、装置、设备及可读存储介质,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:
一方面,本申请提供了一种交易重新排序方法,所述方法包括:获取交易的读写数据集合;将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;根据所述交易冲突环,重新确定交易的执行顺序。
可选地,所述获取交易的读写数据集合,包括:
获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
可选地,所述将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易,包括:
将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
可选地,所述根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,包括:
将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
可选地,所述根据所述交易冲突环,重新确定交易的执行顺序,包括:
将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
可选地,所述根据所述交易冲突环,重新确定交易的执行顺序,还包括:
将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
第二方面,本申请实施例提供了一种交易重新排序装置,所述装置包括:
第一获取单元,用于获取交易的读写数据集合;
第一处理单元,用于将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;
第二处理单元,用于根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;
第三处理单元,用于根据所述交易冲突环,重新确定交易的执行顺序。
可选地,所述装置包括:
第一获取子单元,用于获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
第一接收子单元,用于接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
可选地,所述装置包括:
第一处理子单元,用于将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
第二处理子单元,用于将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
第一判断子单元,用于根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
可选地,所述装置包括:
第三处理子单元,用于将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
第四处理子单元,用于根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
可选地,所述装置包括:
第五处理子单元,用于将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
第六处理子单元,用于将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
可选地,所述装置还包括:
第四处理单元,用于将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
第一接收单元,用于接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
第三方面,本申请实施例提供了一种交易重新排序设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述交易重新排序方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述交易重新排序方法的步骤。
本发明的有益效果为:
本发明减少Fabric在交易验证阶段因交易读写冲突而放弃的交易数量,提高交易并发数量,并且提前在交易排序阶段确认出被放弃的交易,节约网络资源。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中所述的一种交易重新排序方法流程示意图;
图2为本发明实施例中所述的一种交易重新排序装置结构示意图;
图3是本发明实施例中所述的一种交易重新排序设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
如图1所示,本实施例提供了一种交易重新排序方法,其所述方法包括步骤S1、步骤S2、步骤S3和步骤S4。
步骤S1、获取交易的读写数据集合;
步骤S2、将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;
步骤S3、根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;
步骤S4、根据所述交易冲突环,重新确定交易的执行顺序。
可以理解的是本发明通过重新确定交易的执行顺序,减少Fabric在交易验证阶段因交易读写冲突而放弃的交易数量,提高交易并发数量,并且提前在交易排序阶段确认出被放弃的交易,节约网络资源。
可以理解的是所述共识模块是执行共识机制的一个模块,其中共识机制,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。
可以理解的是所述背书节点是指在区块链中承担背书任务的节点,可以简单的理解为验证交易并声明此交易合法(或不合法)的链中节点就是背书节点。
在本公开的一种具体实施方式中,所述步骤S1包括步骤S11和步骤S12。
步骤S11、获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
步骤S12、接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
可以理解的是本发明通过客户端创建交易提案,并将所述交易提案发送到各组织的背书节点,各背书节点模拟执行交易并基于读取的键值和写入的键值生成读写操作集,然后各背书节点向客户端返回提案结果。
在本公开的一种具体实施方式中,所述步骤S2包括步骤S21、步骤S22和步骤S23。
步骤S21、将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
步骤S22、将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
步骤S23、根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
可以理解的是客户端收集到足够的背书节点返回的背书结果后,把交易提交到共识模块,交易内容包含来自提案结果的读写操作集;所述共识模块识别交易集合中存在冲突的所有交易,计算每一个交易的读向量与写向量“按位与”运算的值,。如果计算结果不为零,那么表示两个交易之间存在读写集冲突。
在本公开的一种具体实施方式中,所述步骤S3包括步骤S31和步骤S32。
步骤S31、将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
步骤S32、根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
可以理解的是Tarjan算法是一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法。Johnson算法,又名约翰逊规则,是作业排序中的一种排序方法。
可以理解的是交易冲突图中存在环即是说明交易集合中存在循环依赖的冲突问题,根据算法Tarjan算法找出交易冲突图中的强连通子图,然后根据Johnson算法识别每一个强联通子图中存在的环。
在本公开的一种具体实施方式中,所述步骤S4包括步骤S41和步骤S42。
步骤S41、将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
步骤S42、将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
可以理解的是在识别出交易冲突图中存在的所有交易冲突环后,放弃所述交易冲突环中的部分交易,根据剩下的交易生成交易子图,并得到交易子图中所有的交易,对其进行重新排列执行顺序。
在本公开的一种具体实施方式中,所述步骤S4之后还包括步骤S5和步骤S6。
步骤S5、将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
步骤S6、接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
可以理解的是本发明放弃的交易会被放入新的区块中,重复进行重排序的步骤,直到该交易被执行。
实施例2
如图2所示,本实施例提供了一种车辆控制装置,所述装置包括第一获取单元701、第一处理单元702、第二处理单元703和第三处理单元704。
第一获取单元701,用于获取交易的读写数据集合;
第一处理单元702,用于将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;
第二处理单元703,用于根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;
第三处理单元704,用于根据所述交易冲突环,重新确定交易的执行顺序。
在本公开的一种具体实施方式中,所述第一获取单元701包括第一获取子单元7011和第一接收子单元7012.
第一获取子单元7011,用于获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
第一接收子单元7012,用于接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
在本公开的一种具体实施方式中,所述第一处理单元702包括第一处理子单元7021、第二处理子单元7022和第一判断子单元7023。
第一处理子单元7021,用于将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
第二处理子单元7022,用于将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
第一判断子单元7023,用于根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
在本公开的一种具体实施方式中,所述第二处理单元703包括第三处理子单元7031和第四处理子单元7032。
第三处理子单元7031,用于将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
第四处理子单元7032,用于根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
在本公开的一种具体实施方式中,所述第三处理单元704包括第五处理子单元7041和第六处理子单元7042。
第五处理子单元7041,用于将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
第六处理子单元7042,用于将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
在本公开的一种具体实施方式中,所述第三处理单元704之后还包括第四处理单元705和第一接收单元706。
第四处理单元705,用于将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
第一接收单元706,用于接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例3
相应于上面的方法实施例,本公开实施例还提供了一种交易重新排序设备,下文描述的一种交易重新排序设备与上文描述的一种交易重新排序方法可相互对应参照:
图3是根据一示例性实施例示出的一种交易重新排序设备800的框图。如图3所示,该交易重新排序设备800可以包括:处理器801,存储器802。该交易重新排序设备800还可以包括多媒体组件803,输入/输出(I/O)接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该交易重新排序设备800的整体操作,以完成上述的交易重新排序方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该交易重新排序设备800的操作,这些数据例如可以包括用于在该交易重新排序设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该交易重新排序设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,交易重新排序设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal ProcessingDevice,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的一种交易重新排序方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的交易重新排序方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由交易重新排序设备800的处理器801执行以完成上述的交易重新排序方法。
实施例4
相应于上面的方法实施例,本公开实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种交易重新排序方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的交易重新排序方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种交易重新排序方法,其特征在于,包括:
获取交易的读写数据集合;
将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;
根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;
根据所述交易冲突环,重新确定交易的执行顺序。
2.根据权利要求1所述的交易重新排序方法,其特征在于,所述获取交易的读写数据集合,包括:
获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
3.根据权利要求1所述的交易重新排序方法,其特征在于,所述将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易,包括:
将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
4.根据权利要求1所述的交易重新排序方法,其特征在于,所述根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,包括:
将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
5.根据权利要求1所述的交易重新排序方法,其特征在于,所述根据所述交易冲突环,重新确定交易的执行顺序,包括:
将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
6.根据权利要求1所述的交易重新排序方法,其特征在于,所述根据所述交易冲突环,重新确定交易的执行顺序,还包括:
将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
7.一种交易重新排序装置,其特征在于,包括:
第一获取单元,用于获取交易的读写数据集合;
第一处理单元,用于将所述交易的读写数据集合发送到共识模块进行处理,得到所述读写数据集合中的冲突交易;
第二处理单元,用于根据所述冲突交易生成交易冲突图,将所述交易冲突图输入计算模块进行计算和识别,得到所述交易冲突图的交易冲突环,所述交易冲突图为所述冲突交易之间写集修改读集的关系图,所述交易冲突环为所述交易冲突图内的冲突循环;
第三处理单元,用于根据所述交易冲突环,重新确定交易的执行顺序。
8.根据权利要求7所述的交易重新排序装置,其特征在于,所述装置包括:
第一获取子单元,用于获取客户端创建的交易提案,将所述客户端创建的交易提案发送到背书节点;
第一接收子单元,用于接收所述背书节点模拟的执行交易数据,所述执行交易数据包括读取键值和写入键值,基于所述读取键值和所述写入键值生成读写数据集合。
9.根据权利要求7所述的交易重新排序装置,其特征在于,所述装置包括:
第一处理子单元,用于将所述读写数据集合中的每个键的读集和写集看作为比特位的向量,得到每个交易的读向量和写向量;
第二处理子单元,用于将所述每个交易的读向量和写向量进行按位与运算,得到所述按位与运算的结果值;
第一判断子单元,用于根据所述按位与运算的结果值判断所述交易的读写数据集合的交易是否存在读写冲突,得到所述交易的读写数据集合中的冲突交易。
10.根据权利要求7所述的交易重新排序装置,其特征在于,所述装置包括:
第三处理子单元,用于将所述交易的读写数据集合的冲突交易进行汇总,得到所述交易的读写数据集合的交易冲突表,按照所述交易冲突表中的冲突关系生成交易冲突图;
第四处理子单元,用于根据Tarjan算法找出所述交易冲突图中的存在的强连通子图,然后把每个所述强连通子图独立放置,根据Johnson算法识别每个所述强连通子图中存在的交易冲突环。
11.根据权利要求7所述的交易重新排序装置,其特征在于,所述装置包括:
第五处理子单元,用于将拥有所述交易冲突环数量最多的交易进行删除,得到交易子集;
第六处理子单元,用于将所述交易子集发送到重排序模块进行处理,得到新的交易执行顺序。
12.根据权利要求7所述的交易重新排序装置,其特征在于,所述装置还包括:
第四处理单元,用于将重排序后的交易封装到新的区块中,并将所述区块发送到各组织的主节点;
第一接收单元,用于接收主节点对所述区块的验证结果,将所述验证结果写入本地账本中进行保存。
13.一种交易重新排序设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述交易重新排序方法的步骤。
14.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述交易重新排序方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483958.7A CN114253920A (zh) | 2021-12-07 | 2021-12-07 | 一种交易重新排序方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483958.7A CN114253920A (zh) | 2021-12-07 | 2021-12-07 | 一种交易重新排序方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253920A true CN114253920A (zh) | 2022-03-29 |
Family
ID=80791752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111483958.7A Pending CN114253920A (zh) | 2021-12-07 | 2021-12-07 | 一种交易重新排序方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253920A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564412A (zh) * | 2022-04-27 | 2022-05-31 | 北京微芯感知科技有限公司 | 区块链的确定***易并发调度方法及*** |
-
2021
- 2021-12-07 CN CN202111483958.7A patent/CN114253920A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564412A (zh) * | 2022-04-27 | 2022-05-31 | 北京微芯感知科技有限公司 | 区块链的确定***易并发调度方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237295B2 (en) | Automated event ID field analysis on heterogeneous logs | |
CN111368013B (zh) | 基于多账户的统一标识方法、***、设备和存储介质 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN113535720A (zh) | 一种块链式账本中的索引创建方法、装置及设备 | |
CN111881042B (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN107783766A (zh) | 对应用程序的文件进行清理的方法和装置 | |
CN113407284A (zh) | 导航界面的生成方法、装置、存储介质及电子设备 | |
CN114253920A (zh) | 一种交易重新排序方法、装置、设备及可读存储介质 | |
CN110334103A (zh) | 推荐服务的更新方法、提供装置、访问装置和推荐*** | |
CN112988600A (zh) | 业务场景测试方法、装置、电子设备及存储介质 | |
CN115757639A (zh) | 数据源同步方法、装置、电子设备及存储介质 | |
JP2013077124A (ja) | ソフトウェアテストケース生成装置 | |
CN112445461B (zh) | 一种业务规则生成方法、装置、电子设备和可读存储介质 | |
CN111444197B (zh) | 一种块链式账本中数据记录的验证方法、装置及设备 | |
CN111210279B (zh) | 一种目标用户预测方法、装置和电子设备 | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN114331167A (zh) | 一种冠军挑战者策略的管理方法、***、介质和设备 | |
CN113407180A (zh) | 一种配置页面生成方法、***、设备以及介质 | |
CN112749159A (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN112699372A (zh) | 漏洞处理方法、装置和计算机可读存储介质 | |
CN110275863A (zh) | 文件移动方法、装置及存储介质 | |
JP2019144873A (ja) | ブロック線図解析装置 | |
CN113537954B (zh) | 一种项目里程碑的处理方法、装置、存储介质及电子设备 | |
JP2014174921A (ja) | 情報処理システム、名寄せ判定方法及びプログラム |
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 |