CN109165324A - 一种交易数据封装方法及相关装置 - Google Patents
一种交易数据封装方法及相关装置 Download PDFInfo
- Publication number
- CN109165324A CN109165324A CN201810947650.5A CN201810947650A CN109165324A CN 109165324 A CN109165324 A CN 109165324A CN 201810947650 A CN201810947650 A CN 201810947650A CN 109165324 A CN109165324 A CN 109165324A
- Authority
- CN
- China
- Prior art keywords
- transaction
- trading volume
- limits value
- transaction data
- volume limits
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种交易数据封装方法,每预设周期内,都会对到达区块链节点设备的交易数量进行判断,如果该数量已经超过了当前设置的第一交易量限制值,则根据当前交易数量调整限制值,并利用调整后的第二交易量限制值来完成对待封装的交易数据进行封装的操作,从而使交易量限制值可以根据实际交易数量来调整,使得实际每次封装的交易数量可以根据待封装的实际交易数量来调整,使封装交易数据的次数得到减少,从而整体缩短了交易数据封装的时间,提高了整体的交易数据封装速度。
Description
技术领域
本申请涉及区块链技术领域,更具体地说,涉及一种交易数据封装方法、系统、区块节点设备及计算机可读存储介质。
背景技术
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
目前区块链技术中,通常通过共识算法将一笔交易打包进区块中,其中,“共识”的意思是指区块链中的参与节点就某一区块链状态达成共同的认识。现有的共识算法包括PoW(Proof of Work,工作证明)、PoS(Proof of Stake,股权证明)、DPoS(Delegated Proofof Stake,委任权益证明)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)。
当出现TPS(Transaction Per Second,每秒交易量)较高的任务时,利用现有的共识算法对交易进行打包的速度十分慢,
因此,如何提高交易打包速度,是本领域技术人员需要解决的问题。
发明内容
本申请的目的在于提供一种交易数据封装方法、系统、区块节点设备及计算机可读存储介质,以解决如何提高交易打包速度的问题。
为实现上述目的,本申请实施例提供了如下技术方案:
一种交易数据封装方法,应用于区块链节点设备,所述方法包括:
获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;判断所述交易数量是否小于或等于第一交易量限制值;
若是,则将所述交易数据封装为1个区块;
若否,则根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
其中,所述根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装,包括:
将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据;
根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值;
到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
其中,所述第二交易量限制值大于或等于所述剩余交易数据的数量。
其中,所述第二交易量限制值大于或等于所述交易数量,所述根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装,包括:
根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。
其中,所述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。
其中,在所述判断所述交易数量是否小于或等于第一交易量限制值之后,所述方法还包括:
检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;
则所述将所述交易数据封装为1个区块,包括:
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述将所述交易数据封装为1个区块的步骤;
所述利用所述第二交易量限制值完成所述交易数据的封装,包括:
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
其中,所述判断所述交易数量是否小于或等于第一交易量限制值之前,所述方法还包括:
判断所述交易数量是否为0;
若否,则执行所述判断所述交易数量是否小于或等于第一交易量限制值的步骤。
本申请还提供了一种交易数据封装系统,包括:
获取模块,用于获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;
第一判断模块,用于判断所述交易数量是否小于或等于第一交易量限制值;
第一封装模块,用于当所述交易数量小于或等于所述第一交易量限制值时,将所述交易数据封装为1个区块;
第二封装模块,用于当所述交易数量大于所述第一交易量限制值时,根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
其中,所述第二封装模块包括:
第一封装单元,用于将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据;
调整单元,用于根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值;
第二封装单元,用于到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
其中,所述第二交易量限制值大于或等于所述剩余交易数据的数量。
其中,所述所述第二交易量限制值大于或等于所述交易数量;所述第二封装模块具体用于根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。
其中,所述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。
其中,还包括:
检测模块,用于检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
其中,还包括:
第二判断模块,用于判断所述交易数量是否为0;若否,则执行所述判断所述交易数量是否小于或等于第一交易量限制值的步骤。
本申请还提供了一种区块链节点设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述交易数据封装方法的步骤。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述交易数据封装方法的步骤。
通过以上方案可知,本申请提供的一种交易数据封装方法,应用于区块链节点设备,所述方法包括:获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;判断所述交易数量是否小于或等于第一交易量限制值;若是,则将所述交易数据封装为1个区块;若否,则根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
由此可见,本申请提供的一种交易数据封装方法,每预设周期内,都会对到达区块链节点设备的交易数量进行判断,如果该数量已经超过了当前设置的第一交易量限制值,则根据当前交易数量调整限制值,并利用调整后的第二交易量限制值来完成对待封装的交易数据进行封装的操作,从而使交易量限制值可以根据实际交易数量来调整,使得实际每次封装的交易数量可以根据待封装的实际交易数量来调整,使封装交易数据的次数得到减少,从而整体缩短了交易数据封装的时间,提高了整体的交易数据封装速度。
本申请还提供了一种交易数据系统、区块链节点设备及计算机可读存储介质,同样可以实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种交易数据封装方法流程图;
图2为本申请实施例公开的一种具体的交易数据封装方法流程图;
图3为本申请实施例公开的一种具体的交易数据封装方法流程图;
图4为本申请实施例公开的一种具体的交易数据封装方法流程图;
图5为本申请实施例公开的一种交易数据封装系统结构示意图;
图6为本申请实施例公开的一种区块链节点设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术的共识算法中,通常设置的每个区块容纳的交易量是固定不变的,无论当前需要被封装为区块的交易数据有多少,每次封装的交易量都是固定的值,未被封装的交易就进行排队,等待下一次的封装,直至所有交易被封装完成。当区块链的TPS(每秒交易量)较高时,将交易数据封装为区块的过程就会变得十分漫长,尤其是在例如私有链、联盟链这样的节点数有限的区块链,由于节点数较少,因此达到共识的时间就会较短,TPS(每秒交易量)就会增加,对交易数据封装完成的时间就会变长。
本申请公开了一种交易数据封装方法、系统、区块节点设备及计算机可读存储介质,以解决如何提高交易数据封装速度的问题。
本申请在每预设周期内,都会对到达区块链节点设备的交易数量进行判断,如果该数量已经超过了当前设置的第一交易量限制值,则根据当前交易数量调整限制值,并利用调整后的第二交易量限制值来完成对待封装的交易数据进行封装的操作,从而使交易量限制值可以根据实际交易数量来调整,使得实际每次封装的交易数量可以根据待封装的实际交易数量来调整,使封装交易数据的次数得到减少,从而整体缩短了交易数据封装的时间,提高了整体的交易数据封装速度。
参见图1,本申请实施例提供的一种交易数据封装方法,具体包括:
S101,获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量。
在本方案中,预先设定作为出块时间的预设周期,出块时间限定间隔多长时间对当前已到达区块链节点的交易数据进行一次封装操作。例如,出块时间为T,每经过时间T就对当前已到达区块链节点的交易完成封装操作,其中,封装操作是指将交易打包进区块。
区块链节点设备每到达预设周期时,就会获取该预设周期内已到达区块链节点设备的交易信息,其中交易信息中包括了交易数据和交易数量。交易数据即是交易的具体内容,交易数量即是预设周期内,到达区块链节点设备的交易的总量。
需要说明的是,在区块链中,对交易数据进行封装上链操作的是具有记账权限的记账节点,也称作共识节点。在本方案提供的一种具体的实施方式中,上述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。在区块链中,每一个节点均会收到记账节点投票的信息,在收到该信息后参与记账节点的投票,被投票数量最高的节点即是选举出的记账节点,只有记账节点有记账权,其他节点只同步记账节点的数据。
进一步需要说明的是,针对不同的区块链可以利用不同的方法确定记账节点的备选节点。作为优选实施例,当区块链为有限节点数的区块链时,记账节点为在预设备选节点中确定的投票数量最高的一个备选节点。例如私有链、联盟链,其节点是可控的,因此可以由区块链的参与方共同协商出多个备选节点,然后在备选节点中通过投票确定出投票数量最高的一个节点,作为记账节点,因此,在本实施方式中,备选节点是预先确定出的参与方都认同的节点,因此在每一次进行数据封装操作时,无需再通过所有节点进行竞争的机制选举备选节点,节省了备选节点确定的时间,从而加快了数据封装操作的速度。
由区块链的参与方共同协商出多个备选节点的操作可以有两种方法来完成,即线上协商与线下协商,线上协商即通过投票选举的方式来确定备选节点,线下协商就是通过区块链参与方直接的直接沟通协商确定,当然也可以有其他的方式来确定备选节点,具体方法可以依据实际来进行选择,此处不做具体限定。
S102,判断所述交易数量是否小于或等于第一交易量限制值。
需要说明的是,交易量限制值用来限定区块容纳的交易量,例如,交易限制值为10000,则表示区块最多可以封装10000笔交易,那每次最多可以封装10000笔交易。
在本方案中,不是按照交易限制值直接对当前已到达区块链节点设备的交易进行封装,而是先判断当前已到达区块链节点设备的交易的数量,也就是待封装交易数据的数量是否小于或等于当前设定的第一交易量限制值。需要说明的是,在节点数有限的区块链中,可能到达预设出块时间时并没有交易产生,也就是区块链节点的交易量为0,如果此时也进行封装操作,则会产生一个没有交易信息的空区块,从而会造成区块存储的浪费。
因此在一个优选实施方式中,判断已到达区块链节点的交易数量是否小于或等于第一交易量限制值之前,还需要判断所述交易数量是否为0,如果为0,则不进行封装操作,等待下一个出块时间,如果不为0,则进行封装操作,执行判断判断所述交易数量是否小于或等于第一交易量限制值的操作。
需要说明的是,区块链节点设备是具有记账权的区块链节点设备,其可以将待封装的交易数据封装进区块,区块链中的其他节点只同步目标公式节点的区块数据。因此在待封装的交易数据被封装之前,待封装的交易数据会到达记账节点,准备被封装。
S103,若是,则将所述交易数据封装为1个区块。
具体地,如果当前已到达区块链节点设备的交易数量小于或等于当前交易量限制值,那么将当前所有已经到达目标共识节点的交易数据封装为一个区块。
例如,当前交易量限制值为10000,当前已到达目标共识节点的交易为9000笔,则将这9000笔交易封装为1个区块。
S104,若否,则根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
具体地,如果当前已到达区块链节点设备的交易数量大于第一交易量限制值,则需要对当前的交易量限制值做出调整,利用调整后的第二交易量限制值完成当前已到达所述区块链节点设备的交易数据的封装,以减少对待封装交易数据的封装次数。
需要说明的是,根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装可以至少包括以下两种情况:
一是在确定当前已到达区块链节点设备的交易数量大于当前交易量限制值时,先将第一交易量限制值按照当前待封装交易的数量做出调整,即调整为第二交易量限制值,然后再按照第二交易量限制值将所有待封装的交易数据封装为1个区块,进行一次封装;
二是先不对第一交易量限制值进行调整,利用未调整的第一交易量限制值对待封装交易数据进行封装,并确定没能在此次进行封装的剩余交易的数量,利用剩余交易的数量调整交易量限制值得到第二交易量限制值,以在下一次封装时,利用第二交易量限制值将剩余交易的交易数据全部封装为1个区块,也就是进行两次封装。
这两种情况的具体实施方式将在下述实施例做详细介绍,此处不再赘述。当然也可以有其他的方式,只要通过调整交易量限制值来减少对交易数据的封装的次数,均在本申请的保护范围内。
由此可见,本申请提供的一种交易数据封装方法,每预设周期内,都会对到达区块链节点设备的交易数量进行判断,如果该数量已经超过了当前设置的第一交易量限制值,则根据当前交易数量调整限制值,并利用调整后的第二交易量限制值来完成对待封装的交易数据进行封装的操作,从而使交易量限制值可以根据实际交易数量来调整,使得实际每次封装的交易数量可以根据待封装的实际交易数量来调整,使封装交易数据的次数得到减少,从而整体缩短了交易数据封装的时间,提高了整体的交易数据封装速度。
下面对本申请实施例提供的一种具体的交易数据封装方法进行介绍,下文描述的一种交易数据封装方法,具体可以包括:
S201,获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量。
S202,判断所述交易数量是否小于或等于第一交易量限制值;若是,则执行S203,若否,则执行S204。
S203,将所述交易数据封装为1个区块。
S204,将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据。
在本方案中,已到达区块链节点设备的交易的数量大于第一交易量限制值时,先不对当前的第一交易量限制值进行调整,而是利用第一交易量限制值将待封装交易数据封装到1个区块,也就是将交易信息中,第一交易量限制值数量的交易数据封装到1个区块中,然后确定本次没能被封装的交易数据,作为剩余交易数据。
S205,根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值。
具体地,利用当前剩余交易的数量将第一交易量限制值调整为第二交易量限制值,以在下一次进行封装时,可以将剩余交易数据只进行一次封装。
在一个具体的实施方式中,第二交易量限制值大于或等于所述剩余交易数据的数量。
具体地,将当前交易量限制值调整到大于或等于当前剩余交易的数量的值。
S206,到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
在到达下一个预设周期封装时间点时,也就是到达下一个出块时间时,利用第二交易量限制值完成对剩余交易数据的封装。
其中,完成对剩余交易的封装也可以有两种情况,一是在到达下一个预设周期封装时间点时,只对上一次的剩余交易数据进行封装;二是对包括上一次的剩余交易数据的所有已到达区块链节点设备的交易数据,也就是对上一次的剩余交易数据和本次新到达的交易数据进行封装,而本次封装的操作,则与上述实施例中封装的操作可以参考上述内容,此处不再赘述。,
下面对本申请实施例提供的一种具体的交易数据封装方法进行介绍,下文描述的一种具体的交易数据封装方法与上述任一实施例可以相互参照。
参见图3,本申请实施例提供的一种具体的交易数据封装方法,具体包括:
S301,获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;
S302,判断所述交易数量是否小于或等于第一交易量限制值,;若是,则执行S303,若否,则执行S304。
S303,将所述交易数据封装为1个区块。
S304,根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。在本方案中,在确定当前已到达区块链节点设备的交易数量大于第一交易量限制值时,先将第一交易量限制值按照当前待封装交易的数量做出调整,调整为第二交易量限制值,也就是调整为大于或等于当前交易数量的值。
当交易量限制值已按上述步骤调整后,则待封装的交易数据就可以按照第二交易量限制值一次打包至一个区块。
下面对本申请实施例提供的一种具体的交易数据封装方法进行介绍,下文描述的一种具体的交易数据封装方法与上述任一实施例可以相互参照。
参见图4,本申请实施例提供的一种具体的交易数据封装方法,具体包括:
S401,获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;
S402,判断所述交易数量是否小于或等于第一交易量限制值;若是,则执行S403,若否,则执行S406。
S403,检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;若是,则执行S404,若否,则执行S405。
在本方案中,在进行交易数据封装操作之前,均需对当前需要执行封装操作的区块链节点设备的状态进行检测,即,检测区块链节点设备与区块链的其他节点的通信是否连接正常,如果正常在进行S404步骤的封装操作,如果不正常则停止不再进行封装操作,从而避免上述区块链节点设备出现异常导致的数据封装错误的问题。
S404,将所述交易数据封装为1个区块。
S405,停止执行所述将所述交易数据封装为1个区块的步骤。
需要说明的是,如果当前具有记账权的区块链节点设备的状态不正常,那么还需要在剩余的备选节点中确定一个投票数量最高的节点作为新的具有记账权的区块链节点设备,来完成交易数据封装的操作。
S406,根据所述交易数量调整第一交易量限制值为第二交易量限制值。
S407,检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;若是,则执行S408,若否,则执行S409。
同样地,在本步骤中,执行交易数据的封装操作之前,也需要对区块链节点设备进行通信,具体内容与S403相同,此处不再进行赘述。
S408,利用所述第二交易量限制值完成所述交易数据的封装。
S409,停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
下面对本申请实施例提供的一种更为具体地交易数据封装方法进行介绍,其操作在实际的应用环境中。
在本申请实施例提供的方法具体应用于联盟链,出块的预设周期为1秒,第一交易量限制值Limit为10000。
第一步,首先,需要确定具有记账权的区块链节点设备。由于联盟链的参与方数量有限,而且参与方可控,因此,在本方案中,通过每个参与方共同协商来确定出N个备选节点,再由N个备选节点进行投票,得到投票数量最高的区块链节点作为记账节点。例如备选节点为A、B、C、D、E,投票数量分别为5、4、3、2、1,则将投票数量最多的A作为记账节点。
第二步,设置监控程序,实时监控记账节点的健康状态,也就是监控记账节点是否与区块链中其他节点能够正常的通信连接,若是,则为健康状态,若否,则为非健康状态,当记账节点的状态被监控到是非健康状态时,则在其他的备选节点中确定一个投票数最高的节点作为新的记账节点。例如,记账节点为上述A节点,此时A节点状态为异常状态,那么从剩下的备选节点B、C、D、E中确定一个投票数量最高的B节点作为新的记账节点。
第三步,当到达预设周期的时间点时,也就是每间隔1秒,就获取这1秒内到达记账节点的交易信息,即获取交易数量和交易数据。
第四步,判断交易数量是否为0。
第五步,如果为0,则不进行操作,继续等待下一个周期,直到一个交易数量不为0。如果交易数量不为0,那进一步判断交易数量是否小于或等于第一交易量限制值10000。
第六步,如果交易数量小于或等于10000,则直接将所有到达记账节点的交易数据封装为1个区块,存储至区块链。
如果交易数量大于10000,例如12000,则可以利用第七步或第八步的方法来完成交易数据的封装操作。
第七步,利用当前交易数量12000,将第一交易量限制值10000进行调整,调整为12000或12000以上的数,调整后得到的是第二交易量限制值。此时,一个区块即可封装12000笔交易或12000笔以上的交易,因此,可以将当前的12000笔交易数据全部封装到一个区块。
第八步,利用第一交易量限制值10000先将当前的12000笔交易数据中的10000笔交易数据封装到一个区块,然后利用剩余交易数量2000调整第二交易量限制值为2000或2000以上的数字,然后将剩余的2000笔交易数据封装到下一个区块。
下面对本申请实施例提供的一种交易数据封装系统进行介绍,下文描述的一种交易数据封装系统与上述任一实施例可以相互参照。
参见图5,本申请实施例提供的一种交易数据封装系统,具体包括:
获取模块501,用于获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量。
其中,所述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。
作为一个优选实施方式,本申请提供的系统还包括第二判断模块,用于判断所述交易数量是否为0;若否,则执行所述判断所述交易数量是否小于或等于第一交易量限制值的步骤。
第一判断模块502,用于判断所述交易数量是否小于或等于第一交易量限制值。
第一封装模块503,用于当所述交易数量小于或等于所述第一交易量限制值时,将所述交易数据封装为1个区块。
第二封装模块504,用于当所述交易数量大于所述第一交易量限制值时,根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
在另一个具体实施方式中,本申请提供的系统还包括检测模块,用于检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
本实施例的交易打包系统用于实现前述的交易数据封装方法,因此交易数据封装系统中的具体实施方式可见前文中的交易数据封装方法的实施例部分,例如,获取模块501,第一判断模块502,第一封装模块503,第二封装模块504,分别用于实现上述交易数据封装方法中步骤S101,S102,S103,S104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本申请实施例提供的一种具体的交易数据封装系统进行介绍,下文描述的一种具体的交易数据封装系统,对上述实施例中第二封装模块504做了进一步的限定于说明,第二封装模块504具体包括:
第一封装单元,用于将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据;
调整单元,用于根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值;
第二封装单元,用于到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
其中,所述第二交易量限制值大于或等于所述剩余交易数据的数量。
其中,所述所述第二交易量限制值大于或等于所述交易数量;所述第二封装模块具体用于根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。
本申请还提供了一种交易打包装置,参见图6,本申请实施例提供的区块链节点设备的结构图,如图6所示,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为区块链节点设备提供计算和控制能力,可以实现以下步骤:
获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;判断所述交易数量是否小于或等于第一交易量限制值;若是,则将所述交易数据封装为1个区块;若否,则根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
在一些具体的实施例中,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:
将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据;根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值;到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
其中,所述第二交易量限制值大于或等于所述剩余交易数据的数量。
在一些具体的实施例中,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:
根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。
其中,所述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。在一些具体的实施例中,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;则所述将所述交易数据封装为1个区块,包括:当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述将所述交易数据封装为1个区块的步骤;当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述将所述交易数据封装为1个区块的步骤;所述利用所述第二交易量限制值完成所述交易数据的封装,包括:当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤;当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
在一些具体的实施例中,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:判断所述交易数量是否为0;若否,则执行所述判断所述交易数量是否小于或等于第一交易量限制值的步骤。进一步的,本实施例中的区块链节点设备,还可以包括:
输入接口300,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器100中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器200中,以便处理器200利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口300具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口400,用于将处理器200产生的各种数据输出至与其相连的终端设备,以便于与输出接口400相连的其他终端设备能够获取到处理器200产生的各种数据。本实施例中,所述输出接口400具体可以包括但不限于USB接口、串行接口等。
通讯单元500,用于在区块链节点设备和其他节点之间建立远程连接,以便于接收交易,并同步区块数据。
键盘600,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器700,用于对交易数据封装过程的相关信息进行实时显示,以便于用户及时地了解当前交易数据封装情况。
鼠标800,可以用于协助用户输入数据并简化用户的操作。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种交易数据封装方法,其特征在于,应用于区块链节点设备,所述方法包括:
获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;
判断所述交易数量是否小于或等于第一交易量限制值;
若是,则将所述交易数据封装为1个区块;
若否,则根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
2.根据权利要求1所述的方法,其特征在于,所述根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装,包括:
将所述交易信息中第一交易量限制值数量的交易数据封装到1个区块并确定当前已到达所述区块链节点设备的交易数据中未进行封装的剩余交易数据;
根据所述剩余交易数据的数量调整第一交易量限制值为第二交易量限制值;
到达下一个预设周期封装时间点时,利用第二交易量限制值完成所述剩余交易数据的封装。
3.根据权利要求2所述的方法,其特征在于,所述第二交易量限制值大于或等于所述剩余交易数据的数量。
4.根据权利要求1所述的方法,其特征在于,所述第二交易量限制值大于或等于所述交易数量,所述根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装,包括:
根据所述交易数量调整第一交易量限制值为第二交易量限制值,将所述交易数据封装为1个区块。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述区块链节点为当接收到记账节点投票的信息时参与投票且投票结果显示的被投票数量高于其他任一节点的记账节点。
6.根据权利要求5所述的方法,其特征在于,在所述判断所述交易数量是否小于或等于第一交易量限制值之后,所述方法还包括:
检测所述区块链节点设备与区块链其他节点设备的通信连接是否正常;
则所述将所述交易数据封装为1个区块,包括:
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述将所述交易数据封装为1个区块的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述将所述交易数据封装为1个区块的步骤;
所述利用所述第二交易量限制值完成所述交易数据的封装,包括:
当检测所述区块链节点设备与区块链其他节点设备的通信连接正常时,则继续执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤;
当检测所述区块链节点设备与区块链其他节点设备的通信连接不正常时,则停止执行所述利用所述第二交易量限制值完成所述交易数据的封装的步骤。
7.根据权利要求1所述的方法,其特征在于,所述判断所述交易数量是否小于或等于第一交易量限制值之前,所述方法还包括:
判断所述交易数量是否为0;
若否,则执行所述判断所述交易数量是否小于或等于第一交易量限制值的步骤。
8.一种交易数据封装系统,其特征在于,包括:
获取模块,用于获取预设周期内到达所述区块链节点设备的交易信息,所述交易信息包括交易数据和交易数量;
判断模块,用于判断所述交易数量是否小于或等于第一交易量限制值;
第一封装模块,用于当所述交易数量小于或等于所述第一交易量限制值时,将所述交易数据封装为1个区块;
第二封装模块,用于当所述交易数量大于所述第一交易量限制值时,根据所述交易数量调整第一交易量限制值为第二交易量限制值,利用所述第二交易量限制值完成所述交易数据的封装。
9.一种区块链节点设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述交易数据封装方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述交易数据封装方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947650.5A CN109165324A (zh) | 2018-08-20 | 2018-08-20 | 一种交易数据封装方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947650.5A CN109165324A (zh) | 2018-08-20 | 2018-08-20 | 一种交易数据封装方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109165324A true CN109165324A (zh) | 2019-01-08 |
Family
ID=64896152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810947650.5A Pending CN109165324A (zh) | 2018-08-20 | 2018-08-20 | 一种交易数据封装方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165324A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535661A (zh) * | 2019-09-03 | 2019-12-03 | 中国建设银行股份有限公司 | 基于区块链的业务处理方法、装置、电子设备和存储介质 |
CN110619582A (zh) * | 2019-09-18 | 2019-12-27 | 深圳前海微众银行股份有限公司 | 区块链交易方法、装置、设备及计算机存储介质 |
CN112448855A (zh) * | 2021-01-28 | 2021-03-05 | 支付宝(杭州)信息技术有限公司 | 区块链系统参数更新方法和系统 |
CN112783976A (zh) * | 2021-01-05 | 2021-05-11 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识算法 |
CN114385647A (zh) * | 2021-12-15 | 2022-04-22 | 达闼科技(北京)有限公司 | 联盟链出块方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170178072A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | System, Apparatus And Method For Transferring Ownership Of A Smart Delivery Package |
WO2018064645A1 (en) * | 2016-10-01 | 2018-04-05 | 3Dpp, Llc | Distributed manufactring & blockchain enabled packaging |
CN108090750A (zh) * | 2016-11-22 | 2018-05-29 | 深圳银链科技有限公司 | 区块链清结算系统及方法 |
CN108322309A (zh) * | 2017-12-27 | 2018-07-24 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
-
2018
- 2018-08-20 CN CN201810947650.5A patent/CN109165324A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170178072A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | System, Apparatus And Method For Transferring Ownership Of A Smart Delivery Package |
WO2018064645A1 (en) * | 2016-10-01 | 2018-04-05 | 3Dpp, Llc | Distributed manufactring & blockchain enabled packaging |
CN108090750A (zh) * | 2016-11-22 | 2018-05-29 | 深圳银链科技有限公司 | 区块链清结算系统及方法 |
CN108322309A (zh) * | 2017-12-27 | 2018-07-24 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535661A (zh) * | 2019-09-03 | 2019-12-03 | 中国建设银行股份有限公司 | 基于区块链的业务处理方法、装置、电子设备和存储介质 |
CN110535661B (zh) * | 2019-09-03 | 2022-10-11 | 中国建设银行股份有限公司 | 基于区块链的业务处理方法、装置、电子设备和存储介质 |
CN110619582A (zh) * | 2019-09-18 | 2019-12-27 | 深圳前海微众银行股份有限公司 | 区块链交易方法、装置、设备及计算机存储介质 |
WO2021052098A1 (zh) * | 2019-09-18 | 2021-03-25 | 深圳前海微众银行股份有限公司 | 区块链交易方法、装置、设备及计算机可读存储介质 |
CN110619582B (zh) * | 2019-09-18 | 2023-07-14 | 深圳前海微众银行股份有限公司 | 区块链交易方法、装置、设备及计算机存储介质 |
CN112783976A (zh) * | 2021-01-05 | 2021-05-11 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识算法 |
CN112783976B (zh) * | 2021-01-05 | 2024-01-26 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识系统 |
CN112448855A (zh) * | 2021-01-28 | 2021-03-05 | 支付宝(杭州)信息技术有限公司 | 区块链系统参数更新方法和系统 |
CN112448855B (zh) * | 2021-01-28 | 2021-05-11 | 支付宝(杭州)信息技术有限公司 | 区块链系统参数更新方法和系统 |
CN114385647A (zh) * | 2021-12-15 | 2022-04-22 | 达闼科技(北京)有限公司 | 联盟链出块方法、装置、电子设备及介质 |
CN114385647B (zh) * | 2021-12-15 | 2023-04-07 | 达闼科技(北京)有限公司 | 联盟链出块方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165324A (zh) | 一种交易数据封装方法及相关装置 | |
CN103250429B (zh) | 用于监控至少一个蓄电池的方法和装置、具有这样的装置的蓄电池以及具有相应的蓄电池的机动车 | |
US8352787B2 (en) | Plant control system and method | |
CN104536888A (zh) | 移动设备的游戏测试方法与系统 | |
US20190005168A1 (en) | Performance testing method and apparatus for industrial system deployed on cloud | |
CN104781682B (zh) | 在用于半导体测试的本地每引脚测试仪的自动测试设备上伪每站测试仪功能 | |
EP2913756A1 (en) | Operation management device and operation management method | |
CN103323046A (zh) | 检测篡改数据的方法 | |
CN103631255A (zh) | 用于航电系统健康诊断的故障注入设备及故障注入方法 | |
CN117574244B (zh) | 基于物联网的超声波水表故障预测方法、装置及设备 | |
US10394203B2 (en) | Control device, control method, and program performing a tabulation operation at high speed | |
CN109407498A (zh) | 一种电能表时钟测试方法及电能表时钟测试装置 | |
CN104300899A (zh) | 一种光伏发电防窃电系统 | |
WO2020243577A1 (en) | Multiprocessor utility meter featuring a metrology processor coupled to an application processor | |
CN107729209A (zh) | 用于服务器的信息监测方法、装置、设备和存储介质 | |
CN202352045U (zh) | 一种便携式高压注水实时图像监控数据采集仪 | |
CN107525955A (zh) | 一种电表数据处理方法及装置 | |
US9606852B2 (en) | Microcontroller and method for controlling peripheral circuits | |
JP4415885B2 (ja) | プログラマブル・コントローラ・システム | |
CN113447880B (zh) | 一种电能表的故障诊断方法、装置及终端设备 | |
JP2006252486A (ja) | プログラマブル・コントローラ・システム | |
CN109543845A (zh) | 单量子比特逻辑门的转化方法及装置 | |
Erikson et al. | Simulation, animation, and shop-floor control | |
CN105352112B (zh) | 一种空调机组的运行数据的传输方法及系统 | |
CN114689159A (zh) | 用于计量设备数据管理的系统、方法、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190108 |
|
RJ01 | Rejection of invention patent application after publication |