CN109300032B - 区块生成方法、装置、设备及计算机可读存储介质 - Google Patents
区块生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109300032B CN109300032B CN201810948611.7A CN201810948611A CN109300032B CN 109300032 B CN109300032 B CN 109300032B CN 201810948611 A CN201810948611 A CN 201810948611A CN 109300032 B CN109300032 B CN 109300032B
- Authority
- CN
- China
- Prior art keywords
- node
- comparison
- transaction
- transaction information
- trading
- 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
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种区块生成方法、装置、设备及计算机可读存储介质,方法包括:接收交易信息,根据交易信息中包括的优先级对接收的交易信息进行排序;获取记账权后,根据排序结果在交易信息中确定目标交易信息,并根据目标交易信息生成区块。本发明提供的方法、装置、设备及计算机可读存储介质,在网络节点获取记账权之前,就已经对接收的交易信息进行排序,从而在网络节点获取记账权以后,可以直接根据排序结果确定目标交易信息,并根据目标交易信息生成区块,解决现有技术中网络节点在获取记账权后,再对交易信息进行排序,造成生成区块的时间长、效率低的问题。
Description
技术领域
本发明涉及区块链技术,尤其涉及一种区块生成方法、装置、设备及计算机可读存储介质。
背景技术
区块链技术具有防篡改和可追溯等特点,越来越多的数据以区块链的形式进行存储,例如交易信息的存储。
基于区块链构建的网络包括很多网络节点,每个节点收到交易信息后,将交易信息写入当前节点的缓冲区,节点获取记账权以后,根据排序策略对缓冲区内的交易信息进行排序,再获取需要的交易信息生成区块,并广播至其他节点。
但是,现有技术的方案中,每次生成区块都需要对交易信息进行排序,当交易信息数量较大时,排序时间较长,造成生成区块的效率较低的问题。
发明内容
本发明提供一种区块生成方法、装置、设备及计算机可读存储介质,以解决现有技术中交易信息数量较大时,根据交易信息生成区块的效率较低的问题。
本发明的第一个方面是提供一种区块生成方法,包括:
接收交易信息,根据所述交易信息中包括的优先级对接收的所述交易信息进行排序;
获取记账权后,根据排序结果在所述交易信息中确定目标交易信息,并根据所述目标交易信息生成区块。
本发明的另一个方面是提供一种区块生成装置,包括:
接收模块,用于接收交易信息,根据所述交易信息中包括的优先级对接收的所述交易信息进行排序;
确定模块,用于获取记账权后,根据排序结果在所述交易信息中确定目标交易信息;
生成模块,用于根据所述目标交易信息生成区块。
本发明的又一个方面是提供一种区块生成设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面所述的区块生成方法。
本发明的再一个方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述第一方面所述的区块生成方法。
本发明提供的区块生成方法、装置、设备及计算机可读存储介质的技术效果是:
本发明提供的区块生成方法、装置、设备及计算机可读存储介质,包括:接收交易信息,根据交易信息中包括的优先级对接收的交易信息进行排序;获取记账权后,根据排序结果在交易信息中确定目标交易信息,并根据目标交易信息生成区块。本发明提供的方法、装置、设备及计算机可读存储介质,在网络节点获取记账权之前,就已经对接收的交易信息进行排序,从而在网络节点获取记账权以后,可以直接根据排序结果确定目标交易信息,并根据目标交易信息生成区块,解决现有技术中网络节点在获取记账权后,再对交易信息进行排序,造成生成区块的时间长、效率低的问题。
附图说明
图1为本发明一示例性实施例示出的区块生成方法的流程图;
图2为本发明另一示例性实施例示出的区块生成方法的流程图;
图2A为本发明一示例性实施例示出的构建二叉树的方法的流程图;
图2B为本发明另一示例性实施例示出的构建二叉树的方法的流程图;
图2C为本发明又一示例性实施例示出的构建二叉树的方法的流程图;
图2D为本发明一示例性实施例示出的构建完成的二叉树结构图;
图2E为本发明一示例性实施例示出的重构后的二叉树结构图;
图2F为本发明另一示例性实施例示出的重构后的二叉树结构图;
图2G为本发明又一示例性实施例示出的重构后的二叉树结构图;
图3为本发明一示例性实施例示出的区块生成装置的结构图;
图4为本发明另一示例性实施例示出的区块生成装置的结构图;
图5为本发明一示例性实施例示出的区块生成设备的结构图。
具体实施方式
图1为本发明一示例性实施例示出的区块生成方法的流程图。
如图1所示,本实施例提供的区块生成方法包括:
步骤101,接收交易信息,根据交易信息中包括的优先级对接收的交易信息进行排序。
本实施例提供的方案基于区块链技术存储交易信息,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链***中实现不同节点之间建立信任、获取权益的数学算法。
其中,区块链网络中包括多个网络节点,这些网络节点间可以进行数据传输。
在一种实时方式中,网络节点可以既是发送交易信息的节点,又是接收交易信息的节点。例如,网络节点A可以生成交易信息,再将生成的交易信息广播至区块链网络,以使各个网络节点接收该交易信息,例如,网络节点B可以接收该交易信息。网络节点B也可以生成交易信息,再将生成的交易信息广播至区块链网络,以使其他网络节点能够接收到该交易信息,例如,网络节点A可以接收该交易信息。
在另一种实时方式中,网络节点可以只接收交易信息。可以由用户终端中设置的客户端生成交易信息,再通过用户终端将该交易信息发送至区块链网络中,从而使各个网络节点可以接收该交易信息。
具体的,交易信息中可以携带有交易的优先级,从而使网络节点根据优先级对各个交易信息进行排序。在生成交易信息时,可以根据交易的生成时间、交易类型、交易金额等多维度信息确定优先级,本实施例不对此进行限制。
进一步的,本实施例提供的方法中,网络节点接收到交易信息后,将交易信息存储在缓冲区(也称为交易池或待交易池),并根据交易信息的优先级对缓冲区内已有的交易信息进行排序。
实际应用时,若在网络节点接收交易信息时,缓冲区内没有交易信息,则接收的交易信息顺序为1。若在网络节点接收交易信息时,缓冲区内已有交易信息,则根据接收的交易信息以及缓冲区内已有的交易信息进行排序。例如,缓冲区内已有10个交易信息,且这10个交易信息有顺序关系,再次接收交易信息后,则将新接收的交易信息存储在缓冲区内,并重新对这11个交易信息进行排序。
其中,不对具体的排序方式进行限制。例如,可以在接收到交易信息后,遍历已有的交易信息的优先级,并根据接收的交易信息与已有的交易信息确定排序。
具体的,网络节点接收的交易信息可以为1个也可以为多个。
可选的,网络节点在接收交易信息后,还可以对交易信息进行校验,并将校验通过的交易信息放入缓冲区。
步骤102,获取记账权后,根据排序结果在交易信息中确定目标交易信息,并根据目标交易信息生成区块。
具体的,区块链网络中包括多个网络节点,可以设定各个网络节点获取记账权的规则,例如,各个网络节点可以竞争记账权,还可以根据轮询算法向各个网络节点分配记账权限。
进一步的,网络节点获取记账权后,根据排序结果在交易信息中确定目标交易信息。
实际应用时,可以预先设定根据交易信息排序结果确定目标交易信息的规则,例如,获取排序前5名的交易信息。由于步骤101中已经对接收的所有交易信息进行了排序,因此,可以直接根据排序结果在交易信息中确定目标交易信息。无需在获取记账权后,再对交易信息进行排序,从而解决区块生成效率较低的问题。
在确定了目标交易信息后,可以根据确定的目标交易信息生成区块,具体生成区块的方式可以采用现有技术中的方式。
其中,网络节点还可以把生成的区块广播至区块链网络,以使其他网络节点能够收到区块,并将接收的区块写入区块链。
本实施例提供的方法用于生成区块,该方法由安装有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本实施例提供的区块生成方法,包括:接收交易信息,根据交易信息中包括的优先级对接收的交易信息进行排序;获取记账权后,根据排序结果在交易信息中确定目标交易信息,并根据目标交易信息生成区块。本实施例提供的方法,在网络节点获取记账权之前,就已经对接收的交易信息进行排序,从而在网络节点获取记账权以后,可以直接根据排序结果确定目标交易信息,并根据目标交易信息生成区块,解决现有技术中网络节点在获取记账权后,再对交易信息进行排序,造成生成区块的时间长、效率低的问题。
图2为本发明另一示例性实施例示出的区块生成方法的流程图。
如图2所示,本实施例提供的区块生成方法,包括:
步骤201,接收交易信息。
步骤201与步骤101的具体原理和实现方式类似,此处不再赘述。
步骤202,判断缓冲区中是否包括根交易节点。
其中,本实施例提供的方法中,可以基于二叉树结构对交易信息进行排序。在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。本实施例中,二叉树结构中的每个节点为一个交易信息,即每个节点都是交易节点。
进一步的,可以在网络节点的缓冲区(也称为交易池或待交易池)内构建二叉树。该缓冲区可以是预先设置的区域,可以用来存储交易信息以及二叉树结构。
实际应用时,二叉树结构包括根节点,在根节点的基础上分叉得到子树,每个子树又可以分叉得到新的子树,从而构成二叉树结构,因此,根节点是二叉树结构的初始节点。还可以预先定义二叉树中各个节点位置之间的优先级关系,例如,左子树的优先级高于右子树的优先级。
可以判断缓冲区内是否包括根交易节点,若不包括,则说明缓冲区内没有二叉树结构,则执行步骤203。若缓冲区内包括根交易节点,则说明缓冲区内有二叉树结构,此时,可以执行步骤204。
步骤203,将接收的交易信息确定为根交易节点。
其中,本实施例提供的方法中,基于二叉树结构的形式对交易信息进行排序。当缓冲区内没有根节点时,可以认为缓冲区内还没有二叉树结构,此时,可以直接将接收的交易信息确定为二叉树的根交易节点。再次接收到交易信息后,可以基于当前的根交易节点确定新接收的交易信息的节点位置。
步骤204,将根交易节点确定为对比交易节点。
具体的,当交易信息较多时,二叉树的结构也会比较复杂,因此,可以将二叉树根节点确定为对比交易节点,再该对比交易节点确定交易信息在二叉树中的位置。
步骤205,比对对比交易节点与交易信息的优先级,根据比对结果构建二叉树结构。
进一步的,二叉树中的每个节点均是一个交易信息,因此,对比交易节点具有相应的优先级,可以比对对比交易与接收的交易信息的优先级高低,根据比对结果确定交易信息在二叉树中的位置,从而构建二叉树结构。例如,缓冲区内的二叉树结构仅包括一个根交易节点,则将该根交易节点确定为对比交易节点,并根据比对结果确定交易信息相对于对比交易节点的位置关系。
实际应用时,可以根据预先定义二叉树中各个节点位置之间的优先级关系,确定交易信息相对于对比交易节点的位置关系。例如,预先定义二叉树中,左子树的优先级高于右子树的优先级,则若交易信息的优先级高于对比交易节点的优先级,则可以确定交易信息位于该对比交易的左子树结构中。
其中,比对结果不同,构建二叉树的具体实现方式也不同。
图2A为本发明一示例性实施例示出的构建二叉树的方法的流程图。
如图2A所示,若交易信息的优先级与对比交易节点的优先级相同,则执行一下步骤:
步骤2051,将交易信息确定为对比交易节点的平级节点。
若交易信息与对比交易节点的优先级相同,则认为二者是平级节点,即级别相同的节点。
步骤2052,根据对比交易节点的左子树和/或右子树确定交易信息的左子树和/或右子树。
由于对比交易节点与交易信息的级别相同,因此,可以将对比交易节点的左子树和/或右子树也作为交易信息的左子树和/或右子树。此处可以不直接将对比交易节点的子树连接在交易信息上,而是将对比交易节点与交易信息的关系确定为同级节点的关系。当对比交易节点被删除后,可以将其子树连接在其同级节点上。
其中,若对比交易节点包括多个同级节点时,可以按照添加进二叉树的时间顺序对这几个同级节点进行排序,比如对比交易节点为A,确定的第一个同级节点可以为A1,确定的第二个同级节点可以为A2,以此类推。当对比交易节点A被删除时,将A的子树连接在同级节点A1上,当A1被删除后,则将A1的子树连接在A2上,以此类推。
图2B为本发明另一示例性实施例示出的构建二叉树的方法的流程图。
如图2B所示,若所述交易信息的优先级高于所述对比交易节点的优先级,则执行以下步骤:
步骤2053,判断对比交易节点是否有左子树。
其中,此处的左子树可以仅包括一个交易节点,也可以包括多个交易节点,例如,对比交易节点A的左子树可以仅包括交易节点A1,A与A1连接。对比交易节点A的左子树也可以包括B、C、D三个交易节点,其中,B与A连接,C、D分别是B的左子树和右子树。
具体的,本实施例提供的方法中,左子树的优先级高于右子树的优先级,即对于对比交易节点来说,其左子树包括的交易节点的优先级高于该对比交易节点的优先级,对比交易节点的优先级高于其右子树包括的交易节点的优先级。
进一步的,由于交易信息的优先级高于对比交易节点的优先级,因此,初步可以确定交易信息属于对比交易节点的左子树部分。
实际应用时,可以判断对比交易节点是否有左子树,若是,则执行步骤2054,否则,执行步骤2056。
步骤2054,根据对比交易节点的左子树确定新的对比交易节点。
其中,交易信息的优先级高于对比交易节点的优先级时,只能够确定出交易信息位于对比交易节点左子树的位置,若对比交易节点已有左子树,则该左子树中至少包括一个交易节点,此时,可以根据对比交易节点的左子树确定新的对比交易节点,并基于新的对比交易节点进一步的确定交易信息的位置。
具体的,可以将左子树中直接与对比交易节点连接的交易节点确定为新的对比交易节点。例如对比交易节点A的左子树包括B、C、D三个交易节点,其中,B与A连接,C、D分别是B的左子树和右子树,则将交易节点B确定为新的对比交易节点。
进一步的,对于该左子树来说,其中与对比交易节点直接相邻的交易节点可以认为是该左子树的根节点,此时,将这个根节点确定为新的对比交易节点,可以进一步的确定交易信息的位置。
实际应用时,基于上述步骤,每个对比交易节点仅会有一个与其连接的左子树,且该左子树中包括的交易节点的优先级高于该对比交易节点的优先级。
步骤2055,根据新的对比交易节点继续执行比对对比交易与交易信息的优先级的步骤。
步骤2055与步骤205中的比对方式相同,并继续基于比对结果构建二叉树结构。
步骤2056,将交易信息确定为对比交易节点的左子树。
由于对比交易节点没有左子树,则说明在二叉树结构中,对比交易节点的子树中,没有比其优先级更大的交易节点,而交易信息属于对比交易节点的左子树部分,且交易信息的优先级大于该交易节点的优先级,因此,可以将交易信息确定为对比交易节点的左子树。
图2C为本发明又一示例性实施例示出的构建二叉树的方法的流程图。
如图2C所示,若交易信息的优先级低于所述对比交易节点的优先级,则执行以下步骤:
步骤2057,判断对比交易节点是否有右子树。
其中,此处的右子树可以仅包括一个交易节点,也可以包括多个交易节点。
具体的,本实施例提供的方法中,左子树的优先级高于右子树的优先级,即对于对比交易节点来说,其左子树包括的交易节点的优先级高于该对比交易节点的优先级,对比交易节点的优先级高于其右子树包括的交易节点的优先级。
进一步的,由于交易信息的优先级低于对比交易节点的优先级,因此,初步可以确定交易信息属于对比交易节点的右子树部分。
实际应用时,可以判断对比交易节点是否有右子树,若是,则执行步骤2058,否则,执行步骤2060。
步骤2058,根据对比交易节点的右子树确定新的对比交易节点。
其中,交易信息的优先级低于对比交易节点的优先级时,只能够确定出交易信息位于对比交易节点右子树的位置,若对比交易节点已有右子树,则该右子树中至少包括一个交易节点,此时,可以根据对比交易节点的右子树确定新的对比交易节点,并基于新的对比交易节点进一步的确定交易信息的位置。
具体的,可以将右子树中直接与对比交易节点连接的交易节点确定为新的对比交易节点。
进一步的,对于该右子树来说,其中与对比交易节点直接相邻的交易节点可以认为是该右子树的根节点,此时,将这个根节点确定为新的对比交易节点,可以进一步的确定交易信息的位置。
实际应用时,基于上述步骤,每个对比交易节点仅会有一个与其连接的右子树,且该右子树中包括的交易节点的优先级低于该对比交易节点的优先级。
步骤2059,根据新的对比交易继续执行比对对比交易节点与交易信息的优先级的步骤。
步骤2055与步骤205中的比对方式相同,并继续基于比对结果构建二叉树结构。
步骤2060,将交易信息确定为对比交易节点的右子树。
由于对比交易节点没有右子树,则说明在二叉树结构中,对比交易节点的子树中,没有比其优先级更小的交易节点,而交易信息属于对比交易节点的右子树部分,且交易信息的优先级小于该交易节点的优先级,因此,可以将交易信息确定为对比交易节点的右子树。
基于步骤2051-2060,可以根据接收的交易信息的优先级构建二叉树结构,使得二叉树结构中包括优先级高低的信息。并且,在接收交易信息后,可以根据根据优先级大小确定交易信息所述的位置范围,如位于左子树还是右子树,无需遍历已由二叉树结构中的所有交易节点,从而减小数据处理量,能够快速在二叉树中确定交易信息的位置。
步骤206,获取记账权后,根据预设算法在二叉树结构中确定目标交易节点。
其中,可以预先设置算法,用于在网络节点获取记账权以后,从预先构建好的二叉树结构中直接确定目标交易节点。由于二叉树结构中包括优先级高低的信息,且基于优先级信息确定每个交易节点的左子树、右子树,使得网络节点在获取记账权以后,无需对交易信息进行排序,就能够基于二叉树中包括的排序结果确定目标交易节点。
具体的,该预设算法可以是二叉树的中序遍历算法及链表的遍历的结合算法。二叉树的中序遍历法首先遍历左子树,然后访问根结点,最后遍历右子树。由于本实施例提供的方法中,左子树的优先级高于根节点优先级,根节点优先级高于右子树优先级,因此,可以采用中序遍历法,能够按照优先级的从高到底的顺序遍历交易节点。
进一步的,还可以设置确定目标交易节点的策略,例如,每次获取10个目标交易节点,则可以根据预设算法遍历10个目标交易节点,无需遍历全部的节点。
实际应用时,若二叉树结构中包括平级节点,则在根据预设算法遍历平级节点时,按照平级节点加入二叉树的顺序进行遍历。例如,确定目标交易节点的策略中限定每次获取10个目标节点,在遍历的第9个交易节点为A,交易节点A具有第一个平级节点A1,第二个平级节点A2,此时,遍历的第10个交易节点为A的第一个平级节点A1,即将第一个平级节点A1确定为目标交易节点。
步骤207,根据目标交易信息生成区块。
步骤207与步骤102中生成区块的方式相似,不再赘述。
可选的,本实施例提供的方法还可以包括:
步骤208,删除二叉树结构中的目标交易节点,并重构二叉树中剩余的交易节点的连接关系。
其中,为了避免根据同一交易节点生成多次区块,则可以删除二叉树结构中的目标交易节点。具体可以通过接触目标交易节点与其他交易节点间的关系删除二叉树结构中的目标交易节点。
具体的,可以在缓冲区内仍然存储该目标交易节点对应的交易信息,只是删除二叉树结构中的目标交易节点。
进一步的,当目标交易节点被删除后,则重构与该目标交易节点相关的其他交易节点的连接关系。
实际应用时,若目标交易节点具有同级节点,则将该目标交易节点的左子树、右子树连接在其同级节点上;若目标交易节点没有同级节点,则将该目标交易的右子树连接在该目标交易节点的根节点上。本实施例提供的方法中,是按照优先级高低顺序确定目标交易节点的,因此,剩余的交易节点的优先级一定低于目标交易节点,而目标交易节点的左子树中的节点优先级高于目标交易节点,因此,剩余的交易节点中不会包括目标交易节点的左子树。
下面,以一具体的实施例详细说明图2所示出的区块生成方法。
假设网络节点接收交易信息的顺序为:5-3-1-6-8-9-7-8-2-4,其中,数字代表每个交易信息的优先级,为了便于说明,用优先级代表每个交易信息。
接收交易信息“5”。
判断缓冲区中是否包括根交易节点,判断结果为否。
将接收的交易信息“5”确定为根交易节点。
接收交易信息“3”。
判断缓冲区中是否包括根交易节点,判断结果为是。
将根交易节点“5”确定为对比交易节点。
比对对比交易节点“5”与交易信息“3”的优先级,比对结果为交易信息的优先级低于对比交易节点的优先级。
判断对比交易节点“5”是否有右子树,判断结果为否。
将交易信息“3”确定为对比交易节点“5”的右子树。
接收交易信息“1”。
判断缓冲区中是否包括根交易节点,判断结果为是。
将根交易节点“5”确定为对比交易节点。
比对对比交易节点“5”与交易信息“1”的优先级,比对结果为交易信息的优先级低于对比交易节点的优先级。
判断对比交易节点“5”是否有右子树,判断结果为是。
根据对比交易节点“5”的右子树确定新的对比交易节点,新的对比交易节点为“3”。
比对对比交易节点“3”与交易信息“1”的优先级,比对结果为交易信息的优先级低于对比交易节点的优先级。
判断对比交易节点“3”是否有右子树,判断结果为否。
将交易信息“1”确定为对比交易节点“3”的右子树。
经过多轮上述步骤的循环,能够根据上述交易信息构建二叉树结构,可以参考图2D,图2D为本发明一示例性实施例示出的构建完成的二叉树结构图。
删除二叉树结构中的目标交易节点并重构二叉树中剩余交易节点的连接关系时,存在以下三种情况:
第一种,仅解除目标交易节点的连接关系。
例如,上述例子中,仅确定一个目标交易节点,则目标交易节点为“9”,解除“9”与其他交易节点间的关系,可以参考图2E,图2E为本发明一示例性实施例示出的重构后的二叉树结构图。
第二种,目标交易节点具有平级节点。
例如,上述例子中,需要确定两个目标交易节点,则目标交易节点为“8、9”,此时,目标交易节点8具有平级节点8(1)。此时,解除交易节点8、9与其他交易节点间的连接关系,并且,将剩余的与交易节点8连接的节点,连接在平级节点8(1)上,可以参考图2F,图2F为本发明另一示例性实施例示出的重构后的二叉树结构图。
第三种,目标交易节点有右子树。
当目标交易节点有右子树时,由于目标交易节点被删除,导致该右子树脱离二叉树结构,此时,可以确定目标交易节点的上层节点,即目标交易节点的根节点,将该右子树连接在确定的根节点上。例如,上述例子中,需要确定三个目标交易节点,则目标交易节点为“8、8(1)、9”,此时,目标交易节点“8”具有右子树节点“7”,则将右子树节点“7”与“8”的根节点“6”连接,可以参考图2G,图2G为本发明又一示例性实施例示出的重构后的二叉树结构图。
图3为本发明一示例性实施例示出的区块生成装置的结构图。
如图3所示,本实施例提供的区块生成装置,包括:
接收模块31,用于接收交易信息,根据所述交易信息中包括的优先级对接收的所述交易信息进行排序;
确定模块32,用于获取记账权后,根据排序结果在所述交易信息中确定目标交易信息;
生成模块33,用于根据所述目标交易信息生成区块。
本实施例提供的区块生成装置,包括接收模块,用于接收交易信息,根据交易信息中包括的优先级对接收的交易信息进行排序;确定模块,用于获取记账权后,根据排序结果在交易信息中确定目标交易信息;生成模块,用于根据目标交易信息生成区块。本发明提供的装置,在网络节点获取记账权之前,就已经对接收的交易信息进行排序,从而在网络节点获取记账权以后,可以直接根据排序结果确定目标交易信息,并根据目标交易信息生成区块,解决现有技术中网络节点在获取记账权后,再对交易信息进行排序,造成生成区块的时间长、效率低的问题。
本实施例提供的区块生成装置的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。
图4为本发明另一示例性实施例示出的区块生成装置的结构图。
如图4所示,在上述实施例的基础上,本实施例提供的区块生成装置,
所述接收模块31,包括:
判断单元311,用于判断缓冲区中是否包括根交易节点,若是,则将所述根交易节点确定为对比交易节点;
比对单元312,用于比对所述对比交易节点与所述交易信息的优先级;
构建单元313,用于根据比对结果构建二叉树结构。
可选的,所述构建单元313具体用于:
若所述交易信息的优先级与所述对比交易节点的优先级相同,则:
将所述交易信息确定为所述对比交易节点的平级节点,并根据所述对比交易节点的左子树和/或右子树确定所述交易信息的左子树和/或右子树;
若所述交易信息的优先级高于所述对比交易节点的优先级,则:
判断所述对比交易节点是否有左子树;
若所述对比交易节点有左子树,则根据所述对比交易节点的左子树确定新的对比交易节点,所述比对单元根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤;
若所述对比交易节点没有左子树,则将所述交易信息确定为所述对比交易节点的左子树;
若所述交易信息的优先级低于所述对比交易节点的优先级,则:
判断所述对比交易节点是否有右子树;
若所述对比交易节点有右子树,则根据所述对比交易节点的右子树确定新的对比交易节点,所述比对单元根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤;
若所述对比交易节点没有右子树,则将所述交易信息确定为所述对比交易节点的右子树。
可选的,所述确定模块32,包括:
确定单元321,用于根据预设算法在所述二叉树结构中确定目标交易节点。
可选的,所述区块生成装置还包括删除模块34,用于:
删除所述二叉树结构中的所述目标交易节点,并重构所述二叉树中剩余的交易节点的连接关系。
本实施例提供的区块生成装置的具体原理和实现方式均与图2所示的实施例类似,此处不再赘述。
图5为本发明一示例性实施例示出的区块生成设备的结构图。
如图5所示,本实施例提供的区块生成设备包括:
存储器51;
处理器52;以及
计算机程序;
其中,所述计算机程序存储在所述存储器51中,并配置为由所述处理器52执行以实现如上所述的任一种区块生成方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如上所述的任一种区块生成方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种区块生成方法,其特征在于,包括:
接收交易信息,判断缓冲区中是否包括根交易节点,若是,则将所述根交易节点确定为对比交易节点;
比对所述对比交易节点与所述交易信息的优先级,根据比对结果构建二叉树结构;
获取记账权后,根据预设算法在所述二叉树结构中确定目标交易信息,并根据所述目标交易信息生成区块;
所述根据所述比对结果构建所述二叉树,包括:
若所述交易信息的优先级高于所述对比交易节点的优先级,则判断所述对比交易节点是否有左子树,若是,则根据所述对比交易节点的左子树确定新的对比交易节点,并根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤;
若所述交易信息的优先级低于所述对比交易节点的优先级,则判断所述对比交易节点是否有右子树,若是,则根据所述对比交易节点的右子树确定新的对比交易节点,并根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤。
2.根据权利要求1所述的方法,其特征在于,所述根据所述比对结果构建所述二叉树,包括:
若所述交易信息的优先级与所述对比交易节点的优先级相同,则:
将所述交易信息确定为所述对比交易节点的平级节点,并根据所述对比交易节点的左子树和/或右子树确定所述交易信息的左子树和/或右子树。
3.根据权利要求1所述的方法,其特征在于,若所述对比交易节点没有左子树,则将所述交易信息确定为所述对比交易节点的左子树。
4.根据权利要求1所述的方法,其特征在于,若所述对比交易节点没有右子树,则将所述交易信息确定为所述对比交易节点的右子树。
5.根据权利要求1所述的方法,其特征在于,还包括:
删除所述二叉树结构中的目标交易节点,并重构所述二叉树中剩余的交易节点的连接关系,所述目标交易节点是根据预设算法在所述二叉树结构中所确定的。
6.一种区块生成装置,其特征在于,包括:
接收模块,用于接收交易信息,根据所述交易信息中包括的优先级对接收的所述交易信息进行排序;
确定模块,用于获取记账权后,根据排序结果在所述交易信息中确定目标交易信息;
生成模块,用于根据所述目标交易信息生成区块;
所述接收模块,包括:
判断单元,用于判断缓冲区中是否包括根交易节点,若是,则将所述根交易节点确定为对比交易节点;
比对单元,用于比对所述对比交易节点与所述交易信息的优先级;
构建单元,用于根据比对结果构建二叉树结构;
所述确定模块,包括:
确定单元,用于根据预设算法在所述二叉树结构中确定目标交易节点;
所述构建单元具体用于:
若所述交易信息的优先级高于所述对比交易节点的优先级,则判断所述对比交易节点是否有左子树;
若所述对比交易节点有左子树,则根据所述对比交易节点的左子树确定新的对比交易节点,所述比对单元根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤;
若所述交易信息的优先级低于所述对比交易节点的优先级,则:
判断所述对比交易节点是否有右子树;
若所述对比交易节点有右子树,则根据所述对比交易节点的右子树确定新的对比交易节点,所述比对单元根据所述新的对比交易节点继续执行比对所述对比交易节点与所述交易信息的优先级的步骤。
7.根据权利要求6所述的装置,其特征在于,所述构建单元具体用于:
若所述交易信息的优先级与所述对比交易节点的优先级相同,则:
将所述交易信息确定为所述对比交易节点的平级节点,并根据所述对比交易节点的左子树和/或右子树确定所述交易信息的左子树和/或右子树;
若所述对比交易节点没有左子树,则将所述交易信息确定为所述对比交易节点的左子树;
若所述对比交易节点没有右子树,则将所述交易信息确定为所述对比交易节点的右子树。
8.根据权利要求6所述的装置,其特征在于,还包括删除模块,用于:
删除所述二叉树结构中的所述目标交易节点,并重构所述二叉树中剩余的交易节点的连接关系。
9.一种区块生成设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如权利要求1-5任一种所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如权利要求1-5任一种所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948611.7A CN109300032B (zh) | 2018-08-20 | 2018-08-20 | 区块生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948611.7A CN109300032B (zh) | 2018-08-20 | 2018-08-20 | 区块生成方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109300032A CN109300032A (zh) | 2019-02-01 |
CN109300032B true CN109300032B (zh) | 2022-12-02 |
Family
ID=65165302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810948611.7A Active CN109300032B (zh) | 2018-08-20 | 2018-08-20 | 区块生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109300032B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111080298B (zh) * | 2019-12-26 | 2023-12-29 | 电子科技大学 | 一种适用于能源区块链的区块生成与交易验证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6504848B1 (en) * | 2001-06-13 | 2003-01-07 | Interdigital Communications Corporation | Binary-tree method and system for multiplexing scheduling |
CN102663061B (zh) * | 2012-03-30 | 2013-11-27 | Ut斯达康通讯有限公司 | 一种大容量查找表快速排序和查找装置及其实现方法 |
US10515409B2 (en) * | 2016-03-23 | 2019-12-24 | Domus Tower, Inc. | Distributing work load of high-volume per second transactions recorded to append-only ledgers |
CN106534085B (zh) * | 2016-10-25 | 2019-09-06 | 杭州云象网络技术有限公司 | 一种基于区块链技术的隐私保护方法 |
CN106991164A (zh) * | 2017-03-31 | 2017-07-28 | 北京京东金融科技控股有限公司 | 基于区块链的用于金融数据处理的方法、装置及电子设备 |
-
2018
- 2018-08-20 CN CN201810948611.7A patent/CN109300032B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109300032A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200167366A1 (en) | Data processing method and device | |
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
US9575809B2 (en) | Distributed stochastic clustering for automated formation of connected networks of agents | |
US11349824B2 (en) | Block sequencing method and system based on tree-graph structure, and data processing terminal | |
EP2458788B1 (en) | Method, device and system for processing network mapping identifiers and method for selecting peer nodes | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及*** | |
CN108924192B (zh) | 数据中心网络下基于伪树结构的最优任务调度方法及*** | |
CN108881354A (zh) | 一种推送信息存储方法、装置、服务器和计算机存储介质 | |
CN109246190B (zh) | 网络寻址方法、数据编辑方法、装置及存储介质 | |
CN105991596B (zh) | 一种访问控制方法和*** | |
Hayes et al. | The forgiving graph: a distributed data structure for low stretch under adversarial attack | |
CN104246720B (zh) | 确定用于去重复的段边界 | |
CN111026765A (zh) | 严格平衡二叉树的动态处理方法、设备、存储介质及装置 | |
CN112084500A (zh) | 病毒样本的聚类方法、装置、电子设备和存储介质 | |
CN109300032B (zh) | 区块生成方法、装置、设备及计算机可读存储介质 | |
Mordacchini et al. | Hivory: Range queries on hierarchical voronoi overlays | |
CN108632386B (zh) | 一种区块链节点集群搭建方法及装置 | |
CN108696418B (zh) | 一种社交网络中隐私保护方法及装置 | |
CN110765073B (zh) | 分布式存储***的文件管理方法、介质、设备及装置 | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN113468383B (zh) | 家族关系图谱的搜索方法、装置、电子设备及存储介质 | |
CN112817980B (zh) | 一种数据索引处理方法、装置、设备及存储介质 | |
CN112187743B (zh) | 一种基于ip地址最长前缀的网络策略匹配方法及*** | |
CN114791985A (zh) | 域名匹配方法及装置、前缀树更新方法及装置 | |
KR20230063629A (ko) | 합의 기반의 연합 학습 방법 |
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 |