区块链消息处理方法、装置、计算机以及可读存储介质制造方法及图纸

技术编号:24856578 阅读:24 留言:0更新日期:2020-07-10 19:09
本申请实施例公开了一种区块链消息处理方法、装置、计算机及可读存储介质,可以用于大数据中的数据传输,该方法包括:获取业务合约信息,将业务合约信息添加至预言机合约中;上述业务合约信息包括业务智能合约的合约标识及业务智能合约对应的业务请求事件;获取目标链外节点,通过预言机合约将业务合约信息发送至目标链外节点,以使目标链外节点获取与业务请求事件对应的事件请求结果;获取目标链外节点发送的事件请求结果,将事件请求结果反馈至上述合约标识对应的业务智能合约。采用本申请,可以实现区块链中链上链下之间的数据交互,提高区块链中链上链下数据交互的实时性,进而提高区块链消息处理的效率。

【技术实现步骤摘要】
区块链消息处理方法、装置、计算机以及可读存储介质
本申请涉及区块链
,尤其涉及一种区块链消息处理方法、装置、计算机以及可读存储介质。
技术介绍
随着区块链技术的日益成熟,加上区块链的去中心化等的特性,使得区块链的应用日益广泛。换句话说,区块链最大的核心创新在于去中心化的解决信任问题,不需要再去信任和依靠第三方机构的情况下进行价值转移。其中,智能合约是其中的重要组成部分,它是一套数字形式定义的合约,帮助合约参与方执行完成任务的协议。而区块链上的智能合约和去中心化应用(Decentralizedapplication,Dapp)对外界数据拥有交互需求。由于区块链无法主动发起网络调用,而链上的部分智能合约需要获取到某个事件的处理结果后,才能进一步触发执行后续的业务,而事件的处理结果需要用户通过互联网获取得到,并由该用户将获取到的事件的处理结果作为交易数据传输到区块链网络中。然而通过用户自主获取事件的处理结果往往会有滞后性,导致该智能合约无法及时获取到该事件的处理结果,影响后续的业务执行,从而降低了区块链消息处理的效率。
技术实现思路
本申请实施例提供了一种区块链消息处理方法、装置、计算机设备以及可读存储介质,可以实现区块链中链上链下之间的数据交互,提高区块链中链上链下数据交互的实时性,进而提高区块链消息处理的效率。本申请实施例一方面提供了一种区块链消息处理方法,包括:获取业务合约信息,将上述业务合约信息添加至预言机合约中;上述业务合约信息包括业务智能合约的合约标识及上述业务智能合约对应的业务请求事件;获取目标链外节点,通过上述预言机合约将上述业务合约信息发送至上述目标链外节点,以使上述目标链外节点获取与上述业务请求事件对应的事件请求结果;获取上述目标链外节点发送的上述事件请求结果,将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约。其中,上述获取业务合约信息,包括:获取合约区块的区块上链消息,上述区块上链消息包括上述业务智能合约;获取上述业务智能合约的合约标识;解析上述业务智能合约,得到上述业务请求事件;上述业务请求事件包括用于表征上述业务智能合约被触发后所请求的数据对象;根据上述合约标识及上述业务请求事件生成上述业务合约信息。其中,上述方法还包括:生成上述业务请求事件的哈希值,作为交易哈希;上述根据上述合约标识及上述业务请求事件生成上述业务合约信息,包括:根据上述合约标识、上述交易哈希及上述业务请求事件,生成上述业务合约信息。其中,上述获取上述目标链外节点发送的上述事件请求结果,包括:接收上述目标链外节点发送的业务响应消息,上述业务响应消息包括上述事件请求结果及上述交易哈希;获取上述业务响应消息中的上述事件请求结果;则上述将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约,包括:获取上述业务响应消息中的上述交易哈希;基于上述交易哈希确定上述事件请求结果对应的上述合约标识;上述合约标识与上述交易哈希之间存在关联关系;将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约。其中,上述预言机合约包括业务映射表,上述业务映射表包括业务类型及上述业务类型对应的业务数据集合;上述将上述业务合约信息添加至预言机合约中,包括:获取上述业务请求事件所属的目标业务类型,从上述预言机合约中获取上述目标业务类型对应的目标业务数据集合;将上述业务合约信息添加至上述目标业务数据集合;则上述获取目标链外节点,通过上述预言机合约将上述业务合约信息发送至上述目标链外节点,包括:获取上述目标业务数据集合对应的链外节点,作为上述目标链外节点;通过上述预言机合约将上述业务合约信息发送至上述目标链外节点。其中,上述获取目标链外节点,包括:获取处于空闲状态的链外节点,作为候选链外节点;获取上述候选链外节点的网络质量参数,将上述网络质量参数最高的候选链外节点确定为上述目标链外节点。其中,上述将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约,包括:获取上述业务请求事件对应的协议数据格式,将上述事件请求结果的数据格式转化为上述协议数据格式,得到转化执行结果;将上述转化执行结果反馈至上述合约标识对应的上述业务智能合约。本申请实施例一方面提供了一种区块链消息处理方法,包括:获取预言机合约节点通过预言机合约发送的业务合约信息;上述业务合约信息包括业务智能合约的合约标识及上述业务智能合约对应的业务请求事件;基于上述业务请求事件确定数据获取地址;访问上述数据获取地址,获取上述业务请求事件对应的事件请求结果,将上述事件请求结果发送至上述预言机合约节点,以使上述预言机合约节点将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约。其中,上述业务合约信息还包括交易哈希;上述方法还包括:生成上述业务请求事件的验证哈希,若上述交易哈希与上述验证哈希相同,则触发上述基于上述业务请求事件确定数据获取地址的过程;若上述交易哈希与上述验证哈希不相同,则向上述预言机合约节点发送业务数据异常消息。其中,上述业务请求事件包括业务处理时间;上述方法还包括:基于上述业务处理时间创建业务定时器,当上述业务定时器的值与上述业务处理时间相同时,触发上述访问上述数据获取地址的过程。其中,上述将上述事件请求结果发送至上述预言机合约节点,包括:获取上述交易哈希,将上述交易哈希及上述事件请求结果封装为业务响应消息;上述交易哈希用于表征上述预言机合约节点获取上述合约标识的依据;向上述预言机合约节点发送上述业务响应消息。本申请实施例一方面提供了一种区块链消息处理装置,上述装置包括:业务获取模块,用于获取业务合约信息,将上述业务合约信息添加至预言机合约中;上述业务合约信息包括业务智能合约的合约标识及上述业务智能合约对应的业务请求事件;节点获取模块,用于获取目标链外节点,通过上述预言机合约将上述业务合约信息发送至上述目标链外节点,以使上述目标链外节点获取与上述业务请求事件对应的事件请求结果;结果获取模块,用于获取上述目标链外节点发送的上述事件请求结果,将上述事件请求结果反馈至上述合约标识对应的上述业务智能合约。其中,在上述获取业务合约信息方面,上述业务获取模块包括:合约获取单元,用于获取合约区块的区块上链消息,上述区块上链消息包括上述业务智能合约;标识获取单元,用于获取上述业务智能合约的合约标识;事件获取单元,用于解析上述业务智能合约,得到上述业务请求事件;上述业务请求事件包括用于表征上述业务智能合约被触发后所请求的数据对象;业务生成单元,用于根据上述合约标识及上述业务请求事件生成上述业务合约信息。其中,上述装置还包括:哈希生成模块,用于生成上述本文档来自技高网...

