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

技术编号:19056211 阅读:31 留言:0更新日期:2018-09-29 12:03
本发明专利技术实施例公开了一种区块链数据的处理方法、装置、设备及存储介质。其中,该方法包括:根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系;根据所述逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理。本发明专利技术实施例提供的技术方案,提供了有效识别区块链系统中逻辑处理请求依赖关系的新思路。

【技术实现步骤摘要】
区块链数据的处理方法、装置、设备和存储介质
本专利技术实施例涉及区块链数据处理技术,尤其涉及一种区块链数据的处理方法、装置、设备和存储介质。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链技术的一种典型应用场景是对交易请求的记账处理。区块链主要解决的交易的信任和安全问题,所以其中一个显著特点是分布式账本。具体是,在区块链系统中的节点,将一定时间内的交易请求或者一定数量的交易请求,交付给当前具有记账权的节点;记账节点对交易请求进行诸如信息转换、格式调整、或代码运行等处理,形成账本数据,而后将多个账本数据打包形成区块;记账节点将区块发送给区块链系统中的其他节点,其他节点进行同样的处理过程,以验证处理结果得到的区块是否与接收到的区块一致,若一致则认可该区块并存储,否则不认可该区块并丢弃。对于区块链的其他应用场景,交易请求又可称为逻辑处理请求,账本数据可称为事务数据。现有技术中,节点对大量交易请求进行处理时,会存在部分交易请求之间存在依赖关系的情况,若存在依赖关系的交易请求被同时处理或处理顺序错误,则可能导致最终产生的账本数据和区块错误。因此,需要提供能够有效识别逻辑处理请求之间依赖关系的方案。
技术实现思路
本专利技术实施例提供一种区块链数据的处理方法、装置、设备和存储介质,以实现对区块链中逻辑处理请求依赖关系的有效识别。第一方面,本专利技术实施例提供了一种区块链数据的处理方法,应用于区块链系统中的节点,该方法包括:根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系;根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理。第二方面,本专利技术实施例还提供了一种区块链数据的处理装置,该装置包括:依赖关系确定模块,用于根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系;请求处理模块,用于根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的区块链数据的处理方法。第四方面,本专利技术实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的区块链数据的处理方法。本专利技术实施例提供的区块链数据的处理方法、装置、设备及存储介质,依据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系,提出了有效识别依赖关系的新思路,并且能够避免现有技术中因依赖关系而导致的处理中止或错误,可以更灵活的对区块链数据的逻辑处理请求进行处理。附图说明图1是本专利技术实施例一中提供的一种区块链数据的处理方法的流程图;图2是本专利技术实施例二中提供的一种区块链数据的处理方法的流程图;图3A是本专利技术实施例三中提供的一种区块链数据的处理方法的流程图;图3B和3C为本专利技术实施例三中涉及的两种依赖树的示意图;图4是本专利技术实施例四中提供的一种区块链数据的处理装置的结构示意图;图5是本专利技术实施例五中提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种区块链数据的处理方法的流程图。本实施例适用于具有通用智能合约下产生的逻辑处理请求进行处理的情况,且尤其适用于逻辑处理请求通过运行代码来实现的区块链系统中,例如基于以太坊方式和EOS(EnterpriseOperationSystem,企业操作系统)方式实现的逻辑处理请求。该方法应用于区块链系统中的节点,区块链可以是公有链、联盟链或私有链,区块链系统通常都会包括多个节点,各个节点按照设定规则会取得区块生成权限,例如记账权限,成为记账节点。本专利技术实施例的方案可以适用于区块生成节点进行区块生成过程的逻辑处理请求处理,也可以适用于区块记录节点对区块进行验证过程中处理逻辑处理请求。该方法可以由本专利技术实施例提供的区块链接的处理装置来执行,该装置可采用软件和/或硬件的方式实现,并可集成于承载区块链系统节点的计算设备中。参见图1,该方法具体包括:S110,根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系。其中,逻辑处理请求可以为区块链系统中的一段时间内发生的交易请求或其他待处理的事务请求;依赖关系是指逻辑处理请求之间相互依赖,不能同时进行处理的关系,实际上也可以称为冲突关系。逻辑处理请求所运行函数是逻辑处理请求运行过程中涉及的函数,具体包括逻辑处理请求本身所写入的函数及存在动态绑定关系、在运行中调用的函数。所调整变量是指在节点处理该逻辑处理请求的过程中,会被调整的变量。尤其是指需持久化存储在硬盘的变量或内存中的全局变量。需要说明的是,本实施例中的逻辑处理请求是基于智能合约平台下所产生的包括运行代码段的逻辑处理请求,如基于以太坊方式或EOS方式实现的逻辑处理请求。以以太坊方式的交易请求为例进行说明。以太坊是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币提供去中心化的虚拟机来处理点对点合约。以太坊方式中的每笔交易以一段可由虚拟机执行的代码组成,而一段代码程序由至少一个运行函数组成,虚拟机执行代码后就完成了账本处理,即每个逻辑处理请求对应至少一个运行函数。因此,可通过逻辑处理请求所运行函数之间的依赖关系,和/或逻辑处理请求所调整变量之间的依赖关系,来确定逻辑处理请求之间的依赖关系。例如,可考虑函数调用关系、函数中所涉及变量的使用关系、输入参数、以及输出参数等来确定函数之间的依赖关系。如果某个函数运行的不同状态,会影响另一个函数的运行结果,则可视为两个函数之间存在依赖关系。若不同逻辑处理请求所调整的变量相同,则视为存在变量依赖关系。S120,根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理;在识别出依赖关系的基础上,可以利用依赖关系来控制逻辑处理请求的处理过程,或者用于其他目的。典型的是,根据各逻辑处理请求之间的依赖关系,对无依赖关系的至少两个逻辑处理请求进行并行处理。其中,无依赖关系与有依赖关系相对,是指逻辑处理请求之间相互独立,能同时进行处理的。对于没有依赖关系的逻辑处理请求,可以进行并行处理,即分配给不同的处理装置,同时处理。并行处理的具体调度策略有多种,后续实施例将介绍基于有向无环图来实现的方案。本专利技术实施例提供的区块链数据的处理方法,依据逻辑处理请求所运行函数或所调整变量之间的依赖关系确定各逻辑处理请求之间的依赖关系,解决了函数代码不易解读的问题,能够更为精细的识别出函数代码形式逻辑处理请求之间的依赖关系。进一步的,通过执行逻辑处理请求的并行处理,避免了现有技术中因依赖关系而导致的处理中止或错误,实现了对区块链数据的并行处理,且兼顾逻辑处理请求的依赖关系。实施例二图2为本专利技术实施例二提供的一种区块链数据的处理方法的流程图。本实施例在上述实施例一的基础上,进本文档来自技高网...

