CN114463001A - 联盟链的交易方法、系统以及计算机可读存储介质 - Google Patents
联盟链的交易方法、系统以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114463001A CN114463001A CN202111656540.1A CN202111656540A CN114463001A CN 114463001 A CN114463001 A CN 114463001A CN 202111656540 A CN202111656540 A CN 202111656540A CN 114463001 A CN114463001 A CN 114463001A
- Authority
- CN
- China
- Prior art keywords
- transaction
- fuel value
- node
- value
- current
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 239000000446 fuel Substances 0.000 claims abstract description 274
- 238000011084 recovery Methods 0.000 claims abstract description 70
- 239000010763 heavy fuel oil Substances 0.000 claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 10
- 238000009825 accumulation Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了联盟链的交易方法、系统以及计算机可读存储介质,该方法包括:检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。本发明主要是通过控制单个交易节点上的燃料值的消耗和恢复机制,来限制单个交易节点上的交易频率,解决单个节点占据大量系统资源的问题,从而实现联盟链交易系统性能的优化。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种联盟链的交易方法、系统以及计算机可读存储介质。
背景技术
随着区块链技术的不断发展,底层区块链支持的吞吐量也越来越高,最新的长安链交易处理能力可以达到10万TPS,在未来对区块链整体性能的要求也越来越高。如今在公有链中,发送一笔交易一般需要消耗一定的手续费,通过这样的方法使每个节点提交交易的频率受到限制。而在联盟链环境中,交易一般都是属于无币区块链交易,所以在交易的时候,会存在因单个节点账户提交大量的交易,导致联盟链系统一直在处理该节点上的交易,占用太多的系统资源的情况,以致于其他节点上的交易无法正常执行。
需要说明的是,上述内容仅用于辅助理解本发明所解决的技术问题,并不代表承认上述内容是相关技术。
发明内容
本申请通过提供一种联盟链的交易方法,解决了现有技术中单个交易节点占据大量系统资源的问题。
为实现上述目的,本发明提出的联盟链的交易方法,所述联盟链的交易方法的步骤包括:
检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;
根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;
在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;
在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。
可选地,所述根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值的步骤包括:
根据交易的内容获取单位基础操作的类型和对应的消耗燃料值;
根据所述单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值,其中不同交易内容所需的燃料值不同。
可选地,所述交易信息包括至少两个单位基础操作时,所述根据所述单位基础操作的数量和单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值的步骤包括:
根据所述单位基础操作的数量和所述单位基础操作消耗的燃料值,进行累加求和,确定所述交易节点完成当前交易的目标燃料值。
可选地,所述根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值的步骤包括:
获取所述交易节点前一次交易完成后的剩余燃料值;
获取前一次交易完成后到所述当前交易时所述交易节点的燃料恢复值;
根据所述剩余燃料值和燃料恢复值计算所述交易节点的当前燃料值;
根据所述目标燃料值以及所述交易节点的当前燃料值的差值,确定所述交易节点完成所述当前交易后的剩余燃料值。
可选地,所述获取前一次交易完成后到所述当前交易时所述交易节点的燃料恢复值的步骤包括:
获取所述交易节点的燃料值恢复速度;
根据所述交易节点的所述当前交易和所述前一次交易的区块高度差与所述燃料值恢复速度,计算所述交易节点的燃料恢复值。
可选地,所述获取所述交易节点的燃料值恢复速度的步骤包括:
获取所述交易节点的权重值;
根据所述权重值获取所述交易节点的燃料值恢复速度,其中,所述权重值越大,所述燃料值恢复速度越大。
可选地,所述根据所述权重值获取所述交易节点的燃料值恢复速度的步骤包括:
获取预设的权重值与燃料值恢复速度的关联关系;
根据所述关联关系以及所述交易节点的所述权重值确定所述交易节点的燃料值恢复速度。
可选地,所述在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表的步骤之后,还包括:
预设时间间隔后,获取所述交易节点的当前燃料值;
在所述当前燃料值大于或等于完成所述交易所要消耗的燃料值时,对所述交易等待列表的交易信息进行交易。
此外,为实现上述目的,本发明还提供了一种联盟链设备,所述联盟链设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的交易程序,所述交易程序被所述处理器执行时实现如上所述的联盟链的交易方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有交易程序,所述交易程序被处理器执行时实现如上所述的联盟链的交易方法的步骤。
本发明公开了一种联盟链的交易方法、系统以及计算机可读存储介质,该方法包括:检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。本发明主要是当系统检测到交易节点产生交易信息的时候,根据交易信息中的交易内容计算出完成这笔交易所要消耗的燃料值,之后再计算该交易节点的当前燃料值,把当前燃料值和完成交易所要消耗的燃料值进行比对,得到该交易节点完成交易后剩余的燃料值,当剩余燃料值的数值是大于预设阈值时,说明当前燃料值是大于完成交易所要消耗的燃料值,系统分配给该交易节点的资源还有空闲空间,当剩余燃料值的数值是小于或者等于预设阈值时,当前燃料值小于完成交易所要消耗的燃料值,说明该交易节点上交易过于频繁,燃料值消耗过大,已经不能完成本次交易,需要等待燃料值的恢复,才能继续执行交易,同时在该交易节点燃料值恢复的过程,系统可以去执行其他交易节点上的交易,如此一来就可以解决单个节点占据系统大量资源的问题,从而实现系统资源的合理分配。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明联盟链的交易方法第一实施例的流程示意图;
图3为本发明联盟链的交易方法第二实施例中步骤S100的细化流程示意图;
图4为本发明联盟链的交易方法第二实施例中步骤S120的细化流程示意图;
图5为本发明联盟链的交易方法第三实施例中步骤S200的细化流程示意图;
图6为本发明联盟链的交易方法第三实施例中步骤S220的细化流程示意图;
图7为本发明联盟链的交易方法第四实施例中步骤S221的细化流程示意图;
图8为上限值与权重值的关系曲线图;
图9为恢复速度与权重值的关系曲线图;
图10为交易节点上恢复燃料值随时间的变化图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本申请提供了一种联盟链的交易方法,所要的解决技术问题是在相关技术中因为某个交易节点上的交易数量大,占据了大量的系统资源,导致其他节点上的交易无法正常进行交易,根据这一问题,所采取的技术手段是通过在控制节点上燃料值的控制,解决单个节点占据大量系统资源的问题,主要是当检测到交易节点产生交易信息的时候,根据交易信息的具体执行内容,计算得到该笔交易所要消耗的燃料值,之后再计算出该交易节点的当前燃料值,把当前燃料值和完成交易所要消耗的燃料值进行比对,若是完成交易所要消耗的燃料值大于当前燃料值,说明当前燃料值不足与完成这笔交易,需要等待燃料值回复到初始燃料值,才能继续执行交易,若是完成交易所要消耗的燃料值小于当前燃料值,验证通过之后,就可以顺利完成交易。通过控制燃料值的消耗与恢复机制,来解决单个节点因交易数量大占据大量系统资源,导致其他节点上的交易无法完成的问题,在一定程度上实现了交易系统性能的优化。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括交易程序。
在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;处理器1001可以用于调用存储器1005中交易程序,并执行以下操作:
检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;
根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;
在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;
在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。
本申请提供了一种联盟链的交易方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
参照图2,图2为本申请联盟链的交易方法第一实施例的流程示意图。
本实施例联盟链的交易方法,包括以下步骤:
步骤S100,检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;
步骤S200,根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;
步骤S300,在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;
步骤S400,在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。
在本实施例中,联盟链的交易方法可以使用在联盟链的场景下,比如:银行之间的转账交易或者支付交易,采用是联盟链的场景,都可以使用这种交易方法,因此在下面描述的过程中,不限定场景,执行主体是联盟链系统。在整个交易过程中,燃料值是整个交易方法的核心值,燃料值是为了限制单个节点上交易数量太多从而占据大量的系统资源而设置的。
以下以联盟链系统来说明该交易方法的具体实现过程:
当联盟链系统上的节点发送了一笔链上交易,也就是产生了一笔交易信息时,联盟链系统要对这个交易节点当下产生的这笔交易所要消耗的燃料值进行计算,同时不仅要计算出这笔交易完成这笔交易所要消耗的燃料值之外,还需要计算该节点当前剩余的燃料值是多少,产生的这笔交易是该节点上的笔交易,当前剩余燃料值就是该节点的初始燃料值,同时也是该节点的上限值,这里需要解释一下,初始燃料值是根据权重值来确定的,权重值越大,节点上的初始燃料值就越大,权重值在这里是不需要计算的,一般在初建系统的时候确定,可以根据每个节点的需求来分配权重值,然后链上的节点达成共识之后,确定该节点的权重值。在后期有交易历史记录之后,某个节点若是有更高的交易发送频率需求,可以提出修改自身的权重值,需要其他节点达成共识批准之后,才能进行修改生效。计算出该节点的当前燃料值和交易完成需要消耗的燃料值之后,两者需要进行对比,判断这笔交易是否能够顺利执行。
比对该交易节点的当前燃料值和交易完成所需要消耗的燃料值,计算该交易节点当前燃料值和交易完成所要消耗燃料值的差值,比较差值是否大于预设阈值,若是大于预设阈值,就说明该交易节点的当前燃料值大于交易完成所需要消耗的燃料值,若是小于预设阈值,就说明该交易节点的当前燃料值小于交易完成所需要的燃料值,当前的这笔交易需要等待一段时间,等该交易节点的当前燃料值恢复到能够顺利完成这笔交易所要消耗的燃料值,所以需要判断差值,来确定该交易节点的当前燃料值能不能够执行该笔交易。
当剩余燃料值小于或者等于预设阈值的时候,这里剩余燃料值是该交易节点的当前燃料值与完成这笔交易所要消耗的燃料值的差值,说明当前燃料值是不足以交易完成所要消耗的燃料值,因此这笔交易需要进入到等待列表中,需要等到该交易节点的当前燃料值恢复到能够完成交易所要消耗的燃料值的时候,才能够被触发这笔交易信息,继续执行这笔交易,这里的预设阈值设置为0。
在一实施列中,所述在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表的步骤之后,还包括:
预设时间间隔后,获取所述交易节点的当前燃料值;
在所述当前燃料值大于或等于完成所述交易所要消耗的燃料值时,对所述交易等待列表的交易信息进行交易。
当交易节点完成交易后的剩余燃料值小于或者等于预设阈值的时候,将本次交易发送到等待列表中等待,在这个过程中,系统可以去处理其他交易节点上的交易,并且还需要实时检测这个节点上当前燃料值是否已经恢复到能够完成该笔交易所要消耗的燃料值,若是在当前燃料值已经恢复到大于或者等于完成该笔交易所要消耗的燃料值的时候,可以对等待列表中的交易信息执行交易操作,这里需要说明的是,当交易节点上产生交易,并完成该笔交易之后,该交易节点上当前燃料值就会低于初始燃料值,这时燃料值就会处于恢复的阶段,只要交易节点上当前燃料值大于完成交易所要消耗的燃料值,就可以执行交易操作,燃料值恢复阶段不会影响交易节点上的交易的进行。
当剩余燃料值大于预设阈值的时候,说明当前执行的交易可以顺利完成,在交易之前还需要对本次交易上交易节点的私钥进行验证,每个交易节点都有属于自己的私钥证书,获取本次交易的交易节点对应的私钥进行验证,若验证通过证明本次交易是合法交易,可以执行交易操作。
本发明公开了一种联盟链的交易方法、系统以及计算机可读存储介质,该方法包括:检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。本发明主要是当系统检测到交易节点产生交易信息的时候,根据交易信息中的交易内容计算出完成这笔交易所要消耗的燃料值,之后再计算该交易节点的当前燃料值,把当前燃料值和完成交易所要消耗的燃料值进行比对,得到该交易节点完成交易后剩余的燃料值,当剩余燃料值的数值是大于预设阈值时,说明当前燃料值是大于完成交易所要消耗的燃料值,系统分配给该交易节点的资源还有空闲空间,当剩余燃料值的数值是小于或者等于预设阈值时,当前燃料值小于完成交易所要消耗的燃料值,说明该交易节点上交易过于频繁,燃料值消耗过大,已经不能完成本次交易,需要等待燃料值的恢复,才能继续执行交易,同时在该交易节点燃料值恢复的过程,系统可以去执行其他交易节点上的交易,如此一来就可以解决单个节点占据系统大量资源的问题,从而实现系统资源的合理分配。
进一步地,参照图3,基于上述第一实施例中,提出本申请联盟链的交易方法第二实施例。
步骤S100包括:
步骤S110,根据交易的内容获取单位基础操作的类型和对应的消耗燃料值;
步骤S120,根据所述单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值,其中不同交易内容所需的燃料值不同。
在本实施例中,当交易系统检测到交易节点产生交易信息时,需要获取交易信息中的具体交易内容,交易内容通过在联盟链系统中执行对应的智能合约来体现,智能合约中包含一个单位的基础操作执行步骤。单位基础操作消耗的燃料值是系统中规定好的,比如一次转账操作消耗的燃料值是21000,一次加减运算消耗的燃料值是10000,一次乘除运算消耗的燃料值是50000。这种情况下,该笔交易消耗的燃料值就是一个单位的基础操作消耗的燃料值。
在进一步实施例中,参照图4,所述根据所述基础操作数量和单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值的步骤包括:
步骤S121,根据完成至少两个单位基础操作的执行步骤;
步骤S122,根据所述所有基础操作数量值和单位基础操作消耗的燃料值,确定所述交易节点完成当前交易的目标燃料值。
本实施例基于上述实施例,智能合约中包含若干个单位的基础操作执行步骤,这些基础操作的步骤可以是一次转账操作,也可以是加减乘除移位等其他数学运算。根据交易内容去获取这笔交易需要消耗的燃料值。例如在一笔智能合约交易中包含了5笔转账和10个加运算的操作,那么计算完成这笔交易所要消耗的燃料值,是转账操作的数量与单次转账操作消耗的燃料值的乘积,再加上加运算操作数量与单次加运算消耗的燃料值的乘积。根据交易信息中不同的交易内容获取不同单位基础操作的数量,再将同一类型的基础操作数量乘以单位基础操作消耗的燃料值,然后将得到的所有类型基础操作燃料值乘积累加求和,就得到执行这笔交易所要消耗的燃料值。
在本实施例中,要顺利完成一笔交易,先要计算完成这笔交易所要消耗的燃料值,在计算所要消耗的燃料值的过程中,根据交易信息中交易内容,确定交易内容是一种还是多种,若是多种,就需要把多种交易消耗的燃料值进行求和计算。计算出完成交易需要消耗的燃料值之后,还需要计算出当前交易节点的当前燃料值,可以通过所要消耗的燃料值和当前燃料值就可以判断是否要执行这笔交易,以此可以达到限制交易节点的交易数量,同时也能够减少单个节点过多占据系统资源。
进一步地,参照图5,基于上述第一实施例和第二实施例中的任一实施例,提出本申请联盟链的交易方法第三实施例。
步骤S200包括:
步骤S210,获取所述交易节点前一次交易完成后的剩余燃料值;
步骤S220,获取前一次交易完成后到所述当前交易时所述交易节点的燃料恢复值;
步骤S230,根据所述剩余燃料值和燃料恢复值计算所述交易节点的当前燃料值;
步骤S240,根据所述目标燃料值以及所述交易节点的当前燃料值的差值,确定所述交易节点完成所述当前交易后的剩余燃料值。
在本实施例中,在计算出完成交易所要消耗的燃料值之后,还需要计算出当前交易节点的当前燃料值,两个数据进行比较再决定这笔交易是否能够执行。计算当前交易节点的当前燃料值需要获取当前交易节点上一次完成交易之后剩余的燃料值,加上上一次完成交易后到这次交易这个时间段所产生的燃料恢复量,就可以得到当前燃料值的数值。判断当前燃料值和完成交易所要消耗的燃料值的差值。当该节点次交易时,剩余燃料值就是该交易节点的初始燃料值,也就是该交易节点燃料值的上限值。计算交易节点的上限值是通过交易节点的权重值来计算的,根据公式FuelMax=(-1(x*a)+b),其中FuelMax是指交易节点燃料值的上限值,a和b分别代表经验值,可以随意取值,参照图8,图8为FuelMax与权重值的关系曲线图,燃料上限值与权重值的关系是随着权重值的增大,上限值也逐渐变大,最终趋近与一个固定的数值,因为交易节点的上限值不可能一直增大,会有一个固定的数值。
这里需要说明的是,当该交易节点上产生交易时,需要获取该交易节点的当前燃料值,若是该节点上产生的交易是第一笔交易,这时获取的当前燃料值是该交易节点的最大值,若不是该节点的第一笔交易,就需要计算该交易节点的当前燃料值,计算当前燃料值时,需要获取上一次节点完成交易之后的剩余燃料值和上一次交易完成后距离本次交易所产生的恢复量,两个数据相加得到该交易节点的当前燃料值,计算当前燃料值的公式为Fuel=Min(FuelOrigin+(N-M)*FuelSpeed,FuelMax),Fuel是指当前燃料值,FuelOrigin是指该节点完成上一笔交易之后剩余的燃料值,N是指当前交易区块的高度,也是指产生当前交易的时间点,M是指上一笔交易完成之后的高度,也是指上一笔交易完成之后的时间点,N-M代表两次交易相隔的时间差,FuelSpeed是指恢复速度,(N-M)*FuelSpeed代表上一次交易完成后到当前交易时所产生的恢复量,FuelOrigin+(N-M)*FuelSpeed代表该交易节点的恢复燃料值,当前燃料值是采用最小值公式求出来的。在整个交易过程中,只要该交易节点上的燃料值没有达到上限值,该交易节点上的燃料值就在不断恢复,交易和恢复燃料值两个操作是同步进行的,即使恢复过程中没有交易产生,燃料值也在执行恢复操作,直到恢复到最大值就保持不变,若是在恢复燃料值的过程中,交易节点有交易产生时,只要交易节点上的当前燃料值是大于完成交易所要消耗的燃料值就可以执行这笔交易,可以参照图10,图10是随着时间的增长,区块的不断增加,也就是燃料值的恢复,一直恢复到最大值之后就不再变化,保持不变。
在进一步实施例中,参照图6,步骤S220包括:
步骤S221,获取所述交易节点的燃料值恢复速度;
步骤S222,根据所述交易节点的所述当前交易和所述前一次交易的区块高度差与所述燃料值恢复速度,计算所述交易节点的燃料恢复值。
本实施例基于上述实施例,计算当前交易节点的恢复量需要知道当前交易节点的本次交易距离上一次交易的时间差和当前交易节点的恢复速度,先获取当前交易节点的燃料值恢复速度,再获取距离上一次交易完成的时间差,在这里需要说明的是,每个节点的区块高度就是一个时间点,也就是产生这个区块高度的具体时间,比如:上一次交易产生的区块高度是一个时间点记录下来,这次交易产生的区块高度是另外一个时间点,根据两个时间点的时间差和恢复速度计算出当前交易节点的燃料恢复值。获取当前交易节点的燃料值恢复速度之前,需要计算出当前交易节点的燃料值恢复速度中才能够获取到这个数值。
在本实施例中,需要计算出当前交易节点的当前燃料值,再结合完成本次交易所要消耗的燃料值,判断这次交易是否能够正常被执行,若是不能够被正常执行,需要有一定的等待时间,等待燃料值的恢复才能被触发。
更进一步地,参照图7,基于上述实施例、第二实施例和第三实施例中的任一实施例,提出本申请联盟链的交易方法第四实施例。
步骤S221包括:
步骤S223,获取所述交易节点的权重值;
步骤S224,根据所述权重值获取所述交易节点的燃料值恢复速度,其中,所述权重值越大,所述燃料值恢复速度越大。
在本实施例中,计算燃料值恢复速度的重要参数是每个节点事先预约好的权重值,根据权重值来计算交易节点对应的燃料值恢复速度,不同的节点权重值是不一样的,权重值不一样,燃料值恢复速度的快慢速度也就不一样,权重大的,燃料值恢复速度就越快,等待恢复的时间就越短,相反的,权重值越小的,燃料值恢复速度就越慢,等待恢复的时间就越长,这里需要说明权重值时联盟链上成员事先预约好的,是按照以往的交易数量来规定权重值的,若是链上有成员想要修改权重值,需要通知链上的其他成员,其他成员一致通过之后方能修改成功,只要有一方没有达成共识,就不能完成修改的操作。
在进一步实施例中,步骤S224包括:
获取预设的权重值与燃料值恢复速度的关联关系;
根据所述关联关系以及所述交易节点的所述权重值确定所述交易节点的燃料值恢复速度。
本实施例是基于上述实施例,在计算燃料值恢复速度时,要先获取到权重值与燃料值恢复速度之间的关联关系,根据公式FuelSpeed=(x/a)^(b),其中FuelSpeed是指燃料恢复值,a和b分别代表经验值,可以随意取值,参照图9,图9为FuelSpeed与权重值的关系曲线图,随着权重值的增大,燃料值恢复速度就越大,这里随着权重值与燃料值恢复速度之间的关系不是呈线性增大关系,而是呈曲线增大关系,曲线的曲率逐渐变大,结合关联关系和当前交易节点的权重值来进一步得到燃料值恢复速度的数值。
此外,本发明实施例还提出一种计算机可读存储介质。所述计算机可读存储介质上存储有交易程序,所述交易程序被处理器执行时实现如上述任一项实施例中的联盟链的交易方法的步骤。
本发明计算机可读存储介质具体实施方式与上述联盟链的交易方法各实施例基本相同,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种联盟链的交易方法,其特征在于,所述联盟链的交易方法的步骤包括:
检测到交易节点产生交易信息时,根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值;
根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值;
在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表;
在所述剩余燃料值大于所述预设阈值时,验证所述交易信息,并在验证通过后执行所述交易。
2.如权利要求1所述的联盟链的交易方法,其特征在于,所述根据所述交易信息确定所述交易节点完成当前交易所需的目标燃料值的步骤包括:
根据交易的内容获取单位基础操作的类型和对应的消耗燃料值;
根据所述单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值,其中不同交易内容所需的燃料值不同。
3.如权利要求2所述的联盟链的交易方法,其特征在于,所述交易信息包括至少两个单位基础操作时,所述根据所述单位基础操作的数量和单位基础操作消耗的燃料值,确定所述交易节点完成当前交易所述的目标燃料值的步骤包括:
根据所述单位基础操作的数量和所述单位基础操作消耗的燃料值,进行累加求和,确定所述交易节点完成当前交易的目标燃料值。
4.如权利要求1所述的联盟链的交易方法,其特征在于,所述根据所述目标燃料值以及所述交易节点的当前燃料值确定所述交易节点完成所述当前交易后的剩余燃料值的步骤包括:
获取所述交易节点前一次交易完成后的剩余燃料值;
获取前一次交易完成后到所述当前交易时所述交易节点的燃料恢复值;
根据所述剩余燃料值和燃料恢复值计算所述交易节点的当前燃料值;
根据所述目标燃料值以及所述交易节点的当前燃料值的差值,确定所述交易节点完成所述当前交易后的剩余燃料值。
5.如权利要求4所述的联盟链的交易方法,其特征在于,所述获取前一次交易完成后到所述当前交易时所述交易节点的燃料恢复值的步骤包括:
获取所述交易节点的燃料值恢复速度;
根据所述交易节点的所述当前交易和所述前一次交易的区块高度差与所述燃料值恢复速度,计算所述交易节点的燃料恢复值。
6.如权利要求5所述的联盟链的交易方法,其特征在于,所述获取所述交易节点的燃料值恢复速度的步骤包括:
获取所述交易节点的权重值;
根据所述权重值获取所述交易节点的燃料值恢复速度,其中,所述权重值越大,所述燃料值恢复速度越大。
7.如权利要求6所述的联盟链的交易方法,其特征在于,所述根据所述权重值获取所述交易节点的燃料值恢复速度的步骤包括:
获取预设的权重值与燃料值恢复速度的关联关系;
根据所述关联关系以及所述交易节点的所述权重值确定所述交易节点的燃料值恢复速度。
8.如权利要求1所述的联盟链的交易方法,其特征在于,所述在所述剩余燃料值小于或等于预设阈值时,将所述交易信息发送至交易等待列表的步骤之后,还包括:
预设时间间隔后,获取所述交易节点的当前燃料值;
在所述当前燃料值大于或等于完成所述交易所要消耗的燃料值时,对所述交易等待列表的交易信息进行交易。
9.一种联盟链交易系统,其特征在于,所述联盟链系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的交易程序,所述交易程序被所述处理器执行时实现如权利要求1至8中任一项所述的联盟链的交易方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有交易程序,所述交易程序被处理器执行时实现如权利要求1至8中任一项所述的联盟链的交易方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111656540.1A CN114463001A (zh) | 2021-12-30 | 2021-12-30 | 联盟链的交易方法、系统以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111656540.1A CN114463001A (zh) | 2021-12-30 | 2021-12-30 | 联盟链的交易方法、系统以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114463001A true CN114463001A (zh) | 2022-05-10 |
Family
ID=81406818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111656540.1A Pending CN114463001A (zh) | 2021-12-30 | 2021-12-30 | 联盟链的交易方法、系统以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114463001A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150132A (zh) * | 2022-06-13 | 2022-10-04 | 桂林电子科技大学 | 一种基于以太坊gas的联盟链抗DDOS攻击方法 |
-
2021
- 2021-12-30 CN CN202111656540.1A patent/CN114463001A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150132A (zh) * | 2022-06-13 | 2022-10-04 | 桂林电子科技大学 | 一种基于以太坊gas的联盟链抗DDOS攻击方法 |
CN115150132B (zh) * | 2022-06-13 | 2024-04-30 | 桂林电子科技大学 | 一种基于以太坊gas的联盟链抗DDOS攻击方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US11094008B2 (en) | Debt resolution planning platform for accelerating charge off | |
JP2022500768A (ja) | 熱負荷予測方法、装置、読み取り可能な媒体及び電子機器 | |
CN103514207A (zh) | 一种业务对象推送的方法以及装置 | |
CN110599341A (zh) | 交易调用方法及系统 | |
CN109117980A (zh) | 数据预填方法、装置及设备 | |
CN114463001A (zh) | 联盟链的交易方法、系统以及计算机可读存储介质 | |
CN110381150B (zh) | 区块链上的数据处理方法、装置、电子设备及存储介质 | |
CN106776757B (zh) | 用户完成网银操作的指示方法及装置 | |
CN108694588B (zh) | 虚拟资源请求方法及终端设备 | |
CN114841820A (zh) | 交易的风险控制方法及系统 | |
CN113391921B (zh) | 一种应用实例的资源配额校验方法 | |
US20240104642A1 (en) | Apparatus for processing non-fungible token | |
CN113034178A (zh) | 多系统积分计算方法、装置、终端设备和存储介质 | |
CN112149011A (zh) | 热度排行榜的更新方法、装置、服务器及计算机存储介质 | |
CN113837878B (zh) | 一种数据比对方法、装置、设备及存储介质 | |
CN112286623A (zh) | 一种信息处理方法及装置、存储介质 | |
US20210374619A1 (en) | Sequential machine learning for data modification | |
CN113254200B (zh) | 资源编排方法及智能体 | |
CN114331425A (zh) | 基于区块链的数字资产调用方法、系统、电子设备及可读存储介质 | |
US20220051189A1 (en) | Automatic negotiation apparatus, automatic negotiation method, and computer-readable recording medium | |
CN113094589A (zh) | 智能服务推荐方法及装置 | |
CN113313278A (zh) | 基于区块链的纪念币预约方法、用户终端及区块链节点 | |
CN105868990A (zh) | 一种限定从账号消费的方法及装置 | |
CN111784353B (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 |