一种区块链网关的实现方法、装置、网关和介质制造方法及图纸

技术编号:29411674 阅读:17 留言:0更新日期:2021-07-23 22:53
本申请实施例公开了一种区块链网关的实现方法、装置、网关和介质,涉及区块链技术领域。具体实现方案为:合约解析单元对获取到的业务请求进行解析,并基于待调用的目标智能合约的方法名称和参数对业务请求进行编码,以生成合约结构内容;通过智能合约调用桥将合约结构内容传输给区块链节点,以请求区块链节点根据合约结构内容调用目标智能合约来执行业务处理;通过智能合约调用桥接收区块链节点调用目标智能合约后的执行结果;对执行结果进行解析并响应业务请求。本申请实施例减少了技术人员调用区块链网络中部署的业务逻辑的操作难度和技术门槛,进而优化了区块链智能合约的调用方式,提高了调用智能合约的便捷度。

【技术实现步骤摘要】
一种区块链网关的实现方法、装置、网关和介质
本申请实施例涉及计算机计算领域,具体涉及区块链技术。
技术介绍
以太坊是目前使用广泛的一种区块链网络,作为业务功能提供方的开发用户可以将自己的业务逻辑以智能合约的形式部署到以太坊上运行,以实现数据的公开透明和不可篡改的目的。目前,开发用户通过以太坊提供的程序接口来管理自己在区块链上部署的业务逻辑,其难度是相对较高的。开发用户需要对所调用的智能合约及参数按照以太坊的编码规则进行编码以及进行签名,需要经过一系列复杂操作才能将业务事务请求发送到基于以太坊的区块链节点。因此,现有技术想要通过以太坊区块链节点来调用智能合约,对技术人员的要求门槛较高,不方便操作。
技术实现思路
本申请实施例提供一种区块链网关的实现方法、装置、设备和介质,以优化区块链智能合约的调用方式,使其更加方便操作。第一方面,本申请实施例提供了一种区块链网关的实现方法,包括:合约解析单元对获取到的业务请求进行解析,并基于待调用的目标智能合约的方法名称和参数,对所述业务请求进行编码,以生成合约结构内容;所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点,以请求所述区块链节点根据所述合约结构内容调用所述目标智能合约来执行业务处理;所述合约解析单元通过所述智能合约调用桥,接收所述区块链节点调用所述目标智能合约后的执行结果;所述合约解析单元对所述执行结果进行解析,并响应所述业务请求。本申请实施例由合约解析单元对获取到的业务请求进行解析,并基于带调用的目标智能合约的方法名称和参数,对业务请求进行编码,以生成合约结构内容;通过智能合约调用桥,将合约结构内容传输至区块链节点,以请求区块链节点根据合约结构内容调用目标智能合约来执行业务处理;合约解析单元对执行结果进行解析,并响应业务请求。上述技术方案通过合约解析单元对业务请求自动进行解析编码,得到合约结构内容,以供区块链网络直接调用目标智能合约进行处理,以及通过合约解析单元解析由智能合约调用桥所接收的区块链节点调用目标智能合约的执行结果,以响应业务请求,减少了技术人员调用区块链网络中部署的业务逻辑的操作难度,降低了技术人员调用智能合约的技术门槛,进而优化了区块链智能合约的调用方式,提高了调用智能合约的便捷度。可选的,所述业务请求包括业务上链请求和业务查询请求。上述申请中的一个可选实施方式,通过将业务请求细化为包括业务上链请求和业务查询请求,进而丰富了可调用的智能合约的类型。可选的,合约解析单元对获取到的业务请求进行解析之前,还包括:所述合约解析单元作为服务端,从对应的客户端获取所述业务请求;相应的,所述合约解析单元对所述执行结果进行解析,并响应所述业务请求包括:所述合约解析单元对所述执行结果进行解析,并将解析结果反馈给发起所述业务请求的客户端。上述申请中的一个可选实施方式,在合约解析单元解析业务请求之前,从与合约解析单元所对应的客户端进行业务请求的获取,使得无法直接调用区块链智能合约的客户端,能够向所对应的合约解析单元发送业务请求,进而通过合约解析单元进行智能合约的调用,以及智能合约执行结果的反馈,为无法直接调用区块链智能合约的客户端提供了可能。可选的,若所述业务请求为交易类型的交易请求,所述方法还包括:所述合约解析单元通过所述智能合约调用桥把所述交易请求发送到区块链节点上;所述合约解析单元接收通过智能合约调用桥同步返回的交易请求的交易哈希值,并通过所述交易哈希值的回执确定交易是否完成。上述申请中的一个可选实施方式,通过在合约解析单元所获取的月清秋为交易类型的交易请求时,追加合约解析单元经由智能合约调用桥向区块链节点发送交易请求,并接收反馈的交易请求的交易哈希值,从而根据所反馈的交易哈希值的回执确定交易是否完成,丰富了调用智能合约执行交易请求的相关内容,同时实现了对交易请求的执行情况的有效监控。可选的,所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点之前,还包括:节点管理单元获取节点池中至少一个区块链节点的状态信息;所述节点管理单元根据状态信息确定用于处理当前合约结构内容的区块链节点。上述申请中的一个可选实施方式,通过在通过智能合约调用桥向区块链节点传输合约结构内容之前,追加由节点管理单元进行区块链节点的状态信息的获取,并根据所获取的状态信息确定处理当前合约结构内容的区块链节点,从而完善了区块链节点的确定机制,为区块链网络中各区块链节点所执行任务的均衡分配提供保障。可选的,所述状态信息包括:区块链节点的负载状态信息和区块链节点的通信状态信息;节点管理单元获取节点池中至少一个区块链节点的状态信息,包括:所述节点管理单元按照设定规律与区块链网络中的多个区块链节点进行通信,以采集各区块链节点的状态信息。上述申请中的一个可选实施方式,通过追加节点管理单元按照设定规律与区块链网络中的多个节点进行通信,以采集各区块链节点的状态信息,从而为处理当前合约结构内容的区块链节点的确定提供参照。可选的,所述方法还包括:如果所述节点管理单元监测到状态信息出现异常的区块链节点,则发起异常提醒。上述申请中的一个可选实施方式,在节点管理单元检测到有区块链节点的状态信息存在异常时,进行异常提醒,以便及时掌控异常区块链节点的情况。可选的,所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点之前,还包括:计数管理单元根据发起方账户的前次计数值确定本次计数值,将所述本次计数值添加至所述合约结构内容中;其中,所述发起方账户与所述业务请求的发起方一一对应或一对多对应;所述计数值顺序递增。上述申请中的一个可选实施方式,通过在通过智能合约调用桥向区块链节点传输合约结构内容之前,追加由计数管理单元根据发起方账户的前次计数值确定本次计数值,并将本次计数值添加至合约结构内容,从而避免了在区块链网络中对合约结构内容的重复传播或重复执行,同时,针对各发起方账户设置本次计数值,为区块链节点对发起方账户所发起的业务请求的顺序执行提供保障。可选的,所述方法还包括:所述计数管理单元通过所述智能合约调用桥向区块链节点发起计数值校正查询请求,以查询所述发起方账户在所述区块链中记录的最新计数值;所述计数管理单元根据所述最新计数值更新本地的前次计数值。上述申请中的一个可选实施方式,由计数管理单元通过智能合约调用桥向区块链节点发起计数校正查询请求,以进行最新计数值的获取,从而根据最新计数值进行本地的前次计数值的更新校正,为各发起方账户的计数值的准确性提供保证。可选的,所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点之前,还包括:如果所述业务请求为业务上链请求,则事务管理单元对待上链的所述合约结构内容启动监控;相应的,在所述合约结构内容传输给区块链节点之后,还包括:本文档来自技高网...

