区块链世界状态的直接访问方法及区块链节点技术

技术编号:22418662 阅读:25 留言:0更新日期:2019-10-30 02:09
本申请提供了一种区块链世界状态的直接访问方法及区块链节点,该方法包括:接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;若确定通过验证的请求报文的请求类型为查询世界状态数据,则将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;应用所述完整查询键值查询所述区块链的世界状态数据。本申请能够直接访问世界状态的数据,进而提升区块链系统的运维支持能力。

【技术实现步骤摘要】
区块链世界状态的直接访问方法及区块链节点
本申请涉及区块链
,尤其是涉及一种区块链世界状态的直接访问方法及区块链节点。
技术介绍
智能合约技术实现了区块链应用从单一的加密数字货币领域扩大到了其它领域,例如,供应链金融、跨境支付、资产证券化、商品溯源和数字版权等,极大地拓宽了区块链的应用范围,区块链技术正在掀起一场颠覆性革命。传统的系统部署中,应用服务器与数据库服务器一般独立部署,对数据的操作可通过数据库管理工具来进行增删改查。但是,区块链以节点的方式来组建网络,每个节点内部集成了kv型数据库,拥有一份完整的数据账本,对数据的访问只能通过智能合约接口来实现。这种数据访问机制存在两个弊端:一是当智能合约没有实现所需的数据查询功能时,世界状态的数据将无法获取,不利于系统的运维和业务支持;二是如果在每套智能合约里编写查看世界状态数据的代码,这些非业务功能相关的代码集成在智能合约里,不仅导致大量代码冗余,而且不利于后续智能合约的升级与维护。
技术实现思路
针对现有技术中的问题,本申请提出了一种区块链世界状态的直接访问方法及区块链节点,能够直接访问世界状态的数据,进而能够提升区块链系统的运维支持能力。为了解决上述技术问题,本申请提供以下技术方案:第一方面,本申请提供一种区块链世界状态的直接访问方法,包括:接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;若确定通过验证的请求报文的请求类型为查询世界状态数据,则将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;应用所述完整查询键值查询所述区块链的世界状态数据。进一步地,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若通过所述用户身份验证且所述请求报文的请求类型为写入世界状态类型,则将所述请求报文进行拜占庭容错共识;将通过所述拜占庭容错共识的请求报文的所述目标合约唯一标识和所述目标数据键值拼接成完整写入键值;利用所述完整写入键值,将与其对应的数据值写入所述区块链的世界状态数据。进一步地,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若验证通过且所述请求报文的请求类型为业务交易类型,则调用智能合约容器,以通过执行目标合约来实现业务功能和对数据的读写操作。进一步地,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若未通过所述验证,则停止所述访问所述区块链的世界状态数据。进一步地,所述目标合约唯一标识为区分不同目标合约的标识,包括:字母和数字。第二方面,本申请提供一种区块链节点,包括:接收请求模块,用于接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;第一拼接模块,用于若确定通过验证的请求报文的请求类型为查询世界状态数据,将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;查询模块,用于通过所述完整查询键值查询所述区块链的世界状态数据。进一步地,所述的区块链节点,还包括:共识管理模块,用于在接收请求报文并对该请求报文对应的用户身份进行验证之后,若通过所述用户身份验证且所述请求报文的请求类型为写入世界状态类型,则将所述请求报文进行拜占庭容错共识;第二拼接模块,还用于将通过所述拜占庭容错共识的请求报文的所述目标合约唯一标识和所述目标数据键值拼接成完整写入键值;写入模块,用于利用所述完整写入键值,将与其对应的数据值写入所述区块链的世界状态数据。进一步地,所述的区块链节点,还包括:业务功能模块,用于在接收请求报文并对该请求报文对应的用户身份进行验证之后,若验证通过且所述请求报文的请求类型为业务交易类型,则调用智能合约容器,以通过执行目标合约来实现业务功能和对数据的读写操作。进一步地,所述的区块链节点,还包括:停止访问模块,用于在接收请求报文并对该请求报文对应的用户身份进行验证之后,若未通过所述验证,则停止所述访问所述区块链的世界状态数据。进一步地,所述目标合约唯一标识为区分不同目标合约的标识,包括:字母和数字。第三方面,本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链世界状态的直接访问方法的步骤。第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的区块链世界状态的直接访问方法的步骤。由上述技术方案可知,本申请实施例提供一种区块链世界状态的直接访问方法及区块链节点,该方法包括:接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;若确定通过验证的请求报文的请求类型为查询世界状态数据,则将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;应用所述完整查询键值查询所述区块链的世界状态数据,能够通过在区块链底层拼装访问世界状态的完整键值,并直接执行查询交易或写入目标数据,实现绕过智能合约访问世界状态,一方面解耦了数据访问对智能合约的依赖性,另一方面提升了对世界状态数据的访问能力和灵活性。在区块链系统运维方面,为了访问世界状态相关数据,不再需要通过编写智能合约代码来实现,避免了因智能合约功能缺失导致数据不可获取,提升了整个区块链系统的健壮性;在智能合约应用开发方面,不再需要在智能合约里集成大量业务无关性代码,优化了智能合约代码质量及后续维护工作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种区块链世界状态的直接访问方法的流程示意图;图2为本申请另一实施例提供的一种区块链世界状态的直接访问方法的流程示意图;图3为本申请一个实施例提供的一种区块链世界状态的直接访问方法中步骤100、500和600的流程示意图;图4为本申请实施例提供的区块链节点的结构示意图;图5为本申请另一实施例提供的区块链节点的结构示意图;图6为本申请具体应用实例中的一种直接访问区块链世界状态的系统结构示意图;图7为本申请具体应用实例中的客户端结构图;图8为本申请具体应用实例中的综合前置装置结构图;图9为本申请具体应用实例中的应用服务器结构图;图10为本申请具体应用实例中的区块链节点结构图;图11为本申请具体应用实例中提供的交易管理单元结构图;图12为本申请具体应用实例中提供的数据管理单元结构图;图13为本申请具体应用实例中的查询世界状态数据过程的流程示意图;图14为本申请具体应用实例中的写入世界状态数据过程的流程示意图;图15为本申请实施例的电子设备9600的系统构成示意框图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在本文档来自技高网
...

