区块链数据处理方法、装置、设备及存储介质与流程

文档序号:36789265发布日期:2024-01-23 12:07阅读:13来源:国知局
区块链数据处理方法、装置、设备及存储介质与流程

本技术涉及区块链技术等领域,尤其涉及一种区块链数据处理方法、装置、设备及存储介质。


背景技术:

1、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了多条交易数据,用于验证其交易数据的有效性(防伪)和生成下一个区块。随着时间推移,区块链上所存储的交易数据以及链下数据随之增加,容易导致用于存储区块链的节点设备的存储空间不足,进而,导致关于区块链的业务无法正常运行。


技术实现思路

1、本技术实施例提供一种区块链数据处理方法、装置、设备及存储介质,降低节点设备的存储压力,确保关于区块链的业务正常运行。

2、本技术实施例一方面提供一种区块链数据处理方法,包括:

3、当区块链上的智能合约的合约状态数据满足数据迁移条件时,通过智能合约引擎的锁接口,将所述智能合约的调用接口的调用状态更新为暂停调用状态;

4、在所述智能合约的调用接口的调用状态为暂停调用状态后,从所述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据;所述合约状态数据库中的合约状态数据是根据所述区块链上关于所述智能合约的交易数据确定的;

5、从所述合约状态数据库中,将所述目标合约状态数据迁移至托管设备;

6、根据所述托管设备中的所述目标合约状态数据,生成关于所述目标合约状态数据的索引信息,将所述索引信息存储至所述合约状态数据库中。

7、本技术实施例一方面提供一种区块链数据处理装置,包括:

8、更新模块,用于当区块链上的智能合约的合约状态数据满足数据迁移条件时,通过智能合约引擎的锁接口,将所述智能合约的调用接口的调用状态更新为暂停调用状态;

9、确定模块,用于在所述智能合约的调用状态为暂停调用状态后,从所述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据;所述合约状态数据库中的合约状态数据是根据所述区块链上关于所述智能合约的交易数据确定的;

10、迁移模块,用于从所述合约状态数据库中,将所述目标合约状态数据迁移至托管设备;

11、生成模块,用于根据所述托管设备中的所述目标合约状态数据,生成关于所述目标合约状态数据的索引信息,将所述索引信息存储至所述合约状态数据库中。

12、可选的,确定模块包括获取单元以及第一确定单元;

13、获取单元,用于获取上述智能合约的合约状态数据满足数据迁移条件的迁移原因;

14、第一确定单元,用于根据上述迁移原因,从上述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据。

15、可选的,上述第一确定单元根据上述迁移原因,从上述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据,包括:

16、当上述迁移原因指示上述智能合约的状态为失效状态时,将上述合约状态数据库中的所有状态数据,确定为待迁移的目标合约状态数据;

17、当上述迁移原因指示节点设备的设备资源使用率大于第一使用率阈值时,获取关于上述合约状态数据库中的合约状态数据的历史操作数据,根据上述历史操作数据,从上述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据;上述节点设备为部署上述智能合约的设备。

18、可选的,上述第一确定单元根据上述历史操作数据,从上述智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据,包括:

19、根据上述历史操作数据,统计上述合约状态数据库中的合约状态数据针对k种设备资源的占用率;k为大于1的正整数;

20、根据上述k种设备资源的占用率,确定上述合约状态数据库中的合约状态数据的使用率;

21、从上述合约状态数据库中,筛选出使用率大于第二使用率阈值的合约状态数据;

22、将筛选得到的合约状态数据,确定为待迁移的目标合约状态数据。

23、可选的,上述获取单元获取上述智能合约的合约状态数据满足数据迁移条件的迁移原因,包括:

24、获取上述智能合约在历史时间段内的调用日志数据;

25、根据上述调用日志数据,统计上述智能合约在上述历史时间段内被调用的次数;

26、当上述智能合约在上述历史时间段内被调用的次数小于次数阈值时,确定上述智能合约的合约状态数据满足数据迁移条件,生成指示上述智能合约的状态为失效状态的迁移原因。

27、可选的,上述获取单元获取上述智能合约的合约状态数据满足数据迁移条件的迁移原因,包括:

28、获取上述智能合约关联的机构对应的机构信息;

29、根据上述机构信息,从上述区块链上查询上述机构的信用等级;

30、当上述机构的信用等级小于信用等级阈值时,确定上述智能合约的合约状态数据满足数据迁移条件,生成指示上述智能合约的状态为失效状态的迁移原因。

31、可选的,上述获取单元获取上述智能合约的合约状态数据满足数据迁移条件的迁移原因,包括:

32、获取上述节点设备中的k种设备资源分别对应的设备资源使用率;

