基于区块链的数据处理方法和装置制造方法及图纸

技术编号:36504807 阅读:18 留言:0更新日期:2023-02-01 15:29
本申请提供一种基于区块链(Block chain)的数据处理方法和装置,属于金融科技(Fintech)领域,该方法包括:针对为智能合约预先配置的数据表,获取待执行的目标操作,数据表中包括有至少一个数据页和每个数据页的索引信息,每个数据页中存储有至少一个用于访问数据库的键值对,每个键值对包括键值和键值标识;获取目标操作中的目标键值标识,并根据目标键值标识和索引信息,在至少一个数据页中确定出目标数据页;根据目标操作,在目标数据页中的键值对中确定出目标键值对并对目标键值对进行处理。该技术方案可以减少智能合约在执行过程中对数据库的访问次数,提高区块链的性能。能。能。

【技术实现步骤摘要】
基于区块链的数据处理方法和装置


[0001]本申请涉及金融科技(Fintech)
,尤其涉及一种基于区块链(Block chain)的数据处理方法和装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]目前,在区块链(Block chain)的智能合约执行过程中,数据库中状态数据的组织形式采用的是梅克尔帕特里夏树(Merkle Patricia Tree,MPT),状态数据存储在MPT树的叶子节点中,叶子节点的位置存储在上一层的节点中,访问某个叶子节点就需要访问从根结点到叶子节点的分支上的所有节点。
[0004]但是,这种MPT树结构的数据组织形式,由于对每个节点的访问都会导致对数据库的访问,对数据库的访问进一步导致数据库需要读写磁盘,由此产生了大量的磁盘读写次数,降低了区块链的性能。

技术实现思路

