CN114024985A - 一种区块链的预言机计算架构及处理大量数据的方法 - Google Patents
一种区块链的预言机计算架构及处理大量数据的方法 Download PDFInfo
- Publication number
- CN114024985A CN114024985A CN202111268841.7A CN202111268841A CN114024985A CN 114024985 A CN114024985 A CN 114024985A CN 202111268841 A CN202111268841 A CN 202111268841A CN 114024985 A CN114024985 A CN 114024985A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- computing
- calculation
- algorithm
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种区块链的预言机计算架构及处理大量数据的方法,所述预言机计算架构包括:数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层;计算层,使用若干大数据计算引擎处理来自数据层的数据,并将计算结果以API的形式提供给算法层或应用层;算法层,集成若干智能算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务。本申请解决了目前预言机上传数据性能较差且开销大、计算能力有限的问题。
Description
技术领域
本申请涉及区块链技术领域,特别地,涉及一种区块链的预言机计算架构及处理大量数据的方法。
背景技术
预言机是指能够解决任何决策问题或功能性问题的实体,对于给定的数据输入,能够进行智能计算并完成某项决策或者实现某种功能,从而得到输出结果。因此,预言机可以被看作为一个“黑匣子”,能为任何给定的请求提供解决方案。应用于区块链中的预言机主要有两种功能:1)数据IO接口:为区块链封闭的环境提供数据的输入和输出。预言机使智能合约能够发起获取区块链外部数据的请求;2)智能计算:对区块链账本数据或者来自区块链外部的数据进行智能计算,得到某项决策结果或某项功能。然而,现有应用于区块链中的预言机存在如下不足:
①预言机作为区块链连接外部环境的通道,能够为区块链提供真实的外部数据。目前存在的预言机(ChainLink等)通过多节点的分流来应对大量数据上传至区块链,然后在链上进行数据聚合。但是此方案需要多节点进行共识,上传数据的性能和可扩展性较差,且成本较高,不能很好的处理大规模数据(例如物联网数据等)的存储问题。
②区块链链上的计算能力有限,无法直接处理链上存储的大量账本数据和来自区块链外部的大规模数据。预言机可以为区块链提供处理数据的算力,但是目前存在的预言机(例如ChainLink等),使用英特尔的SGX等技术,处理数据的能力有限,且成本较高,效率低下,只能应对一些简单的任务场景,不支持大规模数据的智能计算(例如大数据分析、机器学习、深度学习等)。
发明内容
针对上述技术问题,本申请一方面提供了区块链的预言机计算架构,用于解决目前应用于区块链中的预言机上传数据性能较差且开销大、计算能力有限的问题。
本申请通过以下方案实现:
一种区块链的预言机计算架构,包括:
数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层,保存数据时,根据数据的规模大小确定采用外部数据库集群存储或账本存储的方式保存所获数据;
计算层,使用若干大数据计算引擎处理来自数据层的数据,并将计算结果以API的形式提供给算法层或应用层;
算法层,集成若干智能算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;
应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务。
进一步地,所述数据层具体包括:
区块链账本数据组件,包括数据组件和网络组件,所述数据组件用于存放区块链账本数据,网络组件用于将数据提供给计算层或者算法层;
跨链数据组件,包括数据组件和网络组件,所述数据组件用于存放跨链数据,所述网络组件通过跨链网关获得跨链数据并将跨链数据提供给计算层或者算法层;
物联网数据组件,包括感知组件和网络组件,所述感知组件用于感知并收集来自物理环境的真实链下数据,所述网络组件通过物联网设备和物联网网关获得链下数据并将链下数据提供给计算层或者算法层。
进一步地,所述的感知组件包括传感器、控制器、执行器、NFC标签、RFID标签。
进一步地,所述物联网设备通过通信组件和互联网设备连入互联网或者相互进行通信,所述物联网设备的网络连接方式包括蓝牙、无线局域网、有线局域网、低功耗广域网以及NB-IOT基站,连入互联网之后,再通过物联网网关将链下数据提供给计算层或者算法层。
进一步地,所述的计算层包括:
数据组件,通过分布式文件技术对接数据层的数据库集群或者区块链账本,从数据层获取数据;
资源管理组件,源管理组件使用资源管理技术,负责底层资源的统一管理,为计算组件提供统一的资源管理和调度服务;
计算组件,用于根据不用的业务场景采用不同的计算模式对数据进行计算;
API组件,用于将计算层的各种服务用编程语言封装成API,并将计算结果以API形式提供给上层,向算法层或者应用层提供服务。
进一步地,所述不同的计算模式包括离线计算、实时计算、批处理计算、流式计算,所述离线计算和批处理计算用于数据量大、计算复杂、实时性要求低的场景,该场景包括数据预处理、数据分析;所述实时计算和流式计算用于数据量较小、计算简单、低时延的场景,该场景包括实时监控、实时推荐。
进一步地,所述算法层包括:
硬件组件,包括CPU、GPU即配套使用的内存、大容量存储器,用于具有复杂计算步骤和复杂数据依赖的计算任务的场景或需要大规模并行计算的场景;
网络组件,使用远程通信技术从计算层或者数据层获取数据;
数据操作组件,通过调用硬件组件提供的接口,实现算法模型中的各种数据操作在硬件上的计算;
计算图组件,用于将数据操作组件的各种数据操作组合成一张计算图,包括本地计算图和分布式计算图两种形式,其中,所述本地计算图将算法中的各种算子分配给本地主机上的硬件来计算;所述分布式计算图将各种算子分配给网络中各种服务器的设备来计算。
API组件,用于将计算结果以API形式提供给应用层。
进一步地,所述API组件包括:
底层核心API层,用于将底层的各项功能抽象出来,以API的形式提供给上层API层;
上层API层,用于将所述底层核心API层提供的功能再进一步封装,提供各种常用编程语言的API版本,方便应用层构建多种类型的客户端。
进一步地,所述应用层包括:
API网关,其底层基于Nginx,支持动态、实时、高性能管理,用于提供负载均衡、动态上游、服务熔断、身份认证、可观测性的流量管理功能;
客户端组件,用于在API网关提供多种API的基础上构建各种形式客户端,包括PC客户端、移动客户端、Web客户端,然后在所构建的客户端调用API来获取底层的计算服务,从而输出某项智能决策结果或者实现某种功能。
本申请另一方面还提供了一种处理大量数据的方法,基于所述的区块链的预言机计算架构,包括步骤:
物联网中的传感器采集各种链下数据,然后通过网络组件连入互联网,把采集的数据发送给物联网网关;
物联网网关缓存一定量的传感器数据后,向区块链网络发起写入传感器数据的请求;
区块链网络收到物联网网关的请求后,通过智能合约来控制传感器数据写入链下数据库;
物联网网关将传感器数据发送给数据库,数据库在智能合约的控制下将传感器的数据写入数据库,同时记下存储数据的地址;
数据层计算存入数据库的传感器数据的Hash值,并记录此时的Hash值,为写入区块链账本做准备;
数据库将前面生成的数据发送给区块链网络;
区块链网络收到数据库发送的数据后,使用智能合约将数据写入区块链账本,此时,在预言机的控制下,区块链网络实现了传感器数据的存储;
当算法层或者计算层需要使用传感器数据时,向区块链网络发起读取数据的请求;
区块链网络收到算法层的请求后,由智能合约来读取账本中与传感器相关的数据;
智能合约读取账本数据后,控制读取数据库中的传感器数据;
智能合约数据层计算从数据库读取传感器数据的Hash值,并与账本读取的Hash值做比较,判断传感器数据存储在数据库中的时候是否被篡改;
若两者Hash值相同,表示传感器数据没有被篡改,在智能合约的控制下,计算层从链下数据库读取数据;
若两者Hash值不同,说明传感器数据可能被篡改或者出现其它的问题,数据库向计算层发送错误;
计算层根据需求对传感器的数据进行计算,然后算法层获取计算层的中间计算结果;
算法层对计算层的计算结果用智能算法进行处理,输出最终的计算结果给应用层,由应用层向外提供服务。
相比现有技术,本申请具有以下有益效果:
本申请提供了一种区块链的预言机计算架构及处理大量数据的方法,所述预言机计算架构包括:数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层,保存数据时,根据数据的规模大小确定采用外部数据库集群存储或账本存储的方式保存所获数据;计算层,使用若干大数据计算引擎处理来自数据层的数据,并将计算结果以API的形式提供给算法层或应用层;算法层,集成若干智能算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务。相比现有技术,本申请为区块链打造一个预言机的计算架构,让区块链能够获取外部数据并用算法处理,获得相应的计算结果。对于数据获取和上链的问题,本申请采用外部数据库存储与账本存储相结合的方式,能够应对大规模数据(例如IOT数据)的存储问题,同时保证使用数据的安全,很好的解决了目前预言机上传数据性能较差且开销大的问题。同时,本申请提出的预言机计算架构,使用大数据引擎来应对大规模数据的分析,同时支持机器学习、深度学习、强化学习等人工智能算法的计算,能够处理区块链账本数据或者来自区块链外部的大量数据,并且能够进行智能计算,可以向外部提供各种形式的智能服务,很好的解决了预言机计算能力有限、不能支持大规模计算的问题,能够应对数字金融等领域的各种业务场景。
附图说明
图1是本申请优选实施例的区块链的预言机计算架构的概念示意图。
图2是本申请优选实施例的区块链的预言机计算架构的逻辑示意图。
图3是本申请优选实施例的处理大量数据的方法的时序示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了便于理解,先对本申请中涉及到的相关技术术语进行解释说明。
API(应用程序编程接口):API是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
物联网(IOT)技术:指的是通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。
区块链技术,也被称之为分布式账本技术,是一种由若干台计算机设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
智能合约技术,智能合约本质上是一段用某种计算编程语言编写的程序,这段程序存放在区块链系统提供的容器中,当在某种外在或内在条件的触发下自动运行。智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,受制于有约束力的数字化协议,只有在满足要求后才会执行结果操作。
Hash算法,Hash算法是非常基础非常重要的计算机算法,它能将任意长度的二进制明文串映射为较短的固定长度的二进制串(Hash值),不同的明文很难映射为相同的Hash值。一个优秀的Hash算法能实现如下功能:正向快速、逆向困难、输入敏感、冲突避免,因此,Hash算法也被称为指纹(fingerprint)或摘要(digest)。
共识机制,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。
如图1和图2所示,本申请的优选实施例提供了一种区块链的预言机计算架构,包括:
数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层,保存数据时,根据数据的规模大小确定采用外部数据库集群存储或账本存储的方式保存所获数据;
数据层是预言机的输入层,也是整个区块链网络的数据输入通道。输入区块链的数据既能直接存入区块链账本,也能满足智能合约的条件触发需求。
计算层,使用若干大数据计算引擎处理来自数据层的大量数据,包括Hadoop、Spark、Flink等,并将计算结果以API的形式提供给算法层或应用层;计算层使用各种计算引擎处理来自数据层的大量数据,并将计算结果以API的形式提供给算法层或应用层;
算法层,集成若干智能算法,包括大数据算法、机器学习、深度学习、强化学习等算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;
应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务,包括PC客户端、移动客户端、Web客户端等。
本实施例涉及到的数学符号含义如下:
预言机:预言机被定义为能够解决任何决策问题或功能性问题的实体,对于给定的数据输入,能够进行智能计算并完成某项决策或者实现某种功能,从而得到输出结果。
预言机可以被看作为一个“黑匣子”,能为任何给定的请求提供解决方案。应用于区块链中的预言机主要有两种功能:
1)数据IO接口:为区块链封闭的环境提供数据的输入和输出。预言机使智能合约能够发起获取区块链外部数据的请求,提高智能合约与区块链外部事件之间的交互能力。
2)智能计算:对区块链账本数据或者来自区块链外部的数据进行智能计算,为现有区块链提供无限的计算能力。预言机使用大数据引擎或AI算法对输入的数据进行计算,得到某项决策结果或某项功能。
本实施例提供了一种区块链的预言机计算架构,所述预言机计算架构包括:数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层,保存数据时,根据数据的规模大小确定采用外部数据库集群存储或账本存储的方式保存所获数据;计算层,使用若干大数据计算引擎处理来自数据层的数据,并将计算结果以API的形式提供给算法层或应用层;算法层,集成若干智能算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务。相比现有技术,本实施例为区块链打造一个预言机的计算架构,让区块链能够获取外部数据并用算法处理,获得相应的计算结果。对于数据获取和上链的问题,本实施例采用外部数据库存储与账本存储相结合的方式,能够应对大规模数据(例如IOT数据)的存储问题,同时保证使用数据的安全,很好的解决了目前预言机上传数据性能较差且开销大的问题。同时,本实施例提出的预言机计算架构,使用大数据引擎来应对大规模数据的分析,同时支持机器学习、深度学习、强化学习等人工智能算法的计算,能够处理区块链账本数据或者来自区块链外部的大量数据,并且能够进行智能计算,可以向外部提供各种形式的智能服务,很好的解决了预言机计算能力有限、不能支持大规模计算的问题,能够应对数字金融等领域的各种业务场景。
优选地,所述数据层具体包括:
区块链账本数据组件,包括数据组件和网络组件,所述数据组件用于存放区块链账本数据,网络组件用于将数据提供给计算层或者算法层;本实施例中,当数据源是区块链自身账本时,区块链账本数据组件由区块链的数据组件和网络组件组成,区块链账本数据存放在数据组件,然后通过网络组件将数据提供给计算层或者算法层。网络组件由P2P网络构成,其拥有一套完整的传播机制和验证机制,保证计算层或者算法层能够获取到账本数据。
跨链数据组件,包括数据组件和网络组件,所述数据组件用于存放跨链数据,所述网络组件通过跨链网关获得跨链数据并将跨链数据提供给计算层或者算法层;本实施例中,跨链数据指的是数据源其它区块链账本数据,此时跨链数据组件由区块链的数据组件和网络组件构成,与获取自身账本数据不同的是,获取其它区块链的账本数据需要在网络组件再增加一个跨链网关,这样才能够获得跨链数据。
物联网数据组件,包括感知组件和网络组件,所述感知组件用于感知并收集来自物理环境的真实链下数据,所述网络组件通过物联网设备和物联网网关获得链下数据并将链下数据提供给计算层或者算法层。
具体地,所述的感知组件由各种各样的物联网设备组成,包括传感器、控制器、执行器、NFC标签、RFID标签等。这些设备通过各种方式感知并收集来自物理环境的真实数据,是物联网的主要数据来源。
优选地,所述物联网设备通过通信组件和互联网设备连入互联网或者相互进行通信,所述物联网设备的网络连接方式包括蓝牙、无线局域网、有线局域网、低功耗广域网以及NB-IOT基站,连入互联网之后,再通过物联网网关将链下数据提供给计算层或者算法层。
综上所述,数据层可以从区块链外部获取数据,丰富了区块链的数据来源。当来自外部数据量较小时,使用智能合约可以将数据直接存入区块链账本。当来外部数据量较大时(例如物联网数据),受区块链吞吐量等方面的限制,数据将不适合存储在账本中。此时可以使用分布式文件技术构建一个区块链的外部数据库集群,将数据计算后的Hash值存放在区块链账本,而数据本身存储在外部的数据库集群。
优选地,所述的计算层包括数据库组件、资源管理组件、计算组件和API组件,其中:
所述数据组件用于通过分布式文件技术对接数据层的数据库集群或者区块链账本,从数据层获取数据;本实施例的数据组件负责从数据层获取数据。由于数据层的数据量大,且使用不同的数据服务器存储,所以数据组件使用HDFS、IPFS等分布式文件技术,可以直接对接数据层的数据库集群或者区块链账本,保证能够访问数据的高吞吐量和高容错性;
所述资源管理组件,源管理组件使用资源管理技术,负责底层资源的统一管理,为计算组件提供统一的资源管理和调度服务;本实施例的资源管理组件负责底层资源的统一管理。资源管理组件使用YARN等新的资源管理技术,可为计算组件提供统一的资源管理和调度服务,方便集群在利用率、资源使用和数据共享等方面的管理。
所述计算组件用于根据不用的业务场景采用不同的计算模式对数据进行计算;本实施例的计算组件负责对数据进行计算。计算组件可以提供各种形式的计算模式,包离线计算、实时计算、批处理计算、流式计算等。不同的计算模式适用于不用的业务场景,离线计算和批处理计算一般用于数据量大、计算复杂、实时性要求不高的场景,例如数据预处理、数据分析等;实时计算和流式计算一般用于数据量较小、计算简单、低时延的场景,例如实时监控、实时推荐等。
API组件,用于将计算层的各种服务用编程语言封装成API,并将计算结果以API形式提供给上层,向算法层或者应用层提供服务,API组件负责向更高的算法层或者应用层提供服务。本实施例的API组件将计算层的各种服务用C++、Python、Java等编程语言封装成API,计算结果以API形式提供给上层,方便计算层或者应用层调用。
优选地,所述算法层包括硬件组件、网络组件、数据操作组件、计算图组件和API组件,其中:
所述硬件组件包括CPU、GPU即配套使用的内存、大容量存储器,用于具有复杂计算步骤和复杂数据依赖的计算任务的场景或需要大规模并行计算的场景;本实施例的硬件组件主要由CPU、GPU等处理器组成,包括一起配套使用的内存、大容量存储器等硬件设备。CPU和GPU由于其硬件结构的不同,适用于不同的应用场景。CPU拥有强大的指令处理和计算能力,一般用于具有复杂计算步骤和复杂数据依赖的计算任务,例如任务调度、模拟计算等。而GPU拥有强大的并行计算能力,经常用于需要大规模并行计算的场景,例如数据挖掘、深度学习等。硬件组件向上层提供一个统一的接口,使上层不用关心硬件组件的具体结构和具体计算过程,达到硬件层和软件层解耦的目的。
网络组件,使用远程通信技术从计算层或者数据层获取数据;本实施例的网络组件由不同的通信协议组成,使用各种通信技术从计算层或者数据层获取数据。由于数据层的数据量大,且分布在不同的服务器上面,所以网络组件使用了RDMA、RPC等远程通信技术。网络组件使用RDMA技术,可以让本地服务器直接从远程服务器的内存读取数据,降低了不同服务器使用网络传输数据的延迟;使用RPC技术,可以实现不同主机的远程调用,完成不同运行组件的数据交换。
数据操作组件,通过调用硬件组件提供的接口,实现算法模型中的各种数据操作在硬件上的计算,本实施例的数据操作组件由算法中的各种数据操作构成,数据操作组件调用硬件组件提供的接口,实现算法中的各种数据操作在硬件上的计算,例如Conv2D、MatMul、ReLU、Queue等。数据操作组件通过支持算法模型的各种数据操作,使得算法层可以支持各种算法模型的计算。当有新的算法模型出现时,数据操作组件只需要用硬件实现新算法模型中的新数据操作部分,就可以完成新算法模型的计算;
计算图组件,用于将数据操作组件的各种数据操作组合成一张计算图,包括本地计算图和分布式计算图两种形式,其中,所述本地计算图将算法中的各种算子分配给本地主机上的硬件来计算;所述分布式计算图将各种算子分配给网络中各种服务器的设备来计算,同时,计算图组件将对计算图的运行进行优化,采用修剪、缓存、调度等方式,提高计算图在不同硬件上的执行效率。
API组件,用于将计算结果以API形式提供给应用层,本实施例的API组件负责向更高的应用层提供服务,将计算结果以API形式提供给应用层。API组件由底层核心API层和上层API层组成。底层核心API层使用C语言来编写,将底层的各项功能抽象出来,以API的形式提供给上层,同时又能保证代码的执行效率。上层API层将底层核心API提供的功能再进一步封装,提供各种常用编程语言的API版本,例如C++、Python、Java等,方便应用层构建多种类型的客户端。
优选地,所述应用层包括API网关、客户端组件,其中:
所述API网关的底层基于Nginx,支持动态、实时、高性能管理,用于提供负载均衡、动态上游、服务熔断、身份认证、可观测性的流量管理功能,该API网关使用Etcd作为配置中心,采用网关集群的方式,任意宕掉一台机器,网关集群还能正常运行,同时支持热插拔,当有新设备接入是,可以通过Admin API实时修改;
所述客户端组件用于在API网关提供多种API的基础上构建各种形式客户端,包括PC客户端、移动客户端、Web客户端等,然后在所构建的客户端调用API来获取底层的计算服务,从而输出某项智能决策结果或者实现某种功能。同时,计算层或者算法层的计算结果也能用于智能合约的触发。这样,区块链就拥有外部数据源和处理外部数据的能力,就可以设计功能更加复杂、适用于更为广泛场景的智能合约。
如图3所示,在本申请的另一优选实施例提供了一种处理大量数据的方法,基于所述的区块链的预言机计算架构,包括步骤:
S1、物联网中的传感器(例如GPS传感器、温湿度传感器、红外传感器等)采集各种链下数据:(Data=Collect(DGPS,Dtemperature,Dhumidity,Dother)),然后通过网络组件连入互联网,把采集的数据发送给物联网网关;
S2、物联网网关缓存一定量的传感器数据后,向区块链网络发起写入传感器数据的请求:(Send(Request));
S3、区块链网络收到物联网网关的请求后,通过智能合约来控制传感器数据写入链下数据库:(Control(WriteData));
S4、物联网网关将传感器数据发送给数据库,数据库在智能合约的控制下将传感器的数据写入数据库:(Write(Data)),同时记下存储数据的地址:(DataAddress);
S5、数据层计算存入数据库的传感器数据的Hash值:(HashValue1=Compute(Data)),并记录此时的Hash值,为写入区块链账本做准备;
S6、数据库将前面生成的数据发送给区块链网络:(Send(HashValue1,DataAddress));
S7、区块链网络收到数据库发送的数据后,使用智能合约将数据写入区块链账本:(Write(HashValue1,DataAddress)),此时,在预言机的控制下,区块链网络实现了传感器数据的存储;
S8、当算法层或者计算层需要使用传感器数据时,向区块链网络发起读取数据的请求:(Send(Request));
S9、区块链网络收到算法层的请求后,由智能合约来读取账本中与传感器相关的数据:(Read(HashValue1,DataAddress));
S10、智能合约读取账本数据后,控制读取数据库中的传感器数据:(Control(ReadData,HashValue1,DataAddress));
S11、智能合约数据层计算从数据库读取传感器数据的Hash值:(HashValue2=Compute(Data)),并与账本读取的Hash值做比较:(Compare(HashValue1,HashValue2)),判断传感器数据存储在数据库中的时候是否被篡改;
S12、若两者Hash值相同,表示传感器数据没有被篡改,在智能合约的控制下,计算层从链下数据库读取数据:(Read(Data));
S13、若两者Hash值不同,说明传感器数据可能被篡改或者出现其它的问题,数据库向计算层发送错误:(Send(Error));
S14、计算层根据需求对传感器的数据进行计算,然后算法层获取计算层的中间计算结果:Get(IntermediateResult);
S15、算法层对计算层的计算结果用智能算法进行处理,输出最终的计算结果给应用层:Output(Result),由应用层向外提供服务。
预言机对数据的整个业务处理过程可以用下面的算法来描述。算法输入为区块链账本数据和区块链外部数据(例如物联网数据),输出为经过大数据计算引擎和AI算法(例如深度学习等)处理过的结果。算法中用flagDataBase来控制对数据库的操作,初始值为false,默认不对数据库进行操作。当数据收集设备获取到一定量数据时,将flagDataBase的值变为true,数据将存入数据库,同时将数据存入的地址和Hash值存入区块链账本。算法中用flagLedger变量控制读取账本数据,读取的数据用于计算层和算法层后续计算。当flagLedger值为offData时,表示从区块链外部的数据库读取数据(此时账本只记录数据的存储地址、Hash值等);当flagLedger值为onData时,表示从账本本身读取数据(数据存储在账本上面)。算法默认从账本本身读取数据,所以flagLedger初始值为onData。使用while循环表示算法的一直在执行,只有发生错误时才退出。
综上所述,本申请充分利用了现有的区块链、大数据、人工智能、物联网等前沿技术,通过将这些技术融合起来,提出了一个区块链的预言机计算架构。该预言机架构让区块链能够获取外部数据,并且能够应对大规模数据的场景。用区块链来控制数据的数据的获取和存储,能够保证数据的不可篡改和透明公开,确保数据的完整无损、真实可靠。同时,对于区块链获取的数据,不管是区块链账本数据,还是来自区块链外部的数据,该架构都能够很好的处理,使用大数据计算引擎和人工智能算法进行计算,然后向外提供相应的智能服务,能够应对数字金融等领域的各种业务场景。
本实施例的方法的所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个或者多个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory),磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种区块链的预言机计算架构,其特征在于,包括:
数据层,用作数据输入通道获取并保存来自区块链上自身的账本数据、其它区块链的跨链数据、以及来自链下的数据,并将获取的数据提供给计算层或者算法层,保存数据时,根据数据的规模大小确定采用外部数据库集群存储或账本存储的方式保存所获数据;
计算层,使用若干大数据计算引擎处理来自数据层的数据,并将计算结果以API的形式提供给算法层或应用层;
算法层,集成若干智能算法,根据需求处理来自数据层或计算层的数据,并将计算结果以API的形式提供给应用层;
应用层,通过调用算法层或者计算层提供的API接口,以客户端的形式向外输出某项决策结果或者提供某项服务。
2.根据权利要求1所述的区块链的预言机计算架构,其特征在于,所述数据层具体包括:
区块链账本数据组件,包括数据组件和网络组件,所述数据组件用于存放区块链账本数据,网络组件用于将数据提供给计算层或者算法层;
跨链数据组件,包括数据组件和网络组件,所述数据组件用于存放跨链数据,所述网络组件通过跨链网关获得跨链数据并将跨链数据提供给计算层或者算法层;
物联网数据组件,包括感知组件和网络组件,所述感知组件用于感知并收集来自物理环境的真实链下数据,所述网络组件通过物联网设备和物联网网关获得链下数据并将链下数据提供给计算层或者算法层。
3.根据权利要求2所述的区块链的预言机计算架构,其特征在于,所述的感知组件包括传感器、控制器、执行器、NFC标签、RFID标签。
4.根据权利要求2所述的区块链的预言机计算架构,其特征在于,所述物联网设备通过通信组件和互联网设备连入互联网或者相互进行通信,所述物联网设备的网络连接方式包括蓝牙、无线局域网、有线局域网、低功耗广域网以及NB-IOT基站,连入互联网之后,再通过物联网网关将链下数据提供给计算层或者算法层。
5.根据权利要求1所述的区块链的预言机计算架构,其特征在于,所述的计算层包括:
数据组件,通过分布式文件技术对接数据层的数据库集群或者区块链账本,从数据层获取数据;
资源管理组件,资源管理组件使用资源管理技术,负责底层资源的统一管理,为计算组件提供统一的资源管理和调度服务;
计算组件,用于根据不用的业务场景采用不同的计算模式对数据进行计算;
API组件,用于将计算层的各种服务用编程语言封装成API,并将计算结果以API形式提供给上层,向算法层或者应用层提供服务。
6.根据权利要求5所述的区块链的预言机计算架构,其特征在于,所述不同的计算模式包括离线计算、实时计算、批处理计算、流式计算,所述离线计算和批处理计算用于数据量大、计算复杂、实时性要求低的场景,该场景包括数据预处理、数据分析;所述实时计算和流式计算用于数据量较小、计算简单、低时延的场景,该场景包括实时监控、实时推荐。
7.根据权利要求1所述的区块链的预言机计算架构,其特征在于,所述算法层包括:
硬件组件,包括CPU、GPU即配套使用的内存、大容量存储器,用于具有复杂计算步骤和复杂数据依赖的计算任务的场景或需要大规模并行计算的场景;
网络组件,使用远程通信技术从计算层或者数据层获取数据;
数据操作组件,通过调用硬件组件提供的接口,实现算法模型中的各种数据操作在硬件上的计算;
计算图组件,用于将数据操作组件的各种数据操作组合成一张计算图,包括本地计算图和分布式计算图两种形式,其中,所述本地计算图将算法中的各种算子分配给本地主机上的硬件来计算;所述分布式计算图将各种算子分配给网络中各种服务器的设备来计算。
API组件,用于将计算结果以API形式提供给应用层。
8.根据权利要求7所述的区块链的预言机计算架构,其特征在于,所述API组件包括:
底层核心API层,用于将底层的各项功能抽象出来,以API的形式提供给上层API层;
上层API层,用于将所述底层核心API层提供的功能再进一步封装,提供各种常用编程语言的API版本,方便应用层构建多种类型的客户端。
9.根据权利要求1所述的区块链的预言机计算架构,其特征在于,所述应用层包括:
API网关,其底层基于Nginx,支持动态、实时、高性能管理,用于提供负载均衡、动态上游、服务熔断、身份认证、可观测性的流量管理功能;
客户端组件,用于在API网关提供多种API的基础上构建各种形式客户端,包括PC客户端、移动客户端、Web客户端,然后在所构建的客户端调用API来获取底层的计算服务,从而输出某项智能决策结果或者实现某种功能。
10.一种处理大量数据的方法,基于如权利要求1至9中任一项所述的区块链的预言机计算架构,其特征在于,包括步骤:
物联网中的传感器采集各种链下数据,然后通过网络组件连入互联网,把采集的数据发送给物联网网关;
物联网网关缓存一定量的传感器数据后,向区块链网络发起写入传感器数据的请求;
区块链网络收到物联网网关的请求后,通过智能合约来控制传感器数据写入链下数据库;
物联网网关将传感器数据发送给数据库,数据库在智能合约的控制下将传感器的数据写入数据库,同时记下存储数据的地址;
数据层计算存入数据库的传感器数据的Hash值,并记录此时的Hash值,为写入区块链账本做准备;
数据库将前面生成的数据发送给区块链网络;
区块链网络收到数据库发送的数据后,使用智能合约将数据写入区块链账本,此时,在预言机的控制下,区块链网络实现了传感器数据的存储;
当算法层或者计算层需要使用传感器数据时,向区块链网络发起读取数据的请求;
区块链网络收到算法层的请求后,由智能合约来读取账本中与传感器相关的数据;
智能合约读取账本数据后,控制读取数据库中的传感器数据;
智能合约数据层计算从数据库读取传感器数据的Hash值,并与账本读取的Hash值做比较,判断传感器数据存储在数据库中的时候是否被篡改;
若两者Hash值相同,表示传感器数据没有被篡改,在智能合约的控制下,计算层从链下数据库读取数据;
若两者Hash值不同,说明传感器数据可能被篡改或者出现其它的问题,数据库向计算层发送错误;
计算层根据需求对传感器的数据进行计算,然后算法层获取计算层的中间计算结果;
算法层对计算层的计算结果用智能算法进行处理,输出最终的计算结果给应用层,由应用层向外提供服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268841.7A CN114024985B (zh) | 2021-10-29 | 2021-10-29 | 一种区块链的预言机计算系统及处理大量数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268841.7A CN114024985B (zh) | 2021-10-29 | 2021-10-29 | 一种区块链的预言机计算系统及处理大量数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024985A true CN114024985A (zh) | 2022-02-08 |
CN114024985B CN114024985B (zh) | 2022-10-11 |
Family
ID=80058511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111268841.7A Active CN114024985B (zh) | 2021-10-29 | 2021-10-29 | 一种区块链的预言机计算系统及处理大量数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024985B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360238A (zh) * | 2017-07-25 | 2017-11-17 | 光载无限(北京)科技有限公司 | 基于区块链cpow共识算法的智能合约网关 |
CN110099055A (zh) * | 2019-04-29 | 2019-08-06 | 北京工业大学 | 基于轻量级区块链节点的物联网服务架构 |
CN112925826A (zh) * | 2021-02-28 | 2021-06-08 | 金陵科技学院 | 基于区块链技术构建城市智能交通多维大数据平台 |
CN113055497A (zh) * | 2021-04-29 | 2021-06-29 | 中国工商银行股份有限公司 | 用于区块链网络的链外数据上链方法、装置及系统 |
WO2021179661A1 (zh) * | 2020-03-13 | 2021-09-16 | 腾讯科技(深圳)有限公司 | 跨区块链的数据互存方法、装置、设备及存储介质 |
-
2021
- 2021-10-29 CN CN202111268841.7A patent/CN114024985B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360238A (zh) * | 2017-07-25 | 2017-11-17 | 光载无限(北京)科技有限公司 | 基于区块链cpow共识算法的智能合约网关 |
CN110099055A (zh) * | 2019-04-29 | 2019-08-06 | 北京工业大学 | 基于轻量级区块链节点的物联网服务架构 |
WO2021179661A1 (zh) * | 2020-03-13 | 2021-09-16 | 腾讯科技(深圳)有限公司 | 跨区块链的数据互存方法、装置、设备及存储介质 |
CN112925826A (zh) * | 2021-02-28 | 2021-06-08 | 金陵科技学院 | 基于区块链技术构建城市智能交通多维大数据平台 |
CN113055497A (zh) * | 2021-04-29 | 2021-06-29 | 中国工商银行股份有限公司 | 用于区块链网络的链外数据上链方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
王亮等: "基于区块链的地学大数据管理", 《国防科技》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114024985B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Federated learning for the internet of things: Applications, challenges, and opportunities | |
US11048498B2 (en) | Edge computing platform | |
US10560313B2 (en) | Pipeline system for time-series data forecasting | |
Barika et al. | Orchestrating big data analysis workflows in the cloud: research challenges, survey, and future directions | |
US10007513B2 (en) | Edge intelligence platform, and internet of things sensor streams system | |
US11822574B2 (en) | System and method for providing an artificially-intelligent graph database | |
US20200143246A1 (en) | Demand classification based pipeline system for time-series data forecasting | |
CN113079159B (zh) | 一种基于区块链的边缘计算网络系统 | |
US20170272304A1 (en) | Distributed Computation System Incorporating Agent Network, Paths And Associated Probes | |
Mehdipour et al. | Fog computing realization for big data analytics | |
US20230136612A1 (en) | Optimizing concurrent execution using networked processing units | |
US20220240440A1 (en) | Agricultural tool unit for rapid conversion of a combination seed drill having a trailed or fine-grain seed dispenser to an on-demand supply system and vice versa | |
Filip et al. | Data capsule: Representation of heterogeneous data in cloud-edge computing | |
Zhou et al. | Blockchain-based volunteer edge cloud for IoT applications | |
Yun et al. | Towards a cloud robotics platform for distributed visual slam | |
CN114024985B (zh) | 一种区块链的预言机计算系统及处理大量数据的方法 | |
Chi et al. | A Trusted Cloud-Edge Decision Architecture Based on Blockchain and MLP for AIoT | |
Cheng et al. | Meta computing | |
Penchalaiah et al. | Clustered Single-Board Devices with Docker Container Big Stream Processing Architecture. | |
Kettner et al. | IoT Hub, Event Hub, and Streaming Data | |
Balteanu et al. | Near real-time scheduling in cloud-edge platforms | |
Chiang et al. | A tangle-based high performance architecture for large scale IoT solutions | |
Marian et al. | Analysis of Different SaaS Architectures from a Trust Service Provider Perspective | |
Bandara et al. | Lightweight, geo-scalable deterministic blockchain design for 5G networks sliced applications with hierarchical CFT/BFT consensus groups, IPFS and novel hardware design | |
Sulieman et al. | Edge-Oriented Computing: A Survey on Research and Use Cases. Energies 2022, 15, 452 |
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 |