CN109472566B - 区块动态生成方法、装置、计算机设备和存储介质 - Google Patents
区块动态生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109472566B CN109472566B CN201811122104.4A CN201811122104A CN109472566B CN 109472566 B CN109472566 B CN 109472566B CN 201811122104 A CN201811122104 A CN 201811122104A CN 109472566 B CN109472566 B CN 109472566B
- Authority
- CN
- China
- Prior art keywords
- transaction
- block
- time interval
- time
- new
- 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
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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/3827—Use of message hashing
-
- 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)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及区块链技术领域,尤其涉及一种区块动态生成方法、装置、计算机设备和存储介质。一种区块动态生成方法,包括如下步骤:根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。本申请通过交易频率实时改变区块的生成时间提升了区块链的扩展性和易用性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块动态生成方法、装置、计算机设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所述共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链技术具有去中心化、时序数据、集体维护、可编程和安全可信等特点。
目前,在区块链生成的过程中,通过共识节点的产生将区块链进行区块划分,共识节点一般为了提高交易处理效率以及提升网络带宽的利用率,会将在固定时间段内产生的交易合并到一个区块中处理。
但是,然而固定时间生成的共生节点,会延长交易的确认时间。这就会使得在某些业务场景下,不得不牺牲交易处理效率和宽带利用率,从而造成在区块链使用频率高时处理效率低,在使用频率低时出现闲置得不到有效利用。
发明内容
有鉴于此,有必要针对现有区块链处理效率低和宽带利用率低的问题,提供一种区块动态生成方法、装置、计算机设备和存储介质。
一种区块动态生成方法,包括如下步骤:
根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。
在其中一个实施例中,所述根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率,包括:
根据区块生成节点产生顺序执行区块中的交易,记录任一交易执行后的数据状态和所述区块的初始的数据状态;
将所述任一交易执行后的数据状态与所述区块初始的数据状态作比较,找出每个发生变化的数据;
记录所述任一交易中每个发生数据变化的变化节点,找出最早发生数据变化的最早变化节点和最晚发生数据变化的最晚变化节点;
用所述任一交易的最早变化节点减去上个交易的最晚变化节点,得到所述任一交易与上个交易的时间间隔;
汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率。
在其中一个实施例中,所述根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间,包括:
根据所述交易频率的最大值设置所述交易时间区间的上限Tmax,根据所述交易频率的最小值设置所述交易时间区间的下限Tmin;
设置一动态调节参数Ta,其中Tmin≤Ta≤Tmax,当所述区块的生成时间小于Tmin时则在所述区块生成时间上加上Ta得到新的区块生成时间,当所述区块的生成时间大于Tmax时则在原所述区块生成时间上减去Ta得到新的区块生成时间。
在其中一个实施例中,所述根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限,包括:
利用误差修正模型修正所述交易时间区间;
当引入一个新的交易后,若总交易时间超过修正后的所述交易时间区间的上限,则将从修正过的所述交易时间区间下限到所述新的交易之间所有交易打包成一区块;
当引入一个新的交易后,若总交易时间未超过修正后的所述交易时间区间上限,则将所述新的交易投放到交易缓冲池中,直到所述交易缓冲池中交易的总时间超过所述交易时间区间上限,抽取所述交易缓冲池中的所有交易数据打包成一区块。
在其中一个实施例中,汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率,包括:
去除所述区块内两个相邻交易的时间间隔最大值和最小值;
将剩余的所述时间间隔按照从小到大进行排序,计算平均时间间隔,并抽取从小到大排序后的所述时间间隔中的中位数或者中位数平均数;
将所述平均时间间隔与所述中位数或所述中位数平均数进行比较,若所述中位数与所述平均时间间隔的差值大于预设的差额阈值,或者,若所述中位数平均数与所述平均时间间隔的差值大于预设的差额阈值,则重新记录每个交易与上个交易的时间间隔,直到所述平均时间间隔的差值不大于预设的差额阈值。
在其中一个实施例中,所述根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率,包括:
获取每个交易生成时间,根据所述交易生成时间生成数个生成节点,按照生成节点产生顺序执行区块中的交易;
设置一交易筛选阈值,将生成时间早于所述交易筛选阈值的交易剔除,记录晚于所述交易筛选阈值的交易;
汇总所有晚于所述交易筛选阈值的交易的时间间隔,获得所述区块的交易频率。
在其中一个实施例中,所述根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限,还包括将所述新交易放入交易缓冲池中等待区块产生,具体包括:
对所述新交易中的数据进行解析,获取所述新交易的哈希值,将所述新交易的哈希值写入交易的位置图表中,所述位置图表存储在数据库中;
根据所述新交易的哈希值和预设于所述位置图表中的哈希值,计算得到共识节点N的默克尔根哈希值,并向其它共识节点广播所述共识节点N的默克尔根哈希值,所述共识节点N的默克尔根哈希值为所述新交易的哈希值与所述位置图表中预设的哈希值的差值的绝对值;
比较所述其它共识节点的默克尔根哈希值以及所述共识节点N的默克尔根哈希值,若一致则生成新的区块,否则向所述交易缓冲池中加入另外的新交易。
一种区块动态生成装置,包括如下模块:
获得交易频率模块,设置为根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
调节区块生成时间模块,设置为根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
检测验证模块,设置为根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述区块动态生成方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述区块动态生成方法的步骤。
上述区块动态生成方法、装置、计算机设备和存储介质,包括根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。本技术方案针对采用固定时间来划分区块,会造成延长交易时间、降低处理效率的问题,通过交易频率实时改变区块的生成时间提升了区块链的扩展性和易用性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为本申请的一种区块动态生成方法的整体流程图;
图2为本申请的一种区块动态生成方法中的获取交易频率过程示意图;
图3为本申请的一种区块动态生成方法中的交易频率修订调整过程示意图;
图4为本申请的一种区块动态生成方法中的新交易放入交易缓冲池中等待区块产生过程示意图;
图5为本申请的一种区块动态生成装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本申请一个实施例中的区块动态生成方法的流程图,如图1所示,一种区块动态生成方法,包括以下步骤:
S1、根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
具体的,判断上一个交易是否结束,就是对这个交易中的数据变化进行跟踪,如果在间隔一段时间后,该交易中的数据不发生变化则认为该交易结束。比如,股票交易中,如果一支股票的上涨或者下跌达到涨停值或者跌停值,则股票价格随着时间的变化曲线为平行与时间轴的直线,可以根据预设的涨停值或者跌停值来判断股票交易是否停止,也可以通过预设的时间间隔如1h股价不发生变动则可以认为交易结束。当重新开盘时发生股价的变动则重新记录交易。
通常提到“节点”,指的是区块链网络中的计算机,包括手机、矿机、台式机和服务器等等。操作一个节点的人可以是普通的钱包用户、矿工和多个人协作。例如比特币网络,是属于共有链,当我们在自己的已连接到互联网的电脑上运行bitcoind程序时,该电脑也就成为比特币网络中的一个节点。
S2、根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
具体的,交易频率值是随着交易量的大小随时变化的,比如银行在早上8点半到10点时间段内的交易频率大于中午11点到13点的交易频率,每个月25日左右发放养老金时的交易频率大于其它日期的交易频率。因此,对于银行来说,在每天早上8点半到10点区间内设定的交易时间阈值要小于中午11点到13点的交易频率;而在养老金发放日期则要对平时平峰时段的交易时间阈值进行调整缩小以适应当日突发交易量增大的事件。
S3、根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。
具体的,当一个新的交易被引入到区块中后,区块中的数据增加,处理数据的时间会相应的延长,但是并不是加入具有相同数据量的交易后,均增加相应的处理时间。例如,如果增加的新交易仅仅是上一个交易的重复操作,则所要只需重新调取上一个交易进行重复即可;而对于新交易与上一个交易内容完全不同的交易,如上一个交易是一个抛售某一个股票的交易,而新交易则是一个贷款交易,这两个交易分别对应证券交易所数据库和银行数据库,此时则会因为需要调取数据延长交易处理时间,进而触发定时器生成性的区块进行处理。
本申请通过上述方法步骤,实现了对区块生成时间的精准把控,提升了区块链处理交易的利用率和处理效率。
图2为本申请在一个实施例中,获取交易频率过程示意图,如图所示,所述步骤S1包括:
S101、根据区块生成节点产生顺序执行区块中的交易,记录任一交易执行后的数据状态和所述区块的初始的数据状态;
其中,区块生成节点的顺序可以是按照时间顺序进行排序,也可以根据区块的存储位置进行标记排序。
S102、将所述任一交易执行后的数据状态与所述区块初始的数据状态作比较,找出每个发生变化的数据;
具体的,比如,张三要购买一支股票,则在股票交易购买之前,张三个人账户所在区块中具有X元,而在张三购买股票完成后,张三个人账户所在区块中的余额变成X-Y元,也就是说在张三个人账户区块发生Y元的数据变化;而相应的张三所购买的股票所在的区块中增加了Y元,即也产生了数据变化。也就是说在整个区块链中,任意区块发生了数据变化必然会引发其它某一区块也发生数据变化,因此通过核对发生数据变化的关联性就可以找出每个发生变化的数据。
S103、记录所述任一交易中每个发生数据变化的变化节点,找出最早发生数据变化的最早变化节点和最晚发生数据变化的最晚变化节点;
在一个交易进行过程中,往往会引起数个数据的变化,最早发生数据变化的变化节点也就是该交易的开始时刻,而最晚发生数据变化的最晚变化节点是该交易的结束时刻,通过获取二者的差值变能获得该交易所耗费的时间。
S104、用所述任一交易的最早变化节点减去上个交易的最晚变化节点,得到所述任一交易与上个交易的时间间隔;
在实际进行交易时,往往不是连续进行的,比如在午休时,有些银行是停止交易的,或者因为设备的故障交易突然停止,这就需要统计出正常的两个交易的时间间隔和意外情况导致的突发时间间隔。对于正常的两个交易的时间间隔往往具有重复性,在对数据库中数据进行调取后通过数据统计找到相关两个交易每次的间隔时间,求平均值得到正常两个交易的时间间隔;而在突发状况时,其时间间隔往往与所述平均值相差较大,通过对异常数据的识别找出异常时间间隔,将其剔除,从而得到正常的时间间隔,并根据正常的时间间隔对交易情况进行汇总。
S105、汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率。
本实施例中,通过对交易过程中交易频率精准计算可以提升划分区块的速度,从而提升整个区块链的运行速度。
图3为本申请在一个实施例中,交易频率修订调整过程示意图,如图所示,所述步骤S2包括:
S201、根据所述交易频率的最大值设置所述交易时间区间的上限Tmax,根据所述交易频率的最小值设置所述交易时间区间的下限Tmin;
具体的,根据最近交易频率,动态调整区块链生成区块的时间:当交易频率比较低即交易间隔很长时,降低区块生成时间间隔,以达到交易快速确认的目的;当交易频率提高即交易间隔减小时,延长区块生成时间间隔,使得系统对交易进行批量处理,提高了处理效率。
S202、设置一动态调节参数Ta,其中Tmin≤Ta≤Tmax,当所述区块的生成时间小于Tmin时则在所述区块生成时间上加上Ta得到新的区块生成时间,当所述区块的生成时间大于Tmax时则在原所述区块生成时间上减去Ta得到新的区块生成时间。
在对一个新的区块链进行初始化时,可以设定区块生成时间的下限(tmin)和上限(tmax)以及动态调节时参数(ta),使得区块生成时间在合理范围内变化,例如:tmin=10ms,tmax=2s,ta=50ms,分别代表生成区块时间的下限是10毫秒,上限为2秒,自己动态调节时的参数为50毫秒,这三个参数可以在区块链运行期间实时更新。
假设有n个交易,没有收到交易,即n=0时,区块生成的初始时间t0=tα;收到第n个交易时,区块生成时间为tn,那么用来动态调节区块时间的公式为:
当Δttxn≥tmax时,tn=MAX(tmax,tn-1-ta),其中n=1,2,3…,t0=tmax
当Δttxn<tmax时,tn=MIN(tmin,tn-1+ta),其中n=1,2,3…,t0=tmax
本实施例,通过设定交易的最大时间阈值和最小时间阈值,具有如下好处:
a.当交易间隔时间延长时,会使得区块生成时间缩短,可以降低交易延迟的几率,达到交易快速确认的目的;
b.当交易间隔时间缩短时,会使得区块生成时间延长,可以在单个区块中包含更多的交易,使得系统对交易进行批量处理,提高了交易的处理效率以及吞吐量;
c.设定上限和下限可以防止区块生成时间过长或过短,使得区块生成时间在一个合理范围内变化。
在一个实施例中,所述根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限,包括:
利用误差修正模型修正所述交易时间区间;
其中,误差修正模型(Error Correction Model)对于非稳定时间序列,可通过差分的方法将其化为稳定序列,然后才可建立经典的回归分析模型。如:建立人均消费水平(Y)与人均可支配收入(X)之间的回归模型:
Yt=α0+α1Xt+μt
如果Y与X具有共同的向上或向下的变化趋势,进行差分,X,Y成为平稳序列,建立差分回归模型得:
ΔYt=α1ΔXt+vt
式中,vt=μt-μt-1。
当引入一个新的交易后,若总交易时间超过修正后的所述交易时间区间的上限,则将从修正过的所述交易时间区间下限到所述新的交易之间所有交易打包成一区块;
其中,产生新的区块说明引入新的交易后需要进行处理的数据量超过了该区块预设能够解决的数据量,此时需要其它区块协同交易内容进行处理,这样才能提升处理的效率。
当引入一个新的交易后,若总交易时间未超过修正后的所述交易时间区间上限,则将所述新的交易投放到交易缓冲池中,直到所述交易缓冲池中交易的总时间超过所述交易时间区间上限,抽取所述交易缓冲池中的所有交易数据打包成一区块。
具体的,当加入一个交易后没有达到产生新的区块的条件,可能存在着两种情况,第一种为该交易的数据量较小,应用一个区块就可以处理该交易产生的数据;另一种情况是新交易虽然包含的需要处理的数据量较大,但是根据映射关系其中很多数据需要做出处理的步骤与区块中其它交易相同,则不需要花费额外的处理时间,所以也不会产生新的区块。
在一个实施例中,汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率,包括:
去除所述区块内两个相邻交易的时间间隔最大值和最小值;
其中,去除所述区块内两个相邻交易的时间间隔最大值和最小值是为了减少突发状况导致的异常数据对计算交易频率产生的干扰。
将剩余的所述时间间隔按照从小到大进行排序,计算平均时间间隔,并抽取从小到大排序后的所述时间间隔中的中位数或者中位数平均数;
将所述平均时间间隔与所述中位数或所述中位数平均数进行比较,若所述中位数与所述平均时间间隔的差值大于预设的差额阈值,或者,若所述中位数平均数与所述平均时间间隔的差值大于预设的差额阈值,则重新记录每个交易与上个交易的时间间隔,直到所述平均时间间隔的差值不大于预设的差额阈值。
在本实施例中,差额阈值的设定是根据不同交易类型进行确定的,一般股票交易的差额阈值设定的往往较小,而银行存取款业务的差额阈值设定往往较大。还可以根据实际情况将差额阈值带入到深度学习模型中进行训练使其更加接近真实值。另外,如果中位数与所述平均时间间隔的差值大于时间阈值说明区块中的各个交易所耗费的时间不均等,有一个或几个耗费时间较长的交易,这样不利于区块效率的提升,所以要找到那些耗费时间较长的交易将其从区块中剔除,或者说将它们重新生成一个区块专门解决这些耗时久的交易。
在一个实施例中,所述根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率,包括:
获取每个交易生成时间,根据所述交易生成时间生成数个生成节点,按照生成节点产生顺序执行区块中的交易;
设置一交易筛选阈值,将生成时间早于所述交易筛选阈值的交易剔除,记录晚于所述交易筛选阈值的交易;
其中,在区块中进行交易过程中,历史数据会对最近发生的交易信息产生干扰,使在计算两个交易的时间间隔取平均值时与现在的情况不匹配,因此需要引入筛选阈值将某个节点前的交易数据进行剔除,使得平均时间间隔更能反应最近交易频率的状态,例如采用加权平均值的方法计算平均间隔时间,假设交易的时间序列为:ttx0,ttx1,ttx2…ttxn,初始的平均间隔时间Δt0为0,则交易的平均时间间隔为:
Δttxn=0.75Δttx(n-1)+0.25(ttxn-ttx(n-1)),其中交易量n=0,1,2,3...,Δt0=0
汇总所有晚于所述交易筛选阈值的交易的时间间隔,获得所述区块的交易频率。
本实施例通过对交易的时间间隔进行重新截取,更能够反映当前情况下交易的状况,从而更好的进行区块的生成。
图4为本申请在一个实施例中,新交易放入交易缓冲池中等待区块产生过程示意图,如图所示,所述步骤3还包括将所述新交易放入交易缓冲池中等待区块产生,具体包括:
S301、对所述新交易中的数据进行解析,获取所述新交易的哈希值,将所述新交易的哈希值写入交易的位置图表中,所述位置图表存储在数据库中;
具体的,取交易哈希值的某几位(例如:前三位)写入位图表,且一个位只能存放一个满足条件的交易哈希值,满足条件的其它交易将进行排队,例如:取前三位交易哈希值写入位图表,3(011)的位只能存放前三位交易哈希值为011的交易;存放入交易的位,其状态码由0转换为1,没有存放入交易的位,其状态码始终为0;
S302、根据所述新交易的哈希值和预设于所述位置图表中的哈希值,计算得到共识节点N的默克尔根哈希值,并向其它共识节点广播所述共识节点N的默克尔根哈希值,所述共识节点N的默克尔根哈希值为所述新交易的哈希值与所述位置图表中预设的哈希值的差值的绝对值;
默克尔根哈希值是默克尔树上哈希值的最底部的哈希值。其中,默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成,D0、D1、D2和D3是叶子节点包含的数据,也就是叶子节点的value,继续往上看,N0、N1、N2和N3是就是叶子节点,它是将数据(也就是D0、D1、D2和D3)进行hash运算后得到的hash值;继续往上看,N4和N5是中间节点,它们各是N0和N1经过hash运算得到的哈希值以及N2和N3经过hash运算得到的哈希值,注意,它们是把相邻的两个叶子结点合并成一个字符串,然后运算这个字符串的哈希;接着往上,Root节点是N4和N5经过hash运算后得到的哈希值,这就是这颗默克尔树根哈希值。
S303、比较所述其它共识节点的默克尔根哈希值以及所述共识节点N的默克尔根哈希值,若一致则生成新的区块,否则向所述交易缓冲池中加入另外的新交易。
其中,当共识节点的默克尔根哈希值一致时,说明该交易超出了区块的处理时间限定,需要生成新的区块进行数据处理。
本实施例通过引入哈希算法对定时器触发的条件进行进一步的限定,可以提升区块生成的精准度。
在一个实施例中,提供了一种区块动态生成装置,如图5所示,包括如下模块:
获得交易频率模块,设置为根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
调节区块生成时间模块,设置为根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
检测验证模块,设置为根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述各实施例中所述区块动态生成方法的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中所述区块动态生成方法的步骤。其中,所述存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种区块动态生成方法,其特征在于,包括:
根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限;
所述根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间,包括:
根据所述交易频率的最大值设置所述交易时间区间的上限Tmax,根据所述交易频率的最小值设置所述交易时间区间的下限Tmin;
设置一动态调节参数Ta,其中Tmin≤Ta≤Tmax,当所述区块的生成时间小于Tmin时则在所述区块生成时间上加上Ta得到新的区块生成时间,当所述区块的生成时间大于Tmax时则在原所述区块生成时间上减去Ta得到新的区块生成时间。
2.根据权利要求1所述的区块动态生成方法,其特征在于,所述根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率,包括:
根据区块生成节点产生顺序执行区块中的交易,记录任一交易执行后的数据状态和所述区块的初始的数据状态;
将所述任一交易执行后的数据状态与所述区块初始的数据状态作比较,找出每个发生变化的数据;
记录所述任一交易中每个发生数据变化的变化节点,找出最早发生数据变化的最早变化节点和最晚发生数据变化的最晚变化节点;
用所述任一交易的最早变化节点减去上个交易的最晚变化节点,得到所述任一交易与上个交易的时间间隔;
汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率。
3.根据权利要求1所述的区块动态生成方法,其特征在于,所述根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限,包括:
利用误差修正模型修正所述交易时间区间;
当引入一个新的交易后,若总交易时间超过修正后的所述交易时间区间的上限,则将从修正过的所述交易时间区间下限到所述新的交易之间所有交易打包成一区块;
当引入一个新的交易后,若总交易时间未超过修正后的所述交易时间区间上限,则将所述新的交易投放到交易缓冲池中,直到所述交易缓冲池中交易的总时间超过所述交易时间区间上限,抽取所述交易缓冲池中的所有交易数据打包成一区块。
4.根据权利要求2所述的区块动态生成方法,其特征在于,汇总所述区块内任意两个相邻交易的时间间隔,获得所述区块的交易频率,包括:
去除所述区块内两个相邻交易的时间间隔最大值和最小值;
将剩余的所述时间间隔按照从小到大进行排序,计算平均时间间隔,并抽取从小到大排序后的所述时间间隔中的中位数或者中位数平均数;
将所述平均时间间隔与所述中位数或所述中位数平均数进行比较,若所述中位数与所述平均时间间隔的差值大于预设的差额阈值,或者,若所述中位数平均数与所述平均时间间隔的差值大于预设的差额阈值,则重新记录每个交易与上个交易的时间间隔,直到所述平均时间间隔的差值不大于预设的差额阈值。
5.根据权利要求1所述的区块动态生成方法,其特征在于,所述根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率,包括:
获取每个交易生成时间,根据所述交易生成时间生成数个生成节点,按照生成节点产生顺序执行区块中的交易;
设置一交易筛选阈值,将生成时间早于所述交易筛选阈值的交易剔除,记录晚于所述交易筛选阈值的交易;
汇总所有晚于所述交易筛选阈值的交易的时间间隔,获得所述区块的交易频率。
6.根据权利要求1所述的区块动态生成方法,其特征在于,所述根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限,还包括将所述新交易放入交易缓冲池中等待区块产生,具体包括:
对所述新交易中的数据进行解析,获取所述新交易的哈希值,将所述新交易的哈希值写入交易的位置图表中,所述位置图表存储在数据库中;
根据所述新交易的哈希值和预设于所述位置图表中的哈希值,计算得到共识节点N的默克尔根哈希值,并向其它共识节点广播所述共识节点N的默克尔根哈希值,所述共识节点N的默克尔根哈希值为所述新交易的哈希值与所述位置图表中预设的哈希值的差值的绝对值;
比较所述其它共识节点的默克尔根哈希值以及所述共识节点N的默克尔根哈希值,若一致则生成新的区块,否则向所述交易缓冲池中加入另外的新交易。
7.一种区块动态生成装置,其特征在于,包括:
获得交易频率模块,设置为根据区块生成节点的产生顺序执行区块中的交易,记录每个交易与上个交易的时间间隔,获得所述区块的交易频率;
调节区块生成时间模块,设置为根据所述交易频率设置交易时间区间,在所述交易时间区间内,调节所述区块的生成时间;
检测验证模块,设置为根据所述交易时间区间动态生成区块,当一个新交易引入到所述区块后,若总交易时间大于所述交易时间区间的上限,则划分出新的区块,否则将所述新交易放入交易缓冲池中等待其它交易的引入,直到所述总交易时间大于所述交易时间区间的上限;
所述调节区块生成时间模块,具体设置为根据所述交易频率的最大值设置所述交易时间区间的上限Tmax,根据所述交易频率的最小值设置所述交易时间区间的下限Tmin;设置一动态调节参数Ta,其中Tmin≤Ta≤Tmax,当所述区块的生成时间小于Tmin时则在所述区块生成时间上加上Ta得到新的区块生成时间,当所述区块的生成时间大于Tmax时则在原所述区块生成时间上减去Ta得到新的区块生成时间。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项权利要求所述区块动态生成方法的步骤。
9.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项权利要求所述区块动态生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811122104.4A CN109472566B (zh) | 2018-09-26 | 2018-09-26 | 区块动态生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811122104.4A CN109472566B (zh) | 2018-09-26 | 2018-09-26 | 区块动态生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109472566A CN109472566A (zh) | 2019-03-15 |
CN109472566B true CN109472566B (zh) | 2023-09-29 |
Family
ID=65663193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811122104.4A Active CN109472566B (zh) | 2018-09-26 | 2018-09-26 | 区块动态生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109472566B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215621A (zh) * | 2019-07-12 | 2021-01-12 | 上海唯链信息科技有限公司 | 碳减排数据处理方法、设备和计算机可读存储介质 |
CN110569240B (zh) * | 2019-07-25 | 2023-04-07 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN111640020B (zh) * | 2020-05-22 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN112181700A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 一种故障交易隔离的方法及装置 |
CN112565104B (zh) * | 2020-12-01 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 区块链系统的流量控制方法、装置、介质及电子设备 |
CN112734574B (zh) * | 2021-01-11 | 2023-11-28 | 杭州复杂美科技有限公司 | 交易执行方法、计算机设备和存储介质 |
CN114916065A (zh) * | 2021-02-08 | 2022-08-16 | 索尼公司 | 电子设备、无线通信方法和计算机可读存储介质 |
CN113628053A (zh) * | 2021-09-03 | 2021-11-09 | 中电金信软件有限公司 | 一种交易余额的计算方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
WO2018119930A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10142312B2 (en) * | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
CN105956923B (zh) * | 2016-04-20 | 2022-04-29 | 上海如鸽投资有限公司 | 资产交易系统以及资产的数字化认证和交易方法 |
JP6628188B2 (ja) * | 2016-05-10 | 2020-01-08 | 日本電信電話株式会社 | 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム |
US11165754B2 (en) * | 2016-06-16 | 2021-11-02 | The Bank Of New York Mellon | Managing verifiable, cryptographically strong transactions |
CN107274159A (zh) * | 2017-06-09 | 2017-10-20 | 北京泛融科技有限公司 | 一种基于区块并发执行算法的记账系统及方法 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN108288156B (zh) * | 2018-01-04 | 2020-08-14 | 杭州复杂美科技有限公司 | 一种区块链交易的存储及排队方法 |
-
2018
- 2018-09-26 CN CN201811122104.4A patent/CN109472566B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119930A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109472566A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472566B (zh) | 区块动态生成方法、装置、计算机设备和存储介质 | |
KR100751965B1 (ko) | 탈퇴 고객들을 예측하기 위한 방법 및 시스템 | |
US11367075B2 (en) | Method, apparatus and electronic device for identifying risks pertaining to transactions to be processed | |
US7926103B2 (en) | System and method for preventing replay attacks | |
US20190066211A1 (en) | Dynamic peg orders in an electronic trading system | |
US11929985B2 (en) | Network-based authentication rule cleaning and optimization | |
US20220351207A1 (en) | System and method for optimization of fraud detection model | |
Girardin et al. | The Chinese stock market: a casino with'buffer zones'? | |
WO2021027612A1 (zh) | 一种区块链中的交易执行方法及装置 | |
CN110532294A (zh) | 话单合并方法、装置、设备及计算机可读存储介质 | |
CN109558409A (zh) | 数据处理方法及装置 | |
CN116186629B (zh) | 基于个性化联邦学习的金融客户分类及预测方法、装置 | |
US10902428B1 (en) | Maintaining a risk model using feedback directed to other risk models | |
CN117036001A (zh) | 交易业务的风险识别处理方法、装置、设备及存储介质 | |
CN112085499A (zh) | 限额账户数据的处理方法及装置 | |
US11789984B2 (en) | Methods and systems for classifying database records by introducing time dependency into time-homogeneous probability models | |
Tsay | Autoregressive conditional duration models | |
TW202314620A (zh) | 資訊處理裝置、資訊處理方法及程式產品 | |
US20120254061A1 (en) | Loan resolution modeling using discrete event simulation methodology | |
US10659388B1 (en) | Transaction processing throttle with dynamic transaction load balancing and transaction starvation prevention | |
CN113393320A (zh) | 企业金融服务风险预测方法及装置 | |
Kasahara | Severity of financing constraints and firms' investments | |
CN113222744A (zh) | 一种数据可信处理的方法、装置、存储介质及电子设备 | |
US20240112157A1 (en) | Liquidation management operations for improved ledger performance | |
US20240061949A1 (en) | Systems and methods for deterministic ordering and enforcing intra-block fairness in distributed ledger implementations |
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 |