[0005]本申请提供一种基于区块链的数据处理方法和装置,用于解决现有智能合约在执行时需要频繁访问数据库,导致区块链性能下降的问题。
[0006]第一方面,本申请实施例提供一种基于区块链的数据处理方法,包括:
[0007]针对为智能合约预先配置的数据表,获取待执行的目标操作,所述数据表中包括有至少一个数据页和每个数据页的索引信息,每个数据页中存储有至少一个用于访问数据库的键值对,每个键值对包括键值和键值标识;
[0008]获取所述目标操作中的目标键值标识,并根据所述目标键值标识和所述索引信息,在所述至少一个数据页中确定出目标数据页;
[0009]根据所述目标操作,在所述目标数据页中的键值对中确定出目标键值对并对所述目标键值对进行处理。
[0010]在第一方面的一种可能设计中,预先配置数据表,包括:获取至少一个键值对,并根据每个键值对中键值标识的数值大小,将每个键值对存储至所述数据页中;根据存储在所述数据页中的键值对中的键值标识,确定所述数据页的页标识;根据每个数据页的页标识,配置每个数据页的索引信息。
[0011]在第一方面的另一种可能设计中,所述根据所述目标键值标识和所述索引信息,在所述至少一个数据页中确定出目标数据页,包括:根据所述索引信息,获取每个数据页的页标识;根据每个数据页的页标识与所述目标键值标识之间的数值大小,在至少一个数据页中确定出目标数据页。
[0012]在第一方面的再一种可能设计中,所述在所述目标数据页中的键值对中确定出目
标键值对并对所述目标键值对进行处理,包括:若所述目标操作为数据读取操作,则根据所述目标键值标识,在所述目标数据页中确定出待读取键值对,并读取所述待读取键值对;若所述目标操作为数据写入操作,则根据所述目标键值标识,在所述目标数据页中插入待插入键值对,或对所述目标数据页中与所述目标键值标识匹配的键值对进行更新或删除。
[0013]在第一方面的又一种可能设计中,所述根据所述目标键值标识,在所述目标数据页中插入待插入键值对,包括:获取所述目标数据页中每个键值对的键值标识;根据每个键值对的键值标识和所述目标键值标识,确定所述待插入键值对在所述目标数据页中的插入位置,所述待插入键值对包括待插入的键值和键值标识;将所述待插入键值对插入至所述插入位置。
[0014]在第一方面的又一种可能设计中,所述方法还包括:获取每个数据页当前的页容量,确定所述数据表中是否存在有待分裂数据页,所述待分裂数据页当前的页容量大于预设分裂阈值;若所述数据表中存在所述待分裂数据页,则将所述待分裂数据页分裂为至少两个子数据页。
[0015]在第一方面的又一种可能设计中,所述方法还包括:获取页标识的数值相邻的两个数据页的页容量;若相邻的两个数据页的页容量之和小于预设合并阈值,则将所述相邻的两个数据页合并。
[0016]在第一方面的又一种可能设计中,所述在所述目标数据页中的键值对中确定出目标键值对并对所述目标键值对进行处理之后,还包括:对每个数据页的索引信息进行更新,每个数据页的索引信息包括有页标识、页容量、键值对的数量中的至少一种。
[0017]在第一方面的又一种可能设计中,还包括:响应于回滚操作的触发,获取待回滚的键值标识;根据所述待回滚的键值标识和所述索引信息,确定待回滚的数据页;将所述待回滚的数据页复原至数据处理之前的状态,或将所述待回滚的数据页和所述待回滚的数据页的索引信息复原至数据处理之前的状态。
[0018]第二方面,本申请实施例提供一种基于区块链的数据处理装置,包括:
[0019]操作确定模块,用于针对为智能合约预先配置的数据表,获取待执行的目标操作,所述数据表中包括有至少一个数据页和每个数据页的索引信息,每个数据页中存储有至少一个用于访问数据库的键值对,每个键值对包括键值和键值标识;
[0020]数据页确定模块,用于获取所述目标操作中的目标键值标识,并根据所述目标键值标识和所述索引信息,在所述至少一个数据页中确定出目标数据页;
[0021]数据处理模块,用于根据所述目标操作,在所述目标数据页中的键值对中确定出目标键值对并对所述目标键值对进行处理。
[0022]本申请实施例提供的基于区块链的数据处理方法和装置,通过利用数据页来存储键值对,同时为每一个数据页配置索引信息,在智能合约执行过程中,可以根据目标键值标识快速的定位到目标数据页,并从目标数据页中定位得到目标键值对,以减少对数据库的访问次数,从而提高区块链性能。
附图说明
[0023]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理;
[0024]图1为本申请实施例提供的数据存储的结构示意图;
[0025]图2为本申请实施例提供的智能合约状态数据的存储结构示意图;
[0026]图3为本申请实施例提供的智能合约在执行过程中的系统框架图;
[0027]图4为本申请另一实施例提供的数据存储的结构示意图;
[0028]图5为本申请实施例提供的数据处理方法的流程示意图;
[0029]图6为本申请实施例提供的存储插槽的示意图;
[0030]图7为本申请实施例提供的数据表的结构示意图;
[0031]图8A为本申请实施例提供的基于树结构的数据查询方法的流程示意图;
[0032]图8B为本申请实施例提供的基于树结构的数据插入方法的流程示意图;
[0033]图8C为本申请实施例提供的树操作时的递归示意图;
[0034]图8D为本申请实施例提供的基于树结构的数据删除方法的流程示意图;
[0035]图9为本申请实施例提供的基于数据表的数据删除示意图;
[0036]图10为本申请实施例提供的基于数据表的数据更新示意图;
[0037]图11为本申请实施例提供的基于数据表的数据插入示意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:针对为智能合约预先配置的数据表,获取待执行的目标操作,所述数据表中包括有至少一个数据页和每个数据页的索引信息,每个数据页中存储有至少一个用于访问数据库的键值对,每个键值对包括键值和键值标识;获取所述目标操作中的目标键值标识,并根据所述目标键值标识和所述索引信息,在所述至少一个数据页中确定出目标数据页;根据所述目标操作,在所述目标数据页中的键值对中确定出目标键值对并对所述目标键值对进行处理。2.根据权利要求1所述的方法,其特征在于,预先配置数据表,包括:获取至少一个键值对,并根据每个键值对中键值标识的数值大小,将每个键值对存储至所述数据页中;根据存储在所述数据页中的键值对中的键值标识,确定所述数据页的页标识;根据每个数据页的页标识,配置每个数据页的索引信息。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标键值标识和所述索引信息,在所述至少一个数据页中确定出目标数据页,包括:根据所述索引信息,获取每个数据页的页标识;根据每个数据页的页标识与所述目标键值标识之间的数值大小,在至少一个数据页中确定出目标数据页。4.根据权利要求1所述的方法,其特征在于,所述在所述目标数据页中的键值对中确定出目标键值对并对所述目标键值对进行处理,包括:若所述目标操作为数据读取操作,则根据所述目标键值标识,在所述目标数据页中确定出待读取键值对,并读取所述待读取键值对;若所述目标操作为数据写入操作,则根据所述目标键值标识,在所述目标数据页中插入待插入键值对,或对所述目标数据页中与所述目标键值标识匹配的键值对进行更新或删除。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标键值标识,在所述目标数据页中插入待插入键值对,包括:获取所述目标数据页中每个键值对的键值标识;根据每个键值对的键值标识和所述目标键值标识,确定所述待插入键值对在所述目标数据页中的插入位置,所述...

【专利技术属性】
技术研发人员:莫楠白兴强郭锐李辉忠张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1