【技术保护点】
1.一种区块链消息处理方法,其特征在于,所述方法包括:/n获取业务合约信息,将所述业务合约信息添加至预言机合约中;所述业务合约信息包括业务智能合约的合约标识及所述业务智能合约对应的业务请求事件;/n获取目标链外节点,通过所述预言机合约将所述业务合约信息发送至所述目标链外节点,以使所述目标链外节点获取与所述业务请求事件对应的事件请求结果;/n获取所述目标链外节点发送的所述事件请求结果,将所述事件请求结果反馈至所述合约标识对应的所述业务智能合约。/n

【技术特征摘要】
1.一种区块链消息处理方法,其特征在于,所述方法包括:
获取业务合约信息,将所述业务合约信息添加至预言机合约中;所述业务合约信息包括业务智能合约的合约标识及所述业务智能合约对应的业务请求事件;
获取目标链外节点,通过所述预言机合约将所述业务合约信息发送至所述目标链外节点,以使所述目标链外节点获取与所述业务请求事件对应的事件请求结果;
获取所述目标链外节点发送的所述事件请求结果,将所述事件请求结果反馈至所述合约标识对应的所述业务智能合约。


2.如权利要求1所述的方法,其特征在于,所述获取业务合约信息,包括:
获取合约区块的区块上链消息,所述区块上链消息包括所述业务智能合约;
获取所述业务智能合约的合约标识;
解析所述业务智能合约,得到所述业务请求事件;所述业务请求事件包括用于表征所述业务智能合约被触发后所请求的数据对象;
根据所述合约标识及所述业务请求事件生成所述业务合约信息。


3.如权利要求2所述的方法,其特征在于,所述方法还包括:
生成所述业务请求事件的哈希值,作为交易哈希;
所述根据所述合约标识及所述业务请求事件生成所述业务合约信息,包括:
根据所述合约标识、所述交易哈希及所述业务请求事件,生成所述业务合约信息。


4.如权利要求3所述的方法,其特征在于,所述获取所述目标链外节点发送的所述事件请求结果,包括:
接收所述目标链外节点发送的业务响应消息,所述业务响应消息包括所述事件请求结果及所述交易哈希;
获取所述业务响应消息中的所述事件请求结果;
则所述将所述事件请求结果反馈至所述合约标识对应的所述业务智能合约,包括:
获取所述业务响应消息中的所述交易哈希;
基于所述交易哈希确定所述事件请求结果对应的所述合约标识;所述合约标识与所述交易哈希之间存在关联关系;
将所述事件请求结果反馈至所述合约标识对应的所述业务智能合约。


5.如权利要求1所述的方法,其特征在于,所述预言机合约包括业务映射表,所述业务映射表包括业务类型及所述业务类型对应的业务数据集合;
所述将所述业务合约信息添加至预言机合约中,包括:
获取所述业务请求事件所属的目标业务类型,从所述预言机合约中获取所述目标业务类型对应的目标业务数据集合;
将所述业务合约信息添加至所述目标业务数据集合;
则所述获取目标链外节点,通过所述预言机合约将所述业务合约信息发送至所述目标链外节点,包括:
获取所述目标业务数据集合对应的链外节点,作为所述目标链外节点;
通过所述预言机合约将所述业务合约信息发送至所述目标链外节点。


6.如权利要求1所述的方法,其特征在于,所述获取目标链外节点,包括:
获取处于空闲状态的链外节点,作为候选链外节点;
获取所述候选链外节点的网络质量参数,将所述网络质量参数最高的候选链外节点确定为所述目标链外节点。


7.如权利要求1所述的方法,其特征在于,所述将所述事件请求结果反馈至所述合约标识对应的所述业务智能合约,包括:
获取所述业务请求事件对应的协议数据格式,将所述事件请求结果的数据格式转化为所述协议数据格式,得到转化执行结果;
将所述转化执行结果反馈至所述合约标识对应的所述业务智能合约。


8.一种区块链消息处理方法,其特征在...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1