【技术保护点】
1.一种区块链数据的处理方法,应用于区块链系统中的节点,其特征在于,包括:根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系;根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理。

【技术特征摘要】
1.一种区块链数据的处理方法,应用于区块链系统中的节点,其特征在于,包括:根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系;根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理。2.根据权利要求1所述的方法,其特征在于,根据各逻辑处理请求之间的依赖关系,对逻辑处理请求进行处理,包括:根据各逻辑处理请求之间的依赖关系,对无依赖关系的至少两个逻辑处理请求进行并行处理。3.根据权利要求1所述的方法,其特征在于,根据逻辑处理请求所运行函数和/或所调整变量之间的依赖关系,确定各逻辑处理请求之间的依赖关系,包括:根据逻辑处理请求所运行函数和/或所涉及变量被调整的可信度值,确定关联函数和/或关联变量;根据所述关联函数和/或关联变量,确定存在重叠函数和/或重叠变量的逻辑处理请求之间存在依赖关系。4.根据权利要求3所述的方法,其特征在于,根据逻辑处理请求所涉及变量被调整的可信度值,确定关联变量,包括:分别将逻辑处理请求的函数名称以及输入参数,输入至变量确定模型中,得到逻辑处理请求的变量可信度值数组;将数组中可信度值达到设定门限值的变量确定为逻辑处理请求的关联变量;其中,所述变量可信度值数组的每个二元数值为变量名称和被调整的可信度值;所述变量确定模型是通过将历史逻辑处理请求中的函数名称、函数中的输入参数、以及逻辑处理请求执行后的调整变量,作为输入样本,输入到神经网络模型中进行训练而确定的。5.根据权利要求1-4任一所述的方法,其特征在于,所述逻辑处理请求基于以太坊方式或EOS方式实现。6.根据权利要求2所述的方法,其特征在于,根据各逻辑处理请求之间的依赖关系,对无依赖关系的至少两个逻辑处理请求进行并行处理,包括:根据各逻辑处理请求之间的依赖关系,构建包括至少一颗依赖树的有向无环图,其中,所述依赖树用于记录各逻辑处理请求之间的依赖关系;根据所述有向无环图,对无依赖关系的至少两个逻辑处理请求进行并行处理。7.根据权利...

【专利技术属性】
技术研发人员:肖伟
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1