数据存储方法、装置、设备及存储介质与流程

文档序号:34372409发布日期:2023-06-05 05:26阅读:37来源:国知局
数据存储方法、装置、设备及存储介质与流程

本申请涉及数据处理,尤其涉及一种数据存储方法、装置、设备及存储介质。


背景技术:

1、当前在区块链系统中,所有区块数据都是全量存储在区块链节点上的。每个区块数据基于区块数据的生成时间,按照时间顺序存储在区块链节点的本地文件存储系统中的区块文件内。当一个区块文件中存储的区块数据达到一定数据量时,则创建一个新的区块文件继续存储后续的区块数据。因此区块链节点中存储的区块文件不会被删除,以便后续业务对历史区块数据的查询,并且所有的区块链节点中存储的区块数据时完全相同的。

2、在上述方法中,由于所有的区块数据都被存储在区块链节点内,并且一些已经不再使用的历史区块数据也依然保存在区块链节点内不会被清除。这就导致区块链节点的存储空间消耗持续上升,最终达到区块链节点存储数据量的上限而导致区块链节点瘫痪。并且由于对等的区块链节点都需要保存所有的区块数据,随着区块链节点规模的增加,区块链系统所占用的存储空间将成倍的增长,因此需要消耗大量的存储空间。从而,区块链系统对数据存储空间的利用率较低。


技术实现思路

1、本申请提供一种数据存储方法、装置、设备及存储介质,用于提高区块链系统对数据存储空间的利用率。

2、为达到上述目的,本申请采用如下技术方案:

3、第一方面,提供了一种数据存储方法,该方法包括:将区块链系统中包括的多个区块链节点划分为全量节点和轻量节点,全量节点用于存储全部的区块数据,轻量节点用于存储最新存入的目标数据量的区块数据;当将目标交易对应的目标区块数据存储至区块链系统中的目标区块链节点中时,判断目标区块链节点对应的节点类型,节点类型为全量节点或轻量节点;当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量大于目标阈值时,从目标区块链节点中删除第一区块数据,并将目标区块数据存储至目标区块链节点中,第一区块数据为目标区块链节点中存入时间点最早的预设数据量的区块数据。

4、在一种可能的实现方式中,方法还包括:当确定目标区块链节点对应的节点类型为全量节点时,直接将目标区块数据存储至目标区块链节点中。

5、在一种可能的实现方式中,方法还包括:当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量小于或等于目标阈值时,直接将目标区块数据存储至目标区块链节点中。

6、在一种可能的实现方式中,方法还包括:当从目标区块链节点中查询第二区块数据时,若未查询到第二区块数据、且确定目标区块链节点对应的节点类型为轻量节点时,则从区块链系统中包括的任一全量节点中查询第二区块数据,确定查询结果,查询结果包括:查询到第二区块数据、未查询到第二区块数据。

7、在一种可能的实现方式中,方法还包括:当从目标区块链节点中查询第二区块数据时,若未查询到第二区块数据、且确定目标区块链节点对应的节点类型为全量节点时,则确定查询结果为未查询到第二区块数据。

8、第二方面,提供了一种数据存储装置,该数据存储装置包括:处理单元;处理单元,用于将区块链系统中包括的多个区块链节点划分为全量节点和轻量节点,全量节点用于存储全部的区块数据,轻量节点用于存储最新存入的目标数据量的区块数据;处理单元,用于当将目标交易对应的目标区块数据存储至区块链系统中的目标区块链节点中时,判断目标区块链节点对应的节点类型,节点类型为全量节点或轻量节点;处理单元,用于当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量大于目标阈值时,从目标区块链节点中删除第一区块数据,并将目标区块数据存储至目标区块链节点中,第一区块数据为目标区块链节点中存入时间点最早的预设数据量的区块数据。

9、在一种可能的实现方式中,处理单元,用于当确定目标区块链节点对应的节点类型为全量节点时,直接将目标区块数据存储至目标区块链节点中。

10、在一种可能的实现方式中,处理单元,用于当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量小于或等于目标阈值时,直接将目标区块数据存储至目标区块链节点中。

