基于区块链的数据处理方法和装置、电子设备和存储介质制造方法及图纸

技术编号:38864827 阅读:24 留言:0更新日期:2023-09-17 10:05
本公开实施例公开了一种基于区块链的数据处理方法和装置、电子设备和存储介质,其中,该方法包括:获取待存储数据的数据属性;基于所述数据属性,确定所述待存储数据对应的区块链属性数据库;响应于所述待存储数据对应的区块链属性数据库为所述元数据数据库,对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库;将所述待存储数据存入所述目标虚拟数据库中。本公开实施例可以在内存资源固定的情况下,实现对高频读写数据进行有效分库。数据进行有效分库。数据进行有效分库。

【技术实现步骤摘要】
基于区块链的数据处理方法和装置、电子设备和存储介质


[0001]本公开涉及区块链
,尤其是一种基于区块链的数据处理方法和装置、电子设备和存储介质。

技术介绍

[0002]区块链系统中通常根据业务逻辑来划分数据库,大致分为账本数据库和状态数据库,其中账本数据库用于存储区块结构、交易及交易结果等数据;状态数据库用于存储账户、合约代码、状态数据、合约元数据等。
[0003]数据库的读写性能随数据库内的键值数量的增加而降低,通常根据键值数量对数据库进行无差别分库。由于每个数据库都需要分配内存资源,分库并不能无限进行,因此对于性能的改善效果有限。
[0004]如何对区块链数据进行合理的管理,是一个亟待解决的问题。

技术实现思路

