CN112818058B - 区块链与链外系统进行可信数据交互的方法及装置 - Google Patents

区块链与链外系统进行可信数据交互的方法及装置 Download PDF

Info

Publication number
CN112818058B
CN112818058B CN202110041680.1A CN202110041680A CN112818058B CN 112818058 B CN112818058 B CN 112818058B CN 202110041680 A CN202110041680 A CN 202110041680A CN 112818058 B CN112818058 B CN 112818058B
Authority
CN
China
Prior art keywords
data
task
service
trusted
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110041680.1A
Other languages
English (en)
Other versions
CN112818058A (zh
Inventor
李弋凡
阮亚芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mrray Chengdu Technology Co ltd
Original Assignee
Mrray Chengdu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mrray Chengdu Technology Co ltd filed Critical Mrray Chengdu Technology Co ltd
Priority to CN202110041680.1A priority Critical patent/CN112818058B/zh
Publication of CN112818058A publication Critical patent/CN112818058A/zh
Application granted granted Critical
Publication of CN112818058B publication Critical patent/CN112818058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种区块链与链外系统进行可信数据交互的方法及装置,当用户合约每发出一个在需要获取链外业务数据的数据请求时,将相应的上行数据请求转换成任务,以及,在当用户合约在执行过程中与链外业务系统发生业务关联时,将相应的下行业务驱动请求转换成任务,通过任务来实现对所需要交互的数据的动态获取;基于任务驱动的执行方式极大提高了系统执行的灵活性与可调度性,可有效缓解节点在复杂应用场景中的运算负担问题,还能够到达区块链与链外系统进行上行下行可靠数据交互的目的。

Description

区块链与链外系统进行可信数据交互的方法及装置
技术领域
本发明涉及区块链技术,尤其涉及一种区块链与链外系统进行可信数据交互的方法及装置。
背景技术
区块链技术具有不可伪造、全程留痕、可以追溯、公开透明和集体维护等特征,基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制;但是,由于区块链是一个封闭的环境,同时,区块链无法主动发起网络调用而链上智能合约是被动接收数据的。所以,智能合约需要一种与外部世界的数据进行交互的途径,其被称为预言机(oracle),预言机可以从外部世界取得数据,并将将这些数据输入到智能合约进行处理,从而完成了智能合约和外部世界的交互过程。
但是,由于预言机是在第三方设备的非信执行环境下运行的,难以保证提供防篡改的信息源;中国专利申请CN109670335A公开了用于在区块链与链外数据之间进行交互的方法及装置,其通过可信环境增强链外数据与区块链之间的交互的方案,从而实现增强的可信度的预言机,可以使预言机能够安全、完整地获取可信的外部数据,可以确保链外的可信数据源安全、完整地进入用户智能合约,实现用户智能合约和外部世界之间的可靠数据交互方式。但是根据该申请所公开的数据交互过程可知,该申请生成的数据请求包含目标数据的地址信息,相应的数据请求是由区块链网络产生的,那么必然会在区块链网络要保存对应的地址信息,而在复杂的业务场景下,区块链网络会存储大量的地址信息,将会给区块链节点带来计算压力、最终导致整个区块链网络的执行力低下。据此,该申请所提供的区块链与链外数据的交互方法存在在复杂业务场景下容易导致区块链网络执行力低下、不适用于复杂业务场景的缺陷;同时,从业务的全面性角度而言,在区块链与链外数据交互场景中,往往不仅需要将链外数据馈送到相应的区块链节点,还需要考虑到如果将区块链数据安全下发至链外系统,因此该申请还存在未对下行数据业务进行开发、无法实现链上数据安全下放的问题。
发明内容
鉴于以上所述现有技术的不足,本发明的目的在于:提供一种用于区块链与链外系统进行可信数据交互的方法,不仅能够避免给节点带来运算负担,还能够到达区块链与链外系统进行上行下行可靠数据交互的目的。
为实现上述发明目的,本发明提供以下技术方案:
一种区块链与链外系统进行可信数据交互的方法,包括:
当用户合约在执行过程中需要获取链外系统的业务数据时,生成相应的数据请求并调用数据上行合约;执行所述数据上行合约,将所述数据请求描述为对应的数据上行任务;以及由预言机在可信执行环境下执行所述数据上行任务,而获取相应的业务数据并调用所述用户合约的回调方法,将所获取的业务数据传递给所述用户合约;
以及,当用户合约在执行过程中与链外系统发生业务关联时,生成相应的业务驱动请求并调用数据下行合约;执行所述数据下行合约,将所述业务驱动请求描述为对应的业务驱动任务;以及由预言机在可信执行环境下执行所述业务驱动任务,使链外系统执行相应的业务。
优选的,上述区块链与链外系统进行可信数据交互的方法中,所述预言机通过排序的方式对所述数据上行任务进行管理,根据任务排序结果生成数据上行任务列表;通过订阅所述数据上行任务列表,获取当前待处理的数据上行任务,并在可信执行环境下执行所述当前待处理数据上行任务;
以及,所述预言机通过排序的方式对所述业务驱动任务进行管理,根据任务排序结果生成业务驱动任务列表;通过订阅所述业务驱动任务列表,获取当前待处理的业务驱动任务,并在可信执行环境下执行所述当前待处理业务驱动任务。
优选的,上述区块链与链外系统进行可信数据交互的方法中,所述预言机通过状态监控方式对所述数据上行任务列表与所述业务驱动业务列表中的任务执行状态进行监控;若列表中存在超时未执行的任务,对超时任务进行剔除。
优选的,上述区块链与链外系统进行可信数据交互的方法中,所述可信执行环境由处理器提供。
在本发明进一步的实施例中还提供一种用于区块链与链外系统进行可信数据交互的装置,包括:
存储器,用于存储指令;
处理器,用于在执行所述指令时,执行如权利要求1-3任一所述的区块链与链外系统进行可信数据交互的方法。
优选的,上述用于区块链与链外系统进行可信数据交互的装置中,所述处理器用于提供所述可信执行环境。
与现有技术相比,本发明的有益效果:
本发明用于区块链与链外系统进行可信数据交互的方法,当用户合约每发出一个在需要获取链外业务数据的数据请求时,将相应的上行数据请求转换成任务,以及,在当用户合约在执行过程中与链外系统发生业务关联时,将相应的下行业务驱动请求转换成任务,通过任务来实现对所需要交互的数据的动态获取;基于任务驱动的执行方式极大提高了系统执行的灵活性与可调度性,可有效缓解节点在复杂应用场景中的运算负担问题,还能够到达区块链与链外系统进行上行下行可靠数据交互的目的。
进一步的,在本发明用于区块链与链外系统进行可信数据交互的方法中,针对预言机服务平台配置了相应的任务排序管理的机制,以列队排序方式实时更新任务的执行状态,实现上下行数据交互任务的实时更新,并通过状态监控机制进一步缓解区块链网络的数据运算执行压力,保证数据的安全性、提高区块链网络的执行力。
附图说明
图1为本发明区块链与链外系统进行可信数据交互流程示意图;
图2为本发明基于预言机服务构建的区块链与链外系统进行可信数据交互架构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1所示,区块链网络10中的区块链节点100与链外系统30进行可信数据交互的流程包括以下步骤:
当用户合约102在被处理器101执行过程中需要获取链外系统30的业务数据时,生成相应的数据请求并调用数据上行合约;执行所述数据上行合约,将所述数据请求描述为对应的数据上行任务;以及由预言机在可信执行环境20中执行所述数据上行任务,而获取相应的业务数据并调用所述用户合约的回调方法,将所获取的业务数据传递给所述用户合约102;
以及,当用户合约102在被处理器101执行过程中与链外系统30发生业务关联时,生成相应的业务驱动请求并调用数据下行合约;执行所述数据下行合约,将所述业务驱动请求描述为对应的业务驱动任务;以及由预言机在可信执行环境20中执行所述业务驱动任务,使链外系统30执行相应的业务。
在具体实施时,首先建立预言机服务平台架构,并将需要被服务的区块链网络、以及链外系统注册到该预言机服务平台中。如图2所示,本发明用于区块链与链外系统进行可信数据交互的方法在实施时,基于区块链底层平台技术架构,开发支持在分布式环境下链上/链下数据交换的预言机软件、实现方法、数据安全、治理方法等,通过预言机任务转换、任务管理与执行服务让区块链可以更加安全可信的与外部业务系统进行数据交互。实现普通Intel、AMD等服务器和工作站等非信执行环境下预言机服务,支持HTTPS、基于TLS的自定义协议、gRPC接口、FTPS等功能;实现非信执行环境下的预言机对数据流动的动态审计功能,保障数据的可靠应用协同;实现预言机自身代码签名与链上认证机制,实现预言机程序完整性与执行期自检等功能;实现具有硬件可靠性保障的预言机实现方法,支持SGX、TPM/TCM等的硬件预言机运行与挂载点;支持预言机自身代码签名与链上认证机制来实现预言机程序完整性与执行期自检,支持预言机故障内检、异常处置流程、异常抛出框架,以及相关联的合约逃生机制,保障合约执行过程中因数据接口不通、预言结果无法生成等因素导致的交易中断、业务中断等事件。如图2所示,该预言机服务平台架构,包括
(1)接入层:支持外部数据、外部业务系统、三方API等接入,支持Json、XML等数据交互格式。
(2)通讯层:提供多种网络协议支持,支持HTTPS、基于TLS的自定义协议、gRPC接口、FTPS等通讯网络。
(3)服务层:提供非可信执行环境下分布式上/下行预言机服务,实现事件服务、任务调度服务(调度管理、执行组件、状态监控)、环境管理服务、数据调用接口和服务标准协议;预言机合约,提供证实服务、形式化验证、数据一致性算法等支持。
(4)区块链层:提供用户合约、预言机合约等智能合约支持。
(5)数据层:对结构化数据和非结构化数据进行调度和存储。结构化数据包括:XML和DBMS。非结构化数据包括:文本文件、音视频文件、图形图像文件等。
具体的,当每个区块链节点需要通过预言机服务平台获取外部业务系统的数据时,用户合约会提出获取特定数据内容的请求;预言机服务平台执行相应的服务请求合约基于服务标准协议把用户请求转换为服务订单事件(数据上行任务);预言机服务平台通过订阅订单事件,实时获取到当前待处理的用户请求;预言机服务平台根据用户请求获取外部数据,调用订单匹配合约响应方法,传入获取的外部数据;订单匹配合约调用用户合约的回调方法,将数据传递给用户合约;用户合约收到传递的数据,继续自己的业务;区块链数据上行合约由请求订单匹配合约、服务请求合约等智能合约组成,包括:服务请求合约用于响应用户合约请求;服务标准协议定义了获取数据的内容、获取规则、服务响应时间;订单匹配合约用于将外部数据返回给用户合约,由此实现可靠数据的上行交互。
进一步的,与上行数据合约相对应的,为区块链数据下行合约,区块链数据下行合约主要由业务驱动合约组成,业务驱动合约用于接收用户合约发出的业务驱动事件,组装为业务事件的响应协议,供预言机服务平台订阅调用。当用户合约在执行过程中与链外系统发生业务关联时,会发出相应的业务驱动请求并调用数据下行合约;业务合约使用标准协议把用户请求转换成业务驱动任务,预言机服务平台通过订阅业务驱动事件,获取到用户的业务驱动请求;预言机服务平台根据用户请求,调用任务调度服务生成任务;任务调度服务按照驱动事件规则,执行任务发生至业务系统;由此实现可靠数据的下行交互。
在本实施例中,当用户合约每发出一个在需要获取链外业务数据的数据请求时,将相应的上行数据请求转换成任务,以及,在当用户合约在执行过程中与链外系统发生业务关联时,将相应的下行业务驱动请求转换成任务,通过任务来实现对所需要交互的数据的动态获取;基于任务驱动的执行方式极大提高了系统执行的灵活性与可调度性,可有效缓解节点在复杂应用场景中的运算负担问题,还能够到达区块链与链外系统进行上行下行可靠数据交互的目的。
在复杂应用场景中,在同一时间段往往会有多个上下行数据请求,在本发明进一步的实施例中,为预言机服务平台配置了相应的任务排序管理的机制,由此保证预言机服务平台在执行任务时能够订阅到实时任务,通过任务列表对任务进行管理,以列队排序方式实时更新任务的执行状态,实现上下行数据交互任务的实时更新,并通过状态监控机制剔除超时执行的任务,当任务存在超时处理时可能存在网络畅通、通信安全等问题,因此将超时任务从业务列表中剔除,进行进一步缓解区块链网络的数据运算执行压力,保证数据的安全性、提高区块链网络的执行力。
本发明的另一方面,还提供一种于区块链与链外系统进行可信数据交互的装置,其包括:
存储器,用于存储指令;
处理器,用于在执行所述指令时,执行上述区块链与链外系统进行可信数据交互的方法,以及提供所述可信执行环境。
应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (5)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110041680.1A CN112818058B (zh) 2021-01-13 2021-01-13 区块链与链外系统进行可信数据交互的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110041680.1A CN112818058B (zh) 2021-01-13 2021-01-13 区块链与链外系统进行可信数据交互的方法及装置

Publications (2)

Publication Number Publication Date
CN112818058A CN112818058A (zh) 2021-05-18
CN112818058B true CN112818058B (zh) 2022-10-21

Family

ID=75869152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110041680.1A Active CN112818058B (zh) 2021-01-13 2021-01-13 区块链与链外系统进行可信数据交互的方法及装置

Country Status (1)

Country Link
CN (1) CN112818058B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918654B (zh) * 2021-12-07 2022-04-01 深圳前海微众银行股份有限公司 一种区块数据提交的方法及装置
CN114399303A (zh) * 2022-01-17 2022-04-26 支付宝实验室(新加坡)有限公司 基于区块链的资源处理方法以及系统
CN114338536B (zh) * 2022-03-15 2022-06-17 北京百度网讯科技有限公司 基于区块链的调度方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401903A (zh) * 2020-06-03 2020-07-10 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN111930852A (zh) * 2020-09-29 2020-11-13 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111145019A (zh) * 2018-11-05 2020-05-12 北京彩球世纪科技有限公司 一种在区块链上获取链外数据的方式和系统
CN109670335A (zh) * 2018-12-20 2019-04-23 众安信息技术服务有限公司 用于在区块链与链外数据之间进行交互的方法及装置
CN109981679B (zh) * 2019-04-08 2021-08-10 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
CN110471984B (zh) * 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401903A (zh) * 2020-06-03 2020-07-10 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN111930852A (zh) * 2020-09-29 2020-11-13 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN112818058A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112818058B (zh) 区块链与链外系统进行可信数据交互的方法及装置
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
WO2021013058A1 (zh) 大数据产品的异常提示方法、装置、系统、设备及介质
US9565092B2 (en) Enterprise service bus deployment at the level of individual services
US8805930B2 (en) Managing application programming interfaces in a collaboration space
CN107592345B (zh) 交易限流装置、方法及交易系统
CN111357257B (zh) 用于对媒体服务器实例进行负载均衡的系统和方法
US9389929B1 (en) Granular event management for service platforms
US8904451B2 (en) Systems for prioritizing video processing events based on availability of media file and agent to process the event type
US20210034338A1 (en) Communications Enablement Platform, System, and Method
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
US20240022661A1 (en) Suppressing indications of events in user interfaces
Peng et al. A cloud-based monitoring system for performance analysis in IoT industry
US10599505B1 (en) Event handling system with escalation suppression
CN114721807A (zh) 批量业务任务执行方法、装置、设备、介质和程序产品
CN110365786B (zh) 作业处理系统、异步作业调度方法和计算机设备
CN111831503B (zh) 一种基于监控代理的监控方法和监控代理装置
CN113448657B (zh) 一种动态spark任务生成并执行的方法
CN106790341B (zh) 移动Web服务应用的自适应部署方法
US11972098B2 (en) Interaction signal processing in distributed computing systems
CN113472638B (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
AU2011201409A1 (en) System for integrating service management systems
US11165854B1 (en) System and method for large scale screen capture across global data center deployments
CN115460265A (zh) 接口调用方法、装置、设备及介质
CN115250276A (zh) 分布式系统及数据处理的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for trustworthy data exchange between blockchain and off chain systems

Effective date of registration: 20231201

Granted publication date: 20221021

Pledgee: Chengdu Rural Commercial Bank Co.,Ltd. West District Branch

Pledgor: MRRAY CHENGDU TECHNOLOGY Co.,Ltd.

Registration number: Y2023980068676