11、在一种可能的实现方式中,数据存储装置还包括:查询单元;查询单元,用于当从目标区块链节点中查询第二区块数据时,若未查询到第二区块数据、且确定目标区块链节点对应的节点类型为轻量节点时,则从区块链系统中包括的任一全量节点中查询第二区块数据,确定查询结果,查询结果包括:查询到第二区块数据、未查询到第二区块数据。

12、在一种可能的实现方式中,查询单元,用于当从目标区块链节点中查询第二区块数据时,若未查询到第二区块数据、且确定目标区块链节点对应的节点类型为全量节点时,则确定查询结果为未查询到第二区块数据。

13、第三方面,一种电子设备,包括:处理器以及存储器;其中,存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当电子设备运行时,处理器执行存储器存储的计算机执行指令,以使电子设备执行如第一方面的一种数据存储方法。

14、第四方面,提供了一种存储一个或多个程序的计算机可读存储介质,该一个或多个程序包括指令,上述指令当被计算机执行时使计算机执行如第一方面的一种数据存储方法。

15、本申请提供了一种数据存储方法、装置、设备及存储介质,应用于区块链系统对数据进行存储的场景中。首先需要将区块链系统中包括的多个区块链节点划分为用于存储全部的区块数据的全量节点和用于存储最新存入的目标数据量的区块数据的轻量节点。然后,当将目标交易对应的目标区块数据存储至区块链系统中的目标区块链节点中时,需要先判断目标区块链节点对应的节点类型。当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量大于目标阈值时,需要先从目标区块链节点中删除存入时间点最早的预设数据量的第一区块数据,然后再将目标区块数据存储至目标区块链节点中。本申请通过将区块链系统中包括的多个区块链节点划分为全量节点和轻量节点的方式,使得在将目标交易对应的目标区块数据存储至区块链系统中的目标区块链节点中时,通过判断目标区块链节点对应的节点类型以及目标区块链节点中存储的数据量,确定是否需要将存入时间点最早的预设数据量的第一区块数据删除,然后再存储目标区块数据。从而,可以节省存储空间,并提高区块链系统对数据存储空间的利用率。



技术特征:

1.一种数据存储方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.一种数据存储装置,其特征在于,所述数据存储装置包括:处理单元;

7.根据权利要求6所述的数据存储装置,其特征在于,所述处理单元,用于当确定所述目标区块链节点对应的节点类型为所述全量节点时,直接将所述目标区块数据存储至所述目标区块链节点中。

8.根据权利要求6或7所述的数据存储装置,其特征在于,所述处理单元,用于当确定所述目标区块链节点对应的节点类型为所述轻量节点、且所述目标区块链节点中存储的数据量小于或等于所述目标阈值时,直接将所述目标区块数据存储至所述目标区块链节点中。

9.根据权利要求6或7所述的数据存储装置,其特征在于,所述数据存储装置还包括:查询单元;

10.根据权利要求9所述的数据存储装置,其特征在于,所述查询单元,用于当从所述目标区块链节点中查询第二区块数据时,若未查询到所述第二区块数据、且确定所述目标区块链节点对应的节点类型为所述全量节点时,则确定查询结果为未查询到所述第二区块数据。

11.一种电子设备,其特征在于,包括:处理器以及存储器;其中,所述存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当所述电子设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述电子设备执行权利要求1-5中任一项所述的一种数据存储方法。

12.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如权利要求1-5中任一项所述的一种数据存储方法。


技术总结
本申请公开了一种数据存储方法、装置、设备及存储介质,涉及数据处理技术领域,用于提高区块链系统对数据存储空间的利用率,包括:将区块链系统中包括的多个区块链节点划分为全量节点和轻量节点;当将目标交易对应的目标区块数据存储至区块链系统中的目标区块链节点中时,判断目标区块链节点对应的节点类型;当确定目标区块链节点对应的节点类型为轻量节点、且目标区块链节点中存储的数据量大于目标阈值时,从目标区块链节点中删除第一区块数据,并将目标区块数据存储至目标区块链节点中,第一区块数据为目标区块链节点中存入时间点最早的预设数据量的区块数据。本申请应用于区块链系统对数据进行存储的场景中。

技术研发人员:韩虎,陈冲,李一鑫
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1