【技术实现步骤摘要】
一种区块链数据缓存处理方法和装置
[0001]本说明书涉及区块链
,尤其涉及一种区块链数据缓存处理方法
、
装置以及相应的电子设备
、
存储介质
。
技术介绍
[0002]通常地,区块链系统可以划分为
Layer0、Layer1
和
Layer2
三层结构;其中,
Layer0
即指数据传输层,
Layer1
即指底层区块链,
Layer2
则对应区块链的合约层和应用层
。
对于大多数区块链应用系统而言,
Layer1
都是其有且仅有一条链,所有交易都发生于
Layer1
上
。
对于
Layer1
的扩容又称链上扩容,即在区块链底层协议上实现扩容解决方案,一般需要修改区块链的区块容量
、
区块生成时间
、
共识机制等固有属性以提高交易能力
。
然而,受到物理
、
经济等因素限制,
Layer1
扩容是有极限的,为此,考虑基于
Layer2
进行扩容,即链下扩容,使得在不改变区块链底层协议和基础规则,提高交易区块链数据处理速度
。
技术实现思路
[0003]本说明书实施例的目的是针对上述问题,提供一种区块链数据缓存处理方法
、
装置以及相应的电子设备
、
存储介质< ...
【技术保护点】
【技术特征摘要】
1.
一种区块链数据缓存处理方法,其特征在于,配置能够依据合约写操作对交易数据进行缓存处理的第一节点;适用于所述第一节点,包括:依据捕获的合约写操作,获取并保存对应的交易至第一队列;依据预设规则,定时从所述第一队列中,获取预设数量的所述交易,组成交易数据包;提交所述交易数据包在本地执行相应合约业务后,保存对应于所述交易数据包的存证交易至第二队列;提交所述第二队列中的所述存证交易至所述区块链
。2.
根据权利要求1所述的方法,其特征在于,依据预设规则,定时从所述第一队列中,获取预设数量的所述交易,包括:按照最近最少使用原则,定时从所述第一队列中,获取最近访问的预设数量的所述交易
。3.
根据权利要求1所述的方法,其特征在于,在提交所述交易数据包在本地执行相应合约业务之前,标记所述交易数据包为待确认;以及,在所述交易数据包在本地执行相应合约业务成功后,标记所述交易数据包为已确认
。4.
根据权利要求3所述的方法,其特征在于,保存标记为已确认的所述交易数据包对应的存证交易至所述第二队列
。5.
根据权利要求1所述的方法,其特征在于,提交所述交易数据包在本地执行相应合约业务,包括:以原文字节码形式将所述交易数据包中的所述交易,保存为所述存证交易;和
/
或,更新所述第一节点的本地区块高度和区块哈希;和
/
或,获得所述交易数据包的交易回执;和
/
或,获得所述合约的执行结果
。6.
根据权利要求1所述的方法,其特征在于,当提交所述第二队列中的所述存证交易至所述区块链时,判断是否在预设时间内完成提交,包括:若在预设时间内未完成提交,则重新提交所述第二队列中的所述存证交易至所述区块链;若在预设时间内完成提交,则返回交易回执
。7.
根据权利要求1至6任一项所述的方法,其特征在于,部署并运行第一缓存中间件于所述第一节点,第一缓存中间件包括所述第一队列和所述第二队列
。8.
一种区块链数据缓存处理方法,其特征在于,配置能够对交易数据进行校验和异步写入的第二节点;适用于所述第二节点,包括:定时获取交易数据包;其中所述交易数据包包括原文存证交易及相应的交易序号;若所述交易序号大于等于所述区块链的当前区块高度时,提交所述交易数据包至第三队列;定时判断所述第三队列中所述交易数据包的最小的交易序号是否等于所述当前区块高度;若相等,则确认所述交易数据包通过验证,并提交所述交易序号对应的所述交易数据包至所述区块链;否则继续判断所述第三队列中的下一交易数据包
。9.
根据权利要求8所述的方法,其特征在于,若所述交易序号小于所述区块链的当前区块高度时,从所述区块链中获取下一交易数据包以及对应的交易序号
。10.
根据权利要求8所述的方法,其特征在于,在成功提交所述交易序号对应的所述交易数据包至所述区块链之后,...
【专利技术属性】
技术研发人员:胡江,
申请(专利权)人:杭州溪塔科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。