CN109783478A - 一种utxo数据存储方法、装置、设备及存储介质 - Google Patents
一种utxo数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109783478A CN109783478A CN201910184883.9A CN201910184883A CN109783478A CN 109783478 A CN109783478 A CN 109783478A CN 201910184883 A CN201910184883 A CN 201910184883A CN 109783478 A CN109783478 A CN 109783478A
- Authority
- CN
- China
- Prior art keywords
- utxo
- target
- account
- date
- expired
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013500 data storage Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005012 migration Effects 0.000 claims description 5
- 238000013508 migration Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 3
- 230000004069 differentiation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 1
- 235000011941 Tilia x europaea Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Abstract
本发明公开了一种UTXO数据存储方法,包括:将最后交易时间在预设时间之前的账户作为冷区账户;识别所述冷区账户中的过期UTXO和未过期UTXO;将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。可见,在本方案中,根据账户的活跃度对账户进行区分,识别数据库中的活跃度较差的冷区账户,进而识别冷区账户中的过期UTXO,将过期UTXO迁移至硬盘数据库,从而增大内存有效利用空间,以便保证交易的顺利进行。本发明还公开了一种UTXO数据存储装置、设备及计算机可读存储介质,同样能实现上述技术效果。
Description
技术领域
本发明涉及区块链数据库存储技术领域,更具体地说,涉及一种UTXO数据存储方法、装置、设备及计算机可读存储介质。
背景技术
UTXO(Unspent Transaction Outputs)是数字加密货币系统中使用的一种数据结构,它的最小单位是交易,每个交易对应到金额。UTXO一旦被创建便不可分割,遵循能量守恒定律,负责在交易中实现货币的价值转移,以比特币钱包为例,在比特币钱包里看到的账户余额,实际上就是UTXO聚合计算的产物。UTXO作为数字加密货币系统中独创的价值转移基本单元,具有安全性和稳定性。
目前,UTXO数据库膨胀的很厉害,2015年5月,UTXO数据库压缩以后650MB,解压后占内存4GB。一年之后,压缩体积1.3GB,解压后占内存8GB,一年增大了一倍。依照这个一年一番的速度增长,估计到2025年,要想把UTXO数据库放进节点内存里,仅买内存就需花4,000美元,投入的经济成本将不断增大。并且,在数字加密货币系统中,用户通过私钥管理自己的钱包地址,拥有私钥才能拥有此地址下资金的使用权,但是目前有很多用户丢失了自己钱包的私钥,使得地址中存放的UTXO变成了一笔永远不能被使用的死账存放在UTXO数据库中,从而加大UTXO数据库的体积,导致节点内存负担加重,从而影响交易的有效性、可行性及交易速度。
发明内容
本发明的目的在于提供一种UTXO数据存储方法、装置、设备及计算机可读存储介质,以避免由于UTXO数据库膨胀速度快或者死账多等现象占用大量内存空间,影响交易的有效性、可行性及交易速度。
为实现上述目的,本发明实施例提供了如下技术方案:
一种UTXO数据存储方法,包括:
将最后交易时间在预设时间之前的账户作为冷区账户;
识别所述冷区账户中的过期UTXO和未过期UTXO;
将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
其中,所述识别所述冷区账户中的过期UTXO和未过期UTXO,包括:
确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
依次判断每个UTXO的产生时长是否大于预定时长阈值;
将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO。
其中,将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中之后,还包括:
若接收到目标交易,则判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;若是,则从所述内存数据库获取目标UTXO;若否,则从所述硬盘数据库中获取所述目标UTXO;
判断所述目标UTXO是否为合法有效的UTXO;
若是,则根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库;若否,则结束交易。
其中,所述从所述硬盘数据库中获取所述目标UTXO,包括:
从所述硬盘数据库中查找所述目标UTXO,并将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作。
一种UTXO数据存储装置,包括:
账户分类模块,用于将最后交易时间在预设时间之前的账户作为冷区账户;
识别模块,用于识别所述冷区账户中的过期UTXO和未过期UTXO;
迁移模块,用于将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
其中,所述识别模块包括:
产生时长确定单元,用于确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
判断单元,用于依次判断每个UTXO的产生时长是否大于预定时长阈值;将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO。
其中,本方案还包括:
第一判断模块,用于接收到目标交易时,判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;
第一获取模块,用于在所述内存数据库中存有所述目标交易的输入来源的目标UTXO时,从所述内存数据库获取目标UTXO;
第二获取模块,用于在所述内存数据库中不存有所述目标交易的输入来源的目标UTXO时,从所述硬盘数据库中获取所述目标UTXO;
第二判断模块,用于判断所述目标UTXO是否为合法有效的UTXO;若否,则结束交易;
执行模块,用于在所述目标UTXO为合法有效的UTXO时,根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库。
其中,所述第二获取模块,包括:
查找单元,用于从所述硬盘数据库中查找所述目标UTXO;
迁移单元,用于将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
扣费单元,用于根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作。
一种UTXO数据存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的UTXO数据存储方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的UTXO数据存储方法的步骤。
通过以上方案可知,本发明实施例提供的一种UTXO数据存储方法,包括:将最后交易时间在预设时间之前的账户作为冷区账户;识别所述冷区账户中的过期UTXO和未过期UTXO;将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
可见,在本方案中,根据账户的活跃度对账户进行区分,识别数据库中的活跃度较差的冷区账户,进而识别冷区账户中的过期UTXO,将过期UTXO迁移至硬盘数据库,从而增大内存有效利用空间,以便保证交易的顺利进行。
本发明还公开了一种UTXO数据存储装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种UTXO数据存储方法流程示意图;
图2为本发明实施例公开的另一种UTXO数据存储方法流程示意图;
图3为本发明实施例公开的一种系统整体运行示意图;
图4为本发明实施例公开的一种UTXO数据存储装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在数字加密货币系统中,UTXO数据库存放在节点内存,也即:将保存UTXO的数据库为内存数据库,这样才可以保证交易的正确进行,也就是说,内存空间的大小会直接影响交易的有效性、可行性和交易速度。
而在当前数字加密货币系统中:(1)使用UTXO进行交易时,UTXO一旦被创建便不可分割,任何一笔交易输入总量必须等于交易输出总量,等式两端必须配平,因此每产生一笔交易就可能会产生多个UTXO,这有可能使得UTXO数据库膨胀无法控制。(2)拥有私钥才能拥有该地址中UTXO的使用权,丢失私钥就会使得该地址下的UTXO成为一笔死账不能被继续使用,即使UTXO永远不会被使用,也会一直保存在UTXO数据库中,造成数据库体积增大,导致内存空间负担加重,目前很多用户丢失了自己的私钥。
综上,当前的数字加密货币系统无法控制UTXO数据库的膨胀也无法解决死账的问题。因此,本发明实施例公开了一种UTXO数据存储方法、装置、设备及计算机可读存储介质,以避免由于UTXO数据库膨胀速度快或者死账多等现象占用大量内存空间,影响交易的有效性、可行性及交易速度。
参见图1,本发明实施例提供的一种UTXO数据存储方法,包括:
S101、将最后交易时间在预设时间之前的账户作为冷区账户;
需要说明的是,随着系统中交易的不断发生,UTXO的数量会越来越多,数据库也会随之膨胀,而内存的空间是有限制的,UTXO数据库不断增大最终会造成后续的UTXO数据库中的数据无法全部放入内存的问题,从而无法完成交易。由于UTXO只有放入内存数据库中才能被使用,因此在本方案中,根据最近的交易记录时间进行账户活跃度区分,将用户分为冷区、热区。
具体来说,本方案中的内存节点读取UTXO数据库时,需要根据最近交易记录的时间对账户进行活跃度区分,在本方案中,为了进行区分,设定了预设时间,将最后交易时间在预设时间之前的账户作为冷区账户,并继续对冷区账户进行UTXO的过期识别;将最后交易时间在预设时间之后的账户作为热区账户,热区账户表示最近有交易的账户,因此,需要将热区账户的数据存入/保持在节点内存中,并不进行迁移。
例如:如果预设时间为2017年6月,那么最后交易时间在2017年6月之前的账户便为冷区账户,最后交易时间在2017年6月之后的账户便为热区区账户,不做迁移操作,继续保持在内存数据库中。
可以看出,本方案与目前技术相比,在原有技术的基础上增加了账户活跃度区分这一过程,根据交易记录时间将用户区分为冷区账户和热区账户的这一方法更加有效区分死账烂账,同时也保证活跃度高的账户交易顺利进行。
S102、识别所述冷区账户中的过期UTXO和未过期UTXO;
具体的,对于冷区账户需要进行UTXO的过期识别,本方案在进行UTXO过期识别时,可以依据UTXO从最后一次调用至当前之间的时长来判定,如果该时长大于预设时长阈值,说明过期,如果不大于,则不过期;另外,本方案还可以根据UTXO自产生至当前之间的时长来判定,如果该时长大于预设时长阈值,说明过期,如果不大于,则不过期;可以看出,本方案在对过期UTXO进行识别时,可按照实际情况来进行判定,在此并不具体限定。
需要说明的是,本方案在对进行过期UTXO识别时,无论通过哪种方式识别,其都会有一个预设时长阈值来进行过期或者未过期的区分,该预设时长阈值可以表示为TO(TIMEOUT),该TO是针对冷区账户预先设置好的,并且,该TO值并非是固定的,系统会依据目前内存的价格趋势和交易数量的增长趋势,每半年或一年对TO进行动态的调整,因此在进行UTXO的过期识别之前,需要检查一下该TO值是否为调整后的最新的TO值,如果不是最新的TO值,则引用调整之后的TO值进行过期识别。
目前数字加密货币系统的内存节点读取UTXO数据库中的所有数据,不区分是否过期,因此导致内存空间不够用,影响交易的执行;而在本方案中,通过对冷区账户进行过期识别,能够减轻节点的内存负担,并且本技术方案通过对过期时间的动态调整,更加能够反映内存的单位价格和交易的数量变化趋势,达到对数据库膨胀更有效的控制。
S103、将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
具体的,进行过期识别后,如果根据TO值判定UTXO为已过期,那么系统会将过期的UTXO移入硬盘中进行存放,从而增大内存有效利用空间,保证交易的顺利进行。将未过期的UTXO存放入或保持在内存数据库中。需要说明的是,本方案所述的UTXO数据存储方案不仅可以应用数字加密货币系统,还可以应用于各种去中心化区块链系统。
综上可以看出,本方案可以使得数字加密货币系统能够自动识别出长期不用的UTXO,将其从内存数据库转移到硬盘中,从而可以减少对内存存储空间的占用,同时降低UTXO数据库的膨胀速度,进而达到改进UTXO数据库存储方案的目的,通过上述的过期管理存储方法,可以达到有效避免死账和UTXO数据库膨胀的目的。
参见图2,本发明实施例提供的另一种UTXO数据存储方法,包括:
S201、将最后交易时间在预设时间之前的账户作为冷区账户;
S202、确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
S203、依次判断每个UTXO的产生时长是否大于预定时长阈值;
S204、将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO;
具体的,在本实施例中,对于过期UTXO的判定,需要依据冷区用户中UTXO产生到目前的时间长度和调整好的TO值进行比较,若大于等于过期时间TO则识别结果为已过期,将其存放入硬盘数据库中,若小于TO则识别结果为未过期,将未过期UTXO放入或保持在内存数据库中。
S205、将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中;
S206、若接收到目标交易,则判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;若是,则执行S207,若否,则执行S208;
S207、从所述内存数据库获取目标UTXO;
S208、从所述硬盘数据库中查找所述目标UTXO,并将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
参见图3,为本实施例公开的一种系统整体运行示意图;通过图3可以看出,在本方案中,如果系统到来一笔交易,需要查找这笔交易输入来源的UTXO;在查找时,系统优先在内存数据库中查找,若内存数据库中未找到,则前往硬盘数据库中进行查找;若在硬盘数据库中查找到所需的UTXO,则对其进行激活操作,也即将该UTXO重新放入内存数据库中。
目前现有数字加密货币系统中节点内存不能屏蔽掉UTXO数据库中的死账烂账,从而无效占用内存空间,加重内存的负担。因此在本方案中,将过期UTXO移入硬盘数据库,在需要时再重新激活,从而有效减轻了节点内存的负担,使节点内存中存放的都是尽可能有效的UTXO。
S209、根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作;
在本方案中,当一笔过期的UTXO重新被激活进行使用时,系统会先对其收取手续费,收取手续费的数量可以依据公式:收取的手续费=[TL/TO]×M(其中TL表示该UTXO从产生到当前的时间长度,TO为当前系统最近一次调整好的TO值,M为货币的数量,是系统预设好的一个常数值),若该UTXO中的余额不足以支付所需的手续费,则将该笔UTXO中的余额全部收取完。
可以看出,由于现有数字加密系统中内存节点存放完整的UTXO数据库,一直不被使用的无用UTXO也会存放进来,浪费内存空间,加大节点内存负担,影响交易速度。而在本方案中,通过这种执行扣费操作的机制,会向长期不用或无法使用的UTXO收取手续费,从而帮助降低UTXO数据库的膨胀速度,有效防止用户产生死账烂账。
S210、判断所述目标UTXO是否为合法有效的UTXO;若是,则执行S211,若否,则执行S212;
S211、根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库;
S212、结束交易。
进一步的,本方案还需要验证获取的UTXO是否是有效合法的UTXO,若该笔UTXO合法有效,则继续进行交易,若非法无效,则终止交易。完成交易,等待系统确认后,需将新生成的UTXO存入UTXO内存数据库中。通过上述实施例可以看出,本方案可以自动识别出过期UTXO将其移入硬盘,并自动计算硬盘中的UTXO的存放时间,对其根据系统新调整好的TO值收取手续费,这种通过向过期UTXO收取手续费的方式,可以屏蔽长期不用的烂账和死账,防止用户开设无用地址,以免造成数据库膨胀过快影响节点内存运行。
为了让本领域技术人员更加理解本方案,下面以A、B用户为例进行说明。
A用户向B用户支付数字货币就会产生一笔UTXO存放于UTXO数据库中,只有B用户拥有这笔UTXO地址的私钥,这笔UTXO只有B用户才能进行使用,由于某种原因,B用户丢失了自己的私钥,不能使用这笔UTXO进行下一步交易,此时这笔UTXO成为了一笔永远不会被使用的死账一直存放在UTXO数据库中,每次节点内存读取UTXO数据库数据时都会将这笔无效的UTXO读入内存中,导致内存空间被无效占用,影响内存的交易速度。在数字加密货币系统中,存在很多这种丢失私钥的用户而使得UTXO数据库膨胀,造成内存空间资源被浪费。
因此,本方案在此基础上对UTXO的存储方案进行改进,对账户进行活跃度区分,并对冷区账户进行UTXO的过期识别,将冷区账户中过期的UTXO移入硬盘中进行存放,并在需要重新激活使用时对其收取手续费,经过长时间的循环操作,无效的UTXO会被移出UTXO数据库,从而减少死账烂账达到降低UTXO数据库膨胀和增大内存空间的目的。
下面对本发明实施例提供的数据存储装置进行介绍,下文描述的数据存储装置与上文描述的数据存储方法可以相互参照。
参见图4,本发明实施例提供的一种UTXO数据存储装置,包括:
账户分类模块100,用于将最后交易时间在预设时间之前的账户作为冷区账户;
识别模块200,用于识别所述冷区账户中的过期UTXO和未过期UTXO;
迁移模块300,用于将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
其中,所述识别模块包括:
产生时长确定单元,用于确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
判断单元,用于依次判断每个UTXO的产生时长是否大于预定时长阈值;将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO。
其中,本方案还包括:
第一判断模块,用于接收到目标交易时,判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;
第一获取模块,用于在所述内存数据库中存有所述目标交易的输入来源的目标UTXO时,从所述内存数据库获取目标UTXO;
第二获取模块,用于在所述内存数据库中不存有所述目标交易的输入来源的目标UTXO时,从所述硬盘数据库中获取所述目标UTXO;
第二判断模块,用于判断所述目标UTXO是否为合法有效的UTXO;若否,则结束交易;
执行模块,用于在所述目标UTXO为合法有效的UTXO时,根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库。
其中,所述第二获取模块,包括:
查找单元,用于从所述硬盘数据库中查找所述目标UTXO;
迁移单元,用于将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
扣费单元,用于根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作。
本发明实施例还公开了一种UTXO数据存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述实施例所述的UTXO数据存储方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的UTXO数据存储方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种UTXO数据存储方法,其特征在于,包括:
将最后交易时间在预设时间之前的账户作为冷区账户;
识别所述冷区账户中的过期UTXO和未过期UTXO;
将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
2.根据权利要求1所述的UTXO数据存储方法,其特征在于,所述识别所述冷区账户中的过期UTXO和未过期UTXO,包括:
确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
依次判断每个UTXO的产生时长是否大于预定时长阈值;
将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO。
3.根据权利要求2所述的UTXO数据存储方法,其特征在于,将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中之后,还包括:
若接收到目标交易,则判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;若是,则从所述内存数据库获取目标UTXO;若否,则从所述硬盘数据库中获取所述目标UTXO;
判断所述目标UTXO是否为合法有效的UTXO;
若是,则根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库;若否,则结束交易。
4.根据权利要求3所述的UTXO数据存储方法,其特征在于,所述从所述硬盘数据库中获取所述目标UTXO,包括:
从所述硬盘数据库中查找所述目标UTXO,并将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作。
5.一种UTXO数据存储装置,其特征在于,包括:
账户分类模块,用于将最后交易时间在预设时间之前的账户作为冷区账户;
识别模块,用于识别所述冷区账户中的过期UTXO和未过期UTXO;
迁移模块,用于将所述过期UTXO迁移至硬盘数据库,所述未过期UTXO保持在内存数据库中。
6.根据权利要求5所述的UTXO数据存储装置,其特征在于,所述识别模块包括:
产生时长确定单元,用于确定所述冷区账户中每个UTXO的产生时长;其中,所述产生时长为从产生UTXO的时间至当前时间的时长;
判断单元,用于依次判断每个UTXO的产生时长是否大于预定时长阈值;将产生时长大于等于所述预定时长阈值的UTXO作为过期UTXO,将产生时长不大于所述预定时长阈值的UTXO作为未过期UTXO。
7.根据权利要求6所述的UTXO数据存储装置,其特征在于,还包括:
第一判断模块,用于接收到目标交易时,判断所述内存数据库中是否存有所述目标交易的输入来源的目标UTXO;
第一获取模块,用于在所述内存数据库中存有所述目标交易的输入来源的目标UTXO时,从所述内存数据库获取目标UTXO;
第二获取模块,用于在所述内存数据库中不存有所述目标交易的输入来源的目标UTXO时,从所述硬盘数据库中获取所述目标UTXO;
第二判断模块,用于判断所述目标UTXO是否为合法有效的UTXO;若否,则结束交易;
执行模块,用于在所述目标UTXO为合法有效的UTXO时,根据所述目标UTXO进行交易,并将产生的UTXO存入所述内存数据库。
8.根据权利要求7所述的UTXO数据存储装置,其特征在于,所述第二获取模块,包括:
查找单元,用于从所述硬盘数据库中查找所述目标UTXO;
迁移单元,用于将所述目标UTXO从所述硬盘数据库迁移至内存数据库中;
扣费单元,用于根据所述目标UTXO的产生时长、所述预定时长阈值及货币数量,对所述目标UTXO执行扣费操作。
9.一种UTXO数据存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的UTXO数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的UTXO数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910184883.9A CN109783478A (zh) | 2019-03-12 | 2019-03-12 | 一种utxo数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910184883.9A CN109783478A (zh) | 2019-03-12 | 2019-03-12 | 一种utxo数据存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783478A true CN109783478A (zh) | 2019-05-21 |
Family
ID=66489037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910184883.9A Pending CN109783478A (zh) | 2019-03-12 | 2019-03-12 | 一种utxo数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783478A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016082227A1 (zh) * | 2014-11-29 | 2016-06-02 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN106302634A (zh) * | 2016-07-25 | 2017-01-04 | 乐视控股(北京)有限公司 | 一种数据迁移方法和系统 |
WO2017101576A1 (zh) * | 2015-12-16 | 2017-06-22 | 中兴通讯股份有限公司 | 一种数据资源存储方法及装置 |
CN108876335A (zh) * | 2018-09-07 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种余额管理方法和系统、设备及存储介质 |
CN109274752A (zh) * | 2018-10-10 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 区块链数据的访问方法及装置、电子设备、存储介质 |
US20190066228A1 (en) * | 2016-02-23 | 2019-02-28 | nChain Holdings Limited | Cryptographic method and system for secure extraction of data from a blockchain |
CN109445695A (zh) * | 2018-10-19 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种数据迁移方法 |
-
2019
- 2019-03-12 CN CN201910184883.9A patent/CN109783478A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016082227A1 (zh) * | 2014-11-29 | 2016-06-02 | 华为技术有限公司 | 一种数据存储方法及装置 |
WO2017101576A1 (zh) * | 2015-12-16 | 2017-06-22 | 中兴通讯股份有限公司 | 一种数据资源存储方法及装置 |
US20190066228A1 (en) * | 2016-02-23 | 2019-02-28 | nChain Holdings Limited | Cryptographic method and system for secure extraction of data from a blockchain |
CN106302634A (zh) * | 2016-07-25 | 2017-01-04 | 乐视控股(北京)有限公司 | 一种数据迁移方法和系统 |
CN108876335A (zh) * | 2018-09-07 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种余额管理方法和系统、设备及存储介质 |
CN109274752A (zh) * | 2018-10-10 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 区块链数据的访问方法及装置、电子设备、存储介质 |
CN109445695A (zh) * | 2018-10-19 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种数据迁移方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
John et al. | Economic implications of scaling blockchains: Why the consensus protocol matters | |
CN107679856B (zh) | 基于交易的业务控制方法和装置 | |
CN107346463B (zh) | 风险控制模型的训练、模型输入数据确定方法及装置 | |
US11961136B2 (en) | Efficient, accurate, and secure transfers of internally-custodied digital assets | |
CN107451918B (zh) | 资产数据管理方法及装置 | |
CN108052279A (zh) | 一种提升闪存性能的方法、装置、设备及存储介质 | |
CN111966757B (zh) | 智能合约账户的存储空间管理方法和装置 | |
CN111966538B (zh) | 一种区块链数据的恢复方法和装置 | |
KR20070057288A (ko) | 메모리주소를 이용한 카드승인정보의 관리방법 및 그를이용한 신용카드 시스템 | |
CN111966503B (zh) | 智能合约账户的存储空间管理方法和装置 | |
CN112015576A (zh) | 一种智能合约的调用方法和装置 | |
Palmer et al. | Reducing the costs of meeting regional water demand through risk-based transfer agreements | |
CN113553378A (zh) | 一种区块链数据的删除方法和装置 | |
CN112884575A (zh) | 合约交易系统 | |
CN106899519A (zh) | 支付渠道流量配置方法及装置 | |
CN108921703A (zh) | 理财推荐方法、装置和电子设备 | |
CN112015577B (zh) | 一种智能合约的调用方法和装置 | |
CN113409140A (zh) | 区块链数据处理方法、装置、计算机设备和存储介质 | |
JP2023514633A (ja) | マルチコンピュータネットワークにおけるリソースへのアクセスを制御するためのシステム及び方法 | |
CN109783478A (zh) | 一种utxo数据存储方法、装置、设备及存储介质 | |
CN107194712B (zh) | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 | |
CN113222574B (zh) | 一种基于区块链系统的汇款方法及装置 | |
CN110060146B (zh) | 一种数据转移方法及相关设备 | |
CN115456772A (zh) | 一种智能合约的创建方法和装置 | |
CN111669341A (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: 20190521 |