【技术保护点】
1.一种区块链网关的实现方法,其特征在于,包括:/n合约解析单元对获取到的业务请求进行解析,并基于待调用的目标智能合约的方法名称和参数,对所述业务请求进行编码,以生成合约结构内容;/n所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点,以请求所述区块链节点根据所述合约结构内容调用所述目标智能合约来执行业务处理;/n所述合约解析单元通过所述智能合约调用桥,接收所述区块链节点调用所述目标智能合约后的执行结果;/n所述合约解析单元对所述执行结果进行解析,并响应所述业务请求。/n

【技术特征摘要】
1.一种区块链网关的实现方法,其特征在于,包括:
合约解析单元对获取到的业务请求进行解析,并基于待调用的目标智能合约的方法名称和参数,对所述业务请求进行编码,以生成合约结构内容;
所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点,以请求所述区块链节点根据所述合约结构内容调用所述目标智能合约来执行业务处理;
所述合约解析单元通过所述智能合约调用桥,接收所述区块链节点调用所述目标智能合约后的执行结果;
所述合约解析单元对所述执行结果进行解析,并响应所述业务请求。


2.根据权利要求1所述的方法,其特征在于,所述业务请求包括业务上链请求和业务查询请求。


3.根据权利要求1或2所述的方法,其特征在于:
合约解析单元对获取到的业务请求进行解析之前,还包括:所述合约解析单元作为服务端,从对应的客户端获取所述业务请求;
相应的,所述合约解析单元对所述执行结果进行解析,并响应所述业务请求包括:
所述合约解析单元对所述执行结果进行解析,并将解析结果反馈给发起所述业务请求的客户端。


4.根据权利要求2所述的方法,其特征在于,若所述业务请求为交易类型的交易请求,所述方法还包括:
所述合约解析单元通过所述智能合约调用桥把所述交易请求发送到区块链节点上;
所述合约解析单元接收通过智能合约调用桥同步返回的交易请求的交易哈希值,并通过所述交易哈希值的回执确定交易是否完成。


5.根据权利要求1所述的方法,其特征在于,所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点之前,还包括:
节点管理单元获取节点池中至少一个区块链节点的状态信息;
所述节点管理单元根据状态信息确定用于处理当前合约结构内容的区块链节点。


6.根据权利要求5所述的方法,其特征在于,所述状态信息包括:区块链节点的负载状态信息和区块链节点的通信状态信息;
节点管理单元获取节点池中至少一个区块链节点的状态信息,包括:
所述节点管理单元按照设定规律与区块链网络中的多个区块链节点进行通信,以采集各区块链节点的状态信息。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果所述节点管理单元监测到状态信息出现异常的区块链节点,则发起异常提醒。


8.根据权利要求1所述的方法,其特征在于,所述合约解析单元通过智能合约调用桥,将所述合约结构内容传输给区块链节点之前,还包括:
计数管理单元根据发起方账户的前次计数值确定本次计数值,将所述本次计数值添加至所述合约结构内容中;
其中,所述发起方账户与所述业务请求的发起方一一对应或一对多对应;所述计数值顺序递增。


9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述计...

【专利技术属性】
技术研发人员:林晶晶陈浩栋毛宏斌潘思远王辉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1