33、当上述k种设备资源分别对应的设备资源使用率大于对应的第一使用率阈值时,确定上述智能合约的合约状态数据满足数据迁移条件,生成指示上述节点设备的设备资源使用率大于第一使用率阈值的迁移原因。

34、可选的,可选的,上述获取单元包括运算单元、建立单元、第二确定单元;

35、运算单元,用于对上述托管设备中的上述目标合约状态数据进行哈希运算,得到第一哈希值;

36、建立单元,用于获取上述目标合约状态数据的数据标识,建立上述目标合约状态数据的数据标识与上述第一哈希值之间的对应关系;

37、建立单元,用于将具有对应关系的上述第一哈希值和上述目标合约状态数据的数据标识,确定为上述目标合约状态数据的索引信息。

38、可选的,建立单元获取上述目标合约状态数据的数据标识,包括:

39、对上述合约状态数据库中的上述目标合约状态数据进行哈希运算,得到第二哈希值;

40、当上述第一哈希值和上述第二哈希值相同时,删除上述合约状态数据库中的上述目标合约状态数据,获取上述目标合约状态数据的数据标识。

41、该装置还包括接收模块、检测模块、读取模块以及查询模块;

42、接收模块,用于接收针对候选合约状态数据的查询请求;上述查询请求携带上述候选合约状态数据的数据标识;

43、检测模块,用于检测上述智能合约的调用接口的调用状态;

44、读取模块,用于当上述智能合约的调用接口的调用状态为暂停调用状态时,根据上述候选合约状态数据的数据标识,从上述合约状态数据库中读取上述候选合约状态数据的索引信息;

45、查询模块,用于根据上述候选合约状态数据的索引信息,从上述托管设备中查询上述候选合约状态数据。

46、可选的,上述更新模块通过智能合约引擎的锁接口,将上述智能合约的调用接口的调用状态更新为暂停调用状态,包括:

47、通过智能合约引擎的锁接口,获取上述智能合约的调用接口的属性参数;

48、通过上述锁接口将上述属性参数添加至暂停调用指令模板中,得到关于上述上述智能合约的调用接口的暂停调用指令;

49、通过上述锁接口,将上述暂停调用指令添加至上述智能合约中,以将上述智能合约的调用接口的调用状态更新为暂停调用状态。

50、可选的,接收模块,还用于接收到针对上述智能合约的合约状态数据的恢复请求;

51、接收模块,还用于根据上述恢复请求,通过上述智能合约引擎的解锁接口,将上述智能合约的调用接口的调用状态更新为可调用状态;

52、迁移模块813,还用于当在上述智能合约的调用状态为可调用状态之后,将上述托管设备中的目标合约状态数据移回至上述合约状态数据库中。

53、可选的,上述迁移模块当在上述智能合约的调用状态为可调用状态之后,将上述托管设备中的目标合约状态数据移回至上述合约状态数据库中,包括:

54、当在上述智能合约的调用状态为可调用状态之后,从上述托管设备中读取上述目标合约状态数据;

55、对读取到的上述目标合约状态数据进行哈希运算,得到上述目标合约状态数据的第三哈希值;

56、从上述合约状态数据库中读取上述目标合约状态数据的索引信息;

57、当上述目标合约状态数据的索引信息中的哈希值与上述第三哈希值相同时,将读取到的上述目标合约状态数据存储至上述合约状态数据库中。

58、本技术实施例一方面提供了一种计算机设备,包括存储器和处理器,上述存储器存储有计算机程序,上述处理器执行上述计算机程序时实现上述的方法的步骤。

59、本技术实施例一方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述的方法的步骤。

60、本技术实施例一方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。

61、本技术中,通过检测区块链上的智能合约的合约状态数据是否满足数据迁移条件,在区块链上的智能合约的合约状态数据满足数据迁移条件时,通过智能合约引擎的锁接口将该智能合约的调用接口的调用状态更新为暂停调用状态,避免该智能合约再次被调用,以产生新的合约状态数据,这样可以降低节点设备的存储压力。在智能合约的调用接口的调用状态为暂停调用状态之后,节点设备可以从智能合约对应的合约状态数据库中,确定待迁移的目标合约状态数据,将目标合约状态数据迁移至托管设备,这样可以进一步降低节点设备的存储压力。另外,通过根据托管设备中的目标合约状态数据,生成关于该目标合约状态数据的索引信息,将该目标合约状态数据的索引信息存储至合约状态数据库中,这样可以确保该目标合约状态数据能够迁回合约状态数据库中,以及从托管设备中正常查询目标合约状态数据,能够确保关于区块链的业务正常运行。

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