1.一种区块链与链外系统进行可信数据交互的方法,其特征在于,包括:
当用户合约在执行过程中需要获取链外系统的业务数据时,生成相应的数据请求并调用数据上行合约;执行所述数据上行合约,将所述数据请求描述为对应的数据上行任务;以及由预言机在可信执行环境下执行所述数据上行任务,而获取相应的业务数据并调用所述用户合约的回调方法,将所获取的业务数据传递给所述用户合约;
以及,当用户合约在执行过程中与链外系统发生业务关联时,生成相应的业务驱动请求并调用数据下行合约;执行所述数据下行合约,将所述业务驱动请求描述为对应的业务驱动任务;以及由预言机在可信执行环境下执行所述业务驱动任务,使链外系统执行相应的业务;
其中,所述预言机通过排序的方式对所述数据上行任务进行管理,根据任务排序结果生成数据上行任务列表;通过订阅所述数据上行任务列表,获取当前待处理的数据上行任务,并在可信执行环境下执行所述当前待处理数据上行任务;
以及,所述预言机通过排序的方式对所述业务驱动任务进行管理,根据任务排序结果生成业务驱动任务列表;通过订阅所述业务驱动任务列表,获取当前待处理的业务驱动任务,并在可信执行环境下执行所述当前待处理业务驱动任务。
2.如权利要求1所述的区块链与链外系统进行可信数据交互的方法,其特征在于,所述预言机通过状态监控方式对所述数据上行任务列表与所述业务驱动业务列表中的任务执行状态进行监控;若列表中存在超时未执行的任务,对超时任务进行剔除。
3.如权利要求1所述的区块链与链外系统进行可信数据交互的方法,其特征在于,所述可信执行环境由处理器提供。
4.一种用于区块链与链外系统进行可信数据交互的装置,其特征在于,包括:
存储器,用于存储指令;
处理器,用于在执行所述指令时,执行如权利要求1‑2任一所述的区块链与链外系统进行可信数据交互的方法。
5.如权利要求4所述的用于区块链与链外系统进行可信数据交互的装置,其特征在于,所述处理器用于提供所述可信执行环境。