【技术保护点】
1.一种区块链世界状态的直接访问方法,其特征在于,包括:接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;若确定通过验证的请求报文的请求类型为查询世界状态数据,则将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;应用所述完整查询键值查询所述区块链的世界状态数据。

【技术特征摘要】
1.一种区块链世界状态的直接访问方法,其特征在于,包括:接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签名信息;若确定通过验证的请求报文的请求类型为查询世界状态数据,则将所述目标合约唯一标识和目标数据键值拼接成完整查询键值;应用所述完整查询键值查询所述区块链的世界状态数据。2.根据权利要求1所述的区块链世界状态的直接访问方法,其特征在于,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若通过所述用户身份验证且所述请求报文的请求类型为写入世界状态类型,则将所述请求报文进行拜占庭容错共识;将通过所述拜占庭容错共识的请求报文的所述目标合约唯一标识和所述目标数据键值拼接成完整写入键值;利用所述完整写入键值,将与其对应的数据值写入所述区块链的世界状态数据。3.根据权利要求1所述的区块链世界状态的直接访问方法,其特征在于,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若验证通过且所述请求报文的请求类型为业务交易类型,则调用智能合约容器,以通过执行目标合约来实现业务功能和对数据的读写操作。4.根据权利要求1所述的区块链世界状态的直接访问方法,其特征在于,在所述接收请求报文并对该请求报文对应的用户身份进行验证之后,还包括:若未通过所述验证,则停止所述访问所述区块链的世界状态数据。5.根据权利要求1所述的区块链世界状态的直接访问方法,其特征在于,所述目标合约唯一标识为区分不同目标合约的标识,包括:字母和数字。6.一种区块链节点,其特征在于,包括:接收请求模块,用于接收请求报文并对该请求报文对应的用户身份进行验证,其中,所述请求报文包括:用户ID、目标合约唯一标识、目标数据键值、数据值和签...

【专利技术属性】
技术研发人员:刘彦平黄肇敏刘朝伟罗立为秦国
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京,11

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

1