[0005]本公开实施例提供一种基于区块链的数据处理方法和装置、电子设备和存储介质,以解决上述问题。
[0006]本公开实施例的第一方面,提供一种基于区块链的数据处理方法,包括:获取待存储数据的数据属性;基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,其中,所述区块链属性数据库包括账户数据库、账本数据库、合约数据库和元数据数据库的一个;响应于所述待存储数据对应的区块链属性数据库为所述元数据数据库,对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库,其中,所述元数据数据库包括的多个虚拟数据库,所述多个虚拟数据库包括所述目标虚拟数据库;将所述待存储数据存入所述目标虚拟数据库中。
[0007]在本公开的一个实施例中,在所述对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库之前,还包括:基于所述元数据数据库,确定用于存储元数据的哈希环;对所述哈希环进行分段,得到所述多个虚拟数据库;为所述多个虚拟数据库中的每个虚拟数据库分配数据库标识。
[0008]在本公开的一个实施例中,所述对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库,包括:基于所述待存储数据进行哈希运算,得到所述待存储数据的哈希值;将所述待存储数据的哈希值与所述每个虚拟数据库的哈希值取值范围进行匹配,确定所述待存储数据对应所述目标虚拟数据库。
[0009]在本公开的一个实施例中,所述基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,包括:
基于所述数据属性,为所述待存储数据添加前缀;将所述待存储数据的前缀分别与所述账户数据库、所述账本数据库、所述合约数据库和所述元数据数据库进行前缀匹配,确定所述待存储数据对应的区块链属性数据库。
[0010]在本公开的一个实施例中,在所述将所述待存储数据存入所述目标虚拟数据库中之前,还包括:基于所述待存储数据,生成所述待存储数据的快照,以便在所述待存储数据存储失败时,基于所述待存储数据的快照进行回退处理。
[0011]本公开实施例的第二方面,提供一种基于区块链的数据处理装置,包括:数据属性获取模块,用于获取待存储数据的数据属性;属性数据库确定模块,用于基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,其中,所述区块链属性数据库包括账户数据库、账本数据库、合约数据库和元数据数据库的一个;虚拟数据库确定模块,用于响应于所述待存储数据对应的区块链属性数据库为所述元数据数据库,对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库,其中,所述元数据数据库包括的多个虚拟数据库,所述多个虚拟数据库包括所述目标虚拟数据库;存储模块,用于将所述待存储数据存入所述目标虚拟数据库中。
[0012]在本公开的一个实施例中,所述虚拟数据库确定模块还用于基于所述元数据数据库,确定用于存储元数据的哈希环;所述虚拟数据库确定模块还用于对所述哈希环进行分段,得到所述多个虚拟数据库;所述虚拟数据库确定模块还用于为所述多个虚拟数据库中的每个虚拟数据库分配数据库标识。
[0013]在本公开的一个实施例中,所述虚拟数据库确定模块用于基于所述待存储数据进行哈希运算,得到所述待存储数据的哈希值;所述虚拟数据库确定模块还用于将所述待存储数据的哈希值与每个虚拟数据库的哈希值取值范围进行匹配,确定所述待存储数据对应所述目标虚拟数据库。
[0014]在本公开的一个实施例中,所述属性数据库确定模块用于基于所述数据属性,为所述待存储数据添加前缀;所述属性数据库确定模块还用于将所述待存储数据的前缀分别与所述账户数据库、所述账本数据库、所述合约数据库和所述元数据数据库进行前缀匹配,确定所述待存储数据对应的区块链属性数据库。
[0015]在本公开的一个实施例中,还包括:快照处理模块,用于基于所述待存储数据,生成所述待存储数据的快照,以便在所述待存储数据存储失败时,基于所述待存储数据的快照进行回退处理。
[0016]本公开实施例的第三方面,提供一种电子设备,包括:存储器,用于存储计算机程序产品;处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述第一方面所述的基于区块链的数据处理方法。
[0017]本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述第一方面所述的基于区块链的数据处理方法。
[0018]本公开实施例的基于区块链的数据处理方法和装置、电子设备和存储介质,依据数据被读写的热度情况划分数据属性,针对高热度属性的数据再进行二级分库,在内存资源固定的情况下,实现对高频读写数据进行有效分库。
[0019]下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
[0020]构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
[0021]参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:图1为本公开一个实施例中基于区块链的数据处理方法的流程图;图2为本公开一个示例中哈希环的示意图;图3为本公开一个实施例中基于区块链的数据处理装置的结构框图;图4为本公开电子设备一个应用实施例的结构框图。
具体实施方式
[0022]现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0023]本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0024]还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0025]还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0026]另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:获取待存储数据的数据属性;基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,其中,所述区块链属性数据库包括账户数据库、账本数据库、合约数据库和元数据数据库的一个;响应于所述待存储数据对应的区块链属性数据库为所述元数据数据库,对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库,其中,所述元数据数据库包括的多个虚拟数据库,所述多个虚拟数据库包括所述目标虚拟数据库;将所述待存储数据存入所述目标虚拟数据库中。2.根据权利要求1所述的方法,其特征在于,在所述对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库之前,还包括:基于所述元数据数据库,确定用于存储元数据的哈希环;对所述哈希环进行分段,得到所述多个虚拟数据库;为所述多个虚拟数据库中的每个虚拟数据库分配数据库标识。3.根据权利要求2所述的方法,其特征在于,所述对所述待存储数据进行一致性哈希分库处理,确定所述待存储数据对应的目标虚拟数据库,包括:基于所述待存储数据进行哈希运算,得到所述待存储数据的哈希值;将所述待存储数据的哈希值与所述每个虚拟数据库的哈希值取值范围进行匹配,确定所述待存储数据对应所述目标虚拟数据库。4.根据权利要求1

3任一项所述的方法,其特征在于,所述基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,包括:基于所述数据属性,为所述待存储数据添加前缀;将所述待存储数据的前缀分别与所述账户数据库、所述账本数据库、所述合约数据库和所述元数据数据库进行前缀匹配,确定所述待存储数据对应的区块链属性数据库。5.根据权利要求1

3任一项所述的方法,其特征在于,在所述将所述待存储数据存入所述目标虚拟数据库中之前,还包括:基于所述待存储数据,生成所述待存储数据的快照,以便在所述待存储数据存储失败时,基于所述待存储数据的快照进行回退处理。6.一种基于区块链的数据处理装置,其特征在于,包括:数据属性获取模块,用于获取待存储数据的数据属性;属性数据库确定模块,用于基于所述数据属性,确定所述待存储数据对应的区块链属性数据库,其中,所述区块...

【专利技术属性】
技术研发人员:郭健刘远超米亚晴马若龙
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1