区块处理方法、装置、区块链节点和计算机可读存储介质与流程

文档序号:35357544发布日期:2023-09-08 00:41阅读:17来源:国知局
区块处理方法、装置、区块链节点和计算机可读存储介质与流程

本技术涉及区块链,具体涉及一种区块处理方法、装置、区块链节点和计算机可读存储介质。


背景技术:

1、区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点,所以越来越多的人喜欢通过区块链实现交易。

2、目前,将区块链中交易数据、区块和未花费输出(unspent transaction output,utxo)数据存储在内存池中。但内存池的大小是固定的,灵活性较低,成本较高。


技术实现思路

1、本技术实施例提供一种区块处理方法、装置、区块链节点和计算机可读存储介质,可以解决交易数据、区块和未花费输出存储在内存池,成本较高的技术问题。

2、一种区块处理方法,包括:

3、获取目标区块,上述目标区块为根据待打包交易数据生成的区块,上述待打包交易数据存储于对象存储的目标存储桶中;

4、从上述目标存储桶中获取上述目标区块中目标账户的目标未花费输出数据;

5、根据上述目标未花费输出数据对上述目标区块进行校验;

6、若校验通过,则将上述目标区块存储至上述目标存储桶中。

7、相应地,本技术实施例提供另一种区块处理方法,包括:

8、向对象存储的目标存储桶发送获取请求,上述获取请求包括待打包交易数据的起始量;

9、接收上述目标存储桶基于上述获取请求返回的上述待打包交易数据;

10、若上述待打包交易数据不满足预设条件,则更新上述获取请求中的起始量,并返回执行向对象存储的目标存储桶发送获取请求;

11、若上述待打包交易数据满足预设条件,则根据上述待打包交易数据生成目标区块,并将上述目标区块进行广播,以使第一区块链节点从上述目标存储桶中获取上述目标区块中目标账户的目标未花费输出数据,并根据上述目标未花费输出数据对上述目标区块进行校验,若校验通过,则将上述目标区块存储至上述目标存储桶中。

12、相应地,本技术实施例提供一种区块处理装置,包括:

13、第一获取模块,用于获取目标区块,上述目标区块为根据待打包交易数据生成的区块,上述待打包交易数据存储于对象存储的目标存储桶中;

14、第二获取模块,用于从上述目标存储桶中获取上述目标区块中目标账户的目标未花费输出数据;

15、区块交易模块,用于根据上述目标未花费输出数据对上述目标区块进行校验;

16、区块存储模块,用于若校验通过,则将上述目标区块存储至上述目标存储桶中。

17、可选地,第二获取模块具体用于执行:

18、从上述目标存储桶中获取上述目标区块中目标账户的初始未花费输出数据的初始标识;

19、根据上述初始标识和本地缓存标识,确定本地缓存的未有标识;

20、从上述目标存储桶中获取上述未有标识对应的存储未花费输出数据;

21、根据上述存储未花费输出数据和上述本地缓存标识对应的缓存未花费输出数据确定目标未花费输出数据。

22、可选地,区块处理装置还包括:

23、存储删除模块,用于:

24、若校验通过,则基于上述目标区块确定上述目标账户的新未花费输出数据和被消耗的目标未花费输出数据;

25、在上述目标存储桶中删除上述被消耗的目标未花费输出数据和存储上述新未花费输出数据。

26、可选地,上述目标存储桶包括标准存储桶和低频存储桶,上述待打包交易数据存储于上述标准存储桶中。

27、相应地,第二获取模块具体用于执行:

28、从上述标准存储桶中获取上述目标账户的目标未花费输出数据;

29、存储删除模块具体用于执行:

30、在上述标准存储桶中删除上述被消耗的目标未花费输出数据和存储上述新未花费输出数据。

31、可选地,区块处理装置还包括:

32、区块调度模块,用于:

33、获取预设边界值;

34、根据上述预设边界值和上述目标区块的标识确定先前区块,上述先前区块存储于上述标准存储桶;

35、从先前区块中获取至少一种初始属性信息;

36、根据初始属性信息,确定先前区块的冷热状态;

37、若上述先前区块的冷热状态为冷状态,则将上述先前区块存储至上述低频存储桶中,并在上述标准存储桶中删除上述先前区块。

38、可选地,上述初始属性信息为上述先前区块中初始账户。

39、相应地,区块调度模块具体用于执行:

40、若上述初始账户位于预设账户集合中,则将上述先前区块的冷热状态确定为热状态;

41、若上述初始账户不位于预设账户集合中,则将上述先前区块的冷热状态确定为冷状态。

42、可选地,上述初始属性信息为上述先前区块中初始交易的数量。

43、相应地,区块调度模块具体用于执行:

44、若上述初始交易的数量大于预设交易数量,则将上述先前区块的冷热状态确定为热状态;

45、若上述初始交易的数量小于或等于上述预设交易数量,则将上述先前区块的冷热状态确定为冷状态。

46、可选地,区块存储模块具体用于执行:

47、从上述目标区块中获取至少一种目标属性信息;

48、根据上述目标属性信息,确定上述目标区块的冷热状态;

49、若校验通过且上述目标区块的冷热状态为热状态,则将上述目标区块存储至上述标准存储桶中;

50、若校验通过且上述目标区块的冷热状态为冷状态,则将上述目标区块存储至上述低频存储桶中。

51、相应地,本技术实施例提供另一种区块处理装置,包括:

52、获取模块,用于向对象存储的目标存储桶发送获取请求,上述获取请求包括待打包交易数据的起始量;

53、接收模块,用于接收上述目标存储桶基于上述获取请求返回的上述待打包交易数据;

54、更新模块,用于若上述待打包交易数据不满足预设条件,则更新上述获取请求中的起始量,并返回执行向对象存储的目标存储桶发送获取请求;

55、生成模块,用于若上述待打包交易数据满足预设条件,则根据上述待打包交易数据生成目标区块,并将上述目标区块进行广播,以使第一区块链节点从上述目标存储桶中获取上述目标区块中目标账户的目标未花费输出数据,并根据上述目标未花费输出数据对上述目标区块进行校验,若校验通过,则将上述目标区块存储至上述目标存储桶中。

56、此外,本技术实施例还提供一种区块链节点,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本技术实施例提供的区块处理方法。

57、此外,本技术实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本技术实施例所提供的任一种区块处理方法。

58、此外,本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本技术实施例所提供的任一种区块处理方法。

59、在本技术实施例中,先获取目标区块,目标区块为根据待打包交易数据生成的区块,待打包交易数据存储于对象存储的目标存储桶中。然后从目标存储桶中获取目标区块中目标账户的目标未花费输出数据。接着,根据目标未花费输出数据对目标区块进行校验。若校验通过,则将目标区块存储至目标存储桶中。

60、即在本技术实施例中,由于对象存储可以根据数据实际占用的存储空间为数据分配存储空间,较为灵活性,成本较低,因此,本技术将待打包交易数据存储、目标未花费输出数据以及目标区块存储于对象存储中,可以降低成本,然后,再从目标存储桶中获取目标未花费输出数据,实现对目标区块的校验。最后再将校验通过的目标区块存储至目标存储桶中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1