基于区块链的数据共享方法和装置与流程

文档序号:23728015发布日期:2021-01-26 18:00阅读:77来源:国知局
基于区块链的数据共享方法和装置与流程

[0001]
本申请涉及数据共享技术领域,特别是涉及一种基于区块链的数据共享方法和装置。


背景技术:

[0002]
随着各技术领域的发展,产生了海量的数据。为了将海量的数据有效保存,多采用传统的云存储方式,将数据存储在第三方中心机构托管的虚拟服务器上,通过集群应用、网络技术或分布式文件系统等功能,将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,用于实现共同对外提供数据存储和共享的功能,从而用户可以通过网络存储海量的数据。
[0003]
然而,云存储在对海量的数据进行存储时,往往需要在多个处理节点之间实现数据的实时共享和更新,由于云存储是第三方中心机构进行管理的,缺少数据丢失或损坏时的安全保障,而且当云存储的数据平台与用户实现数据共享时缺少与用户之间的信任。因此,传统的云存储方式面临着数据共享效率低和安全性低的问题。


技术实现要素:

[0004]
基于此,有必要针对上述技术问题,提供一种能够有效提高数据共享效率和安全性的基于区块链的数据共享方法和装置。
[0005]
一种基于区块链的数据共享方法,所述方法包括:
[0006]
获取数据使用方上传的测试数据,将所述上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定所述上传的测试数据质量;
[0007]
当所述上传的测试数据的质量合格时,将所述质量合格的测试数据按照测试要素进行整理,合并所述整理后的所述质量合格的测试数据与所述数据平台的区块链中预先存储的结构化测试数据集;
[0008]
获取所述数据使用方的下载请求,根据所述数据平台的智能合约判定所述数据使用方的下载权限,当判定所述数据使用方存在下载权限时,获取所述数据使用方下载时的反馈信息;
[0009]
基于所述反馈信息,优化所述数据平台的区块链中预先存储的结构化测试数据集。
[0010]
一种基于区块链的数据共享装置,所述装置包括:
[0011]
测试数据获取模块,用于获取数据使用方上传的测试数据,将所述上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定所述上传的测试数据质量;
[0012]
测试数据整理模块,用于当所述上传的测试数据的质量合格时,将所述质量合格的测试数据按照测试要素进行整理,合并所述整理后的测试数据与所述预先存储的结构化测试数据集;
[0013]
下载请求获取模块,用于获取所述数据使用方的下载请求,根据所述数据平台的智能合约判定所述数据使用方的下载权限,当判定所述数据使用方存在下载权限时,获取所述数据使用方下载时的反馈信息;
[0014]
测试数据优化模块,用于基于所述反馈信息,优化所述数据平台的区块链中预先存储的结构化测试数据集。
[0015]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于区块链的数据共享方法的步骤。
[0016]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于区块链的数据共享方法的步骤。
[0017]
上述基于区块链的数据共享方法和装置,通过获取数据使用方上传的测试数据,将上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定上传的测试数据质量;当上传的测试数据的质量合格时,将质量合格的测试数据按照测试要素进行整理,合并整理后的质量合格的测试数据与数据平台的区块链中预先存储的结构化测试数据集;获取数据使用方的下载请求,根据数据平台的智能合约判定数据使用方的下载权限,当判定数据使用方存在下载权限时,获取数据使用方下载时的反馈信息;基于反馈信息,优化数据平台的区块链中预先存储的结构化测试数据集。采用本申请实施例方法能够有效提高数据共享效率和安全性。
附图说明
[0018]
图1为一个实施例中基于区块链的数据共享方法的应用环境图;
[0019]
图2为一个实施例中基于区块链的数据共享方法的流程示意图;
[0020]
图3为一个实施例中建立基于区块链的数据平台的流程示意图;
[0021]
图4为一个实施例中获得测试数据集的流程示意图;
[0022]
图5为一个实施例中获得有效测试数据的流程示意图;
[0023]
图6为一个实施例中获取智能合约的流程示意图;
[0024]
图7为一个实施例中判定上传的测试数据质量的流程示意图;
[0025]
图8为一个实施例中判定数据使用方的下载权限的流程示意图;
[0026]
图9为一个具体实施例中海洋数据平台的示意图;
[0027]
图10为一个具体实施例中获取多源异构的海洋数据的示意图;
[0028]
图11为一个具体实施例中数据集的提取、反演、清洗和整理的示意图;
[0029]
图12为一个具体实施例中多类型集合化数据存储的示意图;
[0030]
图13为一个具体实施例中多途径的数据共享的示意图;
[0031]
图14为一个具体实施例中多层次的数据交互的示意图;
[0032]
图15为一个具体实施例中数据规格优化的示意图;
[0033]
图16为一个实施例中基于区块链的数据共享装置的结构框图;
[0034]
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
[0035]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0036]
本申请提供的基于区块链的数据共享方法,可以应用于如图1所示的应用环境中。终端110与服务器120进行通信,终端110与服务器120之间通过网络进行连接。其中,在服务器120中建立了基于区块链的数据平台,终端110为数据使用方的终端,数据使用方可以但不限于是个人、企业或者行政机构等。
[0037]
具体地,服务器120通过获取数据使用方的终端110上传的测试数据,将上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定上传的测试数据质量;当上传的测试数据的质量合格时,将质量合格的测试数据按照测试要素进行整理,合并整理后的质量合格的测试数据与数据平台的区块链中预先存储的结构化测试数据集;通过获取数据使用方的终端110的下载请求,根据数据平台的智能合约判定数据使用方的终端110的下载权限,当判定数据使用方的终端110存在下载权限时,获取数据使用方的终端110下载时的反馈信息;基于反馈信息,优化服务器120中数据平台的区块链中预先存储的结构化测试数据集。其中,终端110可以但不限于是各种计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0038]
在其中一个实施例中,如图2所示,提供了一种基于区块链的数据共享方法,以该方法应用于图1中的服务器120为例进行说明,包括以下步骤:
[0039]
步骤s202,获取数据使用方上传的测试数据,将上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定上传的测试数据质量。
[0040]
其中,数据平台是一个集数据接入、数据处理、数据存储、查询检索、分析挖掘、应用接口为一体的用于存储海量数据的平台。在数据平台中存储的数据,可以是任意类型或任意领域的数据,如实验数据、气象数据、海洋数据等等。结构化测试数据集是经过标记的由二维表结构来逻辑表达和实现的测试数据的集合,按照标记在数据平台进行分类存储,便于搜索识别和分类。
[0041]
其中,数据使用方是该数据平台的使用者的总称,可以包括个人、企业或者行政机构等。数据使用方与数据平台实现数据共享,可以包括数据使用方向数据平台上传测试数据,或数据使用方从数据平台中下载测试数据。数据提供方是向该数据平台提供数据的提供者的总称,可以包括各测试平台、个人、企业或者行政机构等。数据使用方与数据提供方可以相同或不同。
[0042]
其中,该数据平台基于区块链技术进行实现。区块链是本质上是一个分布式的共享账本和数据库,可以满足多个使用者使用同一服务器的需要,并可以达到分散部署、集中执行的目的。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在基于区块链的数据平台中,每台使用或提供数据的计算机是一个节点,一个节点就是一个数据库,任何一个节点都可以记录数据,而且直接连接另外一个点,中间无需第三方服务器。当其中两个节点发生交互或共享时,会广播到其他所有节点,其目的是防止交易双方篡改交互信息。区块链由不计其数的节点联网而组成,使用者可通过一台安装了相应区块链应用软件联网电脑或手机成为这个区块链应用的节点,从而参与到区块链存储数据的应用中。
[0043]
具体地,在数据平台的区块链中预先存储了数据提供方的经过标记的结构化测试数据集。当数据使用方向数据平台上传测试数据时,获取数据使用方上传的测试数据,将上传的测试数据与数据平台中的结构化测试数据集进行比对,判定上传的测试数据的质量。
[0044]
步骤s204,当上传的测试数据的质量合格时,将质量合格的测试数据按照测试要素进行整理,合并整理后的质量合格的测试数据与数据平台的区块链中预先存储的结构化测试数据集。
[0045]
其中,测试要素是构成测试数据的基本单元。具体地,测试要素可以包括所测试的数据种类、性质、特征、来源等。例如,当应用于海洋遥感观测领域时,测试要素可以包括海水温度、海水盐度、海流流速、海面风速、海洋波浪、悬浮泥沙浓度、叶绿素浓度等。
[0046]
具体地,当判定上传的测试数据的质量为质量合格时,将质量合格的测试数据按照测试要素进行整理,并与数据平台中存储的按照测试要素进行标记后的结构化测试数据集进行合并,共同存储在数据平台中。
[0047]
步骤s206,获取数据使用方的下载请求,根据数据平台的智能合约判定数据使用方的下载权限,当判定数据使用方存在下载权限时,获取数据使用方下载时的反馈信息。
[0048]
其中,在数据平台的区块链中写入了智能合约。智能合约是一种以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约是数字化的,存储在区块链中,并使用加密代码强制执行协议。智能合约可以协商协议中的条款,自动验证履行,甚至执行约定的条款。智能合约的特点为:(1)高度自治,即当智能合约上预设的条件被触发时,会自动执行合约;(2)去中心化,即无需中心化服务器的参与,能够降低交易成本,同时也能解决信任问题。由于区块链上所有的数据都是公开透明的,因此智能合约的数据处理也是公开透明的,运行时任何一方都可以查看其代码和数据。区块链本身的所有数据不可篡改,因此部署在区块链上的智能合约代码以及运行产生的数据输出也是不可篡改的,运行智能合约的节点不必担心其他节点恶意修改代码与数据。
[0049]
具体地,智能合约可用于交易和(或)数据使用方与数据提供方之间的任何交换行为,其代码包含一些会触发合约自动执行的条件。因此,当数据使用方需从数据平台上下载数据时,获取数据使用方的下载请求,可以通过查看该数据使用方请求下载的数据的类型、大小,并根据智能合约中约定的数据使用方的权利与义务判定是否存在下载权限。
[0050]
在其中一个实施例中,在数据平台的区块链中还写入了贡献证明协议。各数据使用方或数据提供方的对数据平台的贡献大小都可以基于贡献证明协议实现。
[0051]
具体地,通过记录各数据使用方或数据提供方的账户从使用开始时刻直至当前时刻的贡献大小,可以包括共享的数据容量、解决数据平台中数据相关问题的次数、对数据平台中数据的有效处理次数等。其中,数据容量可以包括数据的大小、质量、被使用次数、数据被使用后积极的反馈次数等。在各数据使用方或数据提供方与数据平台实现交互或共享中,数据平台利用智能合约根据设定条件自动匹配账户,生成了贡献证明协议并执行。
[0052]
其中,在数据平台中将账户已有的区块链长度和数量作为重要匹配指标,在智能合约中提升区块链的影响权重。账户与数据平台交互或共享的数据数量和次数越多,某区块链数量和长度就越大,在该账户需要使用数据平台中的数据时,在相同条件下更容易触发智能合约,如此形成以区块链长度和数量为数据平台内部的奖励机制。可以将形成的区
块链长度和数量通过虚拟货币的形式进行量化实现,将奖励结果发送至各账户的虚拟财产账户中储存。
[0053]
在其中一个实施例中,数据使用方的下载权限还可以根据贡献证明协议进行判定。
[0054]
具体地,可以通过查看数据使用方的虚拟财产账户中的虚拟货币的数量,并根据贡献证明协议评估其财产值,判定是否存在下载权限。当虚拟货币数量能够满足下载交易时,判定数据使用方存在下载权限。
[0055]
在其中一个实施例中,当根据智能合约或贡献证明协议,判定数据使用方存在下载权限后,获取数据使用方下载时的反馈信息。其中,反馈信息可以包括数据使用方的数据使用的体验和满意度等。
[0056]
步骤s208,基于反馈信息,优化数据平台的区块链中预先存储的结构化测试数据集。
[0057]
其中,在数据平台中预先存储的结构化测试数据集,数据存储的类型可以是以数据种类、性质、特征等进行分类存储,数据存储的格式可以是文本文档(txt)、电子表格(excel)、逗号分隔值(csv)或可扩展标记语言(xml)等其中的一种或几种的组合。
[0058]
在其中一个实施例中,基于数据使用方的反馈信息,根据反馈信息拓展数据类型和数据格式,并更新数据平台的区块链中预先存储的结构化测试数据集对应的数据类型和数据格式,以完成数据平台的优化。
[0059]
在其中一个实施例中,在完成数据平台的优化后,可以将测试数据集更新的详细信息通过数据平台向数据使用方发送温馨提示邮件,以提高数据的后续使用率。
[0060]
上述基于区块链的数据共享方法中,通过获取数据使用方上传的测试数据,将上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定上传的测试数据质量;当上传的测试数据的质量合格时,将质量合格的测试数据按照测试要素进行整理,合并整理后的质量合格的测试数据与数据平台的区块链中预先存储的结构化测试数据集;获取数据使用方的下载请求,根据数据平台的智能合约判定数据使用方的下载权限,当判定数据使用方存在下载权限时,获取数据使用方下载时的反馈信息;基于反馈信息,优化数据平台的区块链中预先存储的结构化测试数据集。在数据使用方与数据平台进行数据共享时,能够有效提高数据共享效率,并通过判定数据使用方的下载权限,能够有效提高数据共享的安全性。
[0061]
在其中一个实施例中,在步骤s202中获取数据使用方上传的测试数据之前,包括:建立基于区块链的数据平台。
[0062]
在其中一个实施例中,如图3所示,建立基于区块链的数据平台,包括:
[0063]
步骤s302,获取测试数据集,按照测试数据集的特征和来源对测试数据集进行标记,获得结构化测试数据集。
[0064]
其中,结构化测试数据集是经过标记的由二维表结构来逻辑表达和实现的测试数据的集合,按照标记在数据平台进行分类存储,便于搜索识别和分类。具体地,可以按照测试数据集的特征和来源对测试数据集进行标记,获得结构化测试数据集。
[0065]
在其中一个实施例中,还可以按照测试数据集的已测参数值进行标记。其中,已测参数值指的是为了获得测试数据已经使用的参数。具体地,可以按照测试数据集的特征、来
源或已测参数值对测试数据集进行标记,获得结构化测试数据集。
[0066]
步骤s304,由数据提供方创建父区块,由数据使用方创建子区块,通过哈希指针将子区块链接到父区块上形成区块链,父区块用于存储数据提供方的结构化测试数据集,子区块用于存储数据使用方的结构化测试数据集。
[0067]
其中,在基于区块链的数据平台中,父区块由数据提供方创建。具体地,父区块用于存储数据提供方的结构化测试数据集,包括哈希值、时间戳和数据介绍摘要,哈希值由数据标号和随机数组成,时间戳为数据集的创建时间,数据介绍摘要包括数据名称、测试仪器或设备的关键性能参数、测试时间、测试精度和分辨率等。
[0068]
其中,子区块由数据使用方创建。具体地,子区块中用于存储数据使用方上传的结构化测试数据集。子区块通过哈希指针链接到父区块上,构成链状结构。其中,哈希指针是一种数据结构,是一个指向数据存储位置的指针,还可以用于验证数据是否被篡改。
[0069]
步骤s306,获取数据提供方与数据使用方共同协商制定的智能合约,将智能合约创建区块存入区块链中,建立基于区块链的数据平台。
[0070]
其中,智能合约建立在数据使用方和数据提供方达成共识和信任的基础上,将复杂的承诺进行了数字化和程序化的处理,约定了数据提供方与数据使用方在使用该数据平台时的权利与义务。具体地,将智能合约写入创建区块存入区块链中,至此,建立了基于区块链的数据平台。
[0071]
在其中一个实施例中,在步骤s302获取测试数据集之前,包括:
[0072]
获取各测试平台的原始测试数据,对原始测试数据进行提取、反演、清洗和整理,获得测试数据集。
[0073]
其中,测试平台是用于测试数据的平台,可以包括各种测试仪器、设备等。
[0074]
在其中一个实施例中,如图4所示,获取各测试平台的原始测试数据,对原始测试数据进行提取、反演、清洗和整理,获得测试数据集,包括:
[0075]
步骤s402,获取各测试平台的原始测试数据,原始测试数据包括间接测试数据和直接测试数据。
[0076]
其中,获取各测试平台的原始测试数据,按照测试平台获取测试要素的方式不同,可分为间接测试数据和直接测试数据。
[0077]
具体地,直接测试数据是直接测试某一种或几种测试要素的测试平台所获得的数据。例如,海流计是一种用于测量海流的速度和方向的仪器,使用海流计获得的测试数据是直接对海流的速度和方向进行测试的数据,可称为直接测试数据。
[0078]
具体地,间接测试数据是通过间接测试某一种或几种测试要素的测试平台所获得的数据。例如,海洋卫星是一种用于测量海洋的各种要素的设备,使用海洋卫星获得的测试数据是不完全的、有噪声的、模糊的、随机的测试数据,可称为间接测试数据。
[0079]
在其中一个实施例中,获取各测试平台的原始测试数据,按照测试时间不同,还包括获取历史原始测试数据和实时原始测试数据。
[0080]
其中,历史原始测试数据为能够追溯获取的原始测试数据,可以通过查询文献、搜集相关部分测试档案或向相关数据管理机构申请等方式获取。实时原始测试数据为实时测试获得的原始测试数据,可以直接通过任意类型的无线网络传输到数据平台中。
[0081]
步骤s404,获取原始测试数据的测试要素对应的实际测试值,对于直接测试数据,
直接提取直接测试数据的测试要素,和直接测试数据的测试要素对应的实际测试值,对于间接测试数据,建立间接测试数据与各测试要素的反演算法,反推间接测试数据的测试要素,获取间接测试数据的测试要素对应的实际测试值。
[0082]
其中,获取测试数据的测试要素对应的实际测试值。具体地,由于直接测试数据是直接测试某一种或几种测试要素的测试平台所获得的数据,因此对于直接测试数据,可以直接提取测试要素,并获取其对应的实际测试值。由于间接测试数据是通过间接测试某一种或几种测试要素的测试平台所获得的数据,因此对于间接测试数据,需要建立间接测试数据与各测试要素的反演算法,反推间接测试数据的测试要素。
[0083]
具体地,本申请中的反演算法可以是线性反演、迭代反演、最优化反演中的任意一种。由于间接测试数据的测试要素可能有一种或几种,因此通过建立间接测试数据与各测试要素的反演算法,可以推理出其对应的测试要素,并获取其对应的实际测试值。
[0084]
步骤s406,对原始测试数据进行数据清洗,数据清洗包括根据原始测试数据的测试要素对应的实际测试值,检查和填补原始测试数据中的无效测试要素,获得原始测试数据的有效测试要素。
[0085]
其中,所获取的原始测试数据对应的测试要素,其测试要素可以是有效测试要素或无效测试要素。具体地,可以根据原始测试数据的测试要素对应的实际测试值进行判定。当测试要素为有效时,保留该有效测试要素,当测试要素为无效时,将该测试要素用数学方法进行填补。
[0086]
步骤s408,将原始测试数据按照有效测试要素进行整理,获得测试数据集。
[0087]
其中,将所获得的原始测试数据按照有效测试要素进行整理和分类,以集合的形式进行存储,获得测试数据集。
[0088]
在其中一个实施例中,如图5所示,步骤s406对原始测试数据进行数据清洗,数据清洗包括根据原始测试数据的测试要素对应的实际测试值,检查和填补原始测试数据中的无效测试要素,获得原始测试数据的有效测试要素,包括:
[0089]
步骤s502,获取原始测试数据的测试要素对应的取值区间。
[0090]
其中,由于各测试要素物理含义和实际物理含义不同,因此各测试要素存在不同的取值区间。具体地,获取原始数据的测试要素对应的取值区间。
[0091]
步骤s504,当原始测试数据的测试要素对应的实际测试值在取值区间内,判定实际测试值对应的测试要素为有效,保留原始测试数据的有效测试要素。
[0092]
其中,当直接获取或反演的原始测试数据的测试要素对应的实际测试值在其对应的取值区间内,判定该实际测试值有效,即判定该实际测试值对应的测试要素为有效,将该测试要素称为有效测试要素,保留原始测试数据的该有效测试要素。
[0093]
步骤s506,当原始测试数据的测试要素对应的实际测试值不在取值区间内,判定实际测试值对应的测试要素为无效,用线性插值法填补无效测试要素,获得原始测试数据的有效测试要素。
[0094]
其中,当直接获取或反演的原始测试数据的测试要素对应的实际测试值不在其对应的取值区间内,判定该实际测试值无效,即判定该实际测试值对应的测试要素为无效。具体地,可以将该测试要素用na表示。若因测试设备供电不稳定、信号传输故障等造成了测试要素缺失,该缺失的测试要素也称无效测试要素,可以采用线性插值方法将缺失值填补,最
终获得原始测试数据的有效测试要素。
[0095]
在其中一个实施例中,如图6所示,步骤s306获取数据提供方与数据使用方共同协商制定的智能合约,包括:
[0096]
步骤s602,获取数据提供方与数据使用方共同协商制定的智能合约初稿,智能合约初稿用于约定数据提供方与数据使用方在使用数据平台时的权利与义务。
[0097]
其中,智能合约需先由数据提供方与数据使用方协商制定智能合约初稿,该初稿用于约定数据提供方与数据使用方在使用数据平台时相关事宜,包括双方的权利与义务等。
[0098]
步骤s604,根据智能合约初稿,分别识别数据提供方创建的区块和数据使用方创建的区块,根据识别的区块的类型判定智能合约初稿能否满足数据提供方与数据使用方的需求。
[0099]
其中,智能合约初稿中按照数据使用方和数据提供方的需求设定了智能合约触发条件。根据智能合约初稿,分别识别数据提供方创建的区块和数据使用方创建的区块,根据识别的区块的类型判定智能合约初稿能否满足数据提供方与数据使用方的需求。
[0100]
步骤s606,当识别数据提供方创建的区块的类型为父区块,数据使用方创建的区块的类型为子区块时,判定智能合约初稿能够满足数据提供方与数据使用方的需求。
[0101]
其中,根据智能合约初稿进行区块类型识别。当区块所识别的类型与区块实际的类型能够对应,即判定智能合约初稿能够满足需求。
[0102]
具体地,当识别数据提供方创建的区块的类型为父区块,数据使用方创建的区块的类型为子区块时,判定智能合约初稿能够满足数据提供方与数据使用方的需求。
[0103]
步骤s608,由数据提供方和数据使用方分别对智能合约初稿进行确认,获取数据提供方与数据使用方共同协商制定的智能合约。
[0104]
其中,将智能合约初稿打包发送至数据提供方和数据使用方,经双方确认后,生成智能合约,将智能合约创建区块存入区块链中。具体地,智能合约的存入可以通过对等计算机网络(peer-to-peer networking,p2p)等方式存入。
[0105]
在其中一个实施例中,在使用该数据平台时,当使用智能合约的数据提供方和数据使用方出现违约行为,则根据智能合约中约定的触发惩罚手段对双方进行惩罚。当智能合约中的所有条款都执行完成后,标注为智能合约完成。
[0106]
在其中一个实施例中,如图7所示,步骤s202中将上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定上传的测试数据质量,包括:
[0107]
步骤s702,计算上传的测试数据的均方根误差。
[0108]
其中,均方根误差是测试值与真实值偏差的平方与测试次数比值的平方根,在实际测试中,由于测试次数是有限的,因此真实值可以用最佳值代替,用于衡量测试值与真实值之间的偏差。具体地,计算上传的测试数据之间的均方根误差。
[0109]
步骤s704,当均方根误差大于预设的阈值时,判定均方根误差对应的上传的测试数据为质量不合格,丢弃质量不合格的测试数据。
[0110]
其中,当均方根误差大于预设的阈值时,判定均方根误差对应的上传的测试数据为质量不合格,并丢弃质量不合格的测试数据。其中,预设的阈值可以设置为测试数据的测试要素取值区间的15%。
[0111]
步骤s706,当均方根误差小于预设的阈值时,判定均方根误差对应的上传的测试数据为质量合格,保留质量合格的测试数据,进入将质量合格的测试数据按照测试要素进行整理的步骤。
[0112]
其中,当均方根误差小于预设的阈值时,判定均方根误差对应的上传的测试数据为质量合格,保留该质量合格的测试数据。而后执行步骤s204将质量合格的测试数据按照测试要素进行整理。
[0113]
在其中一个实施例中,如图8所示,步骤s206中获取数据使用方的下载请求,根据数据平台的智能合约判定数据使用方的下载权限,还包括:
[0114]
步骤s802,当判定数据使用方不存在下载权限时,向数据使用方提供下载建议信息。
[0115]
其中,根据数据平台的智能合约或贡献证明协议判定数据使用方的下载权限。当数据使用方不存在下载权限时,可以向数据使用方提供下载建议信息。具体地,下载建议信息可以包括在设定的规定期限内,数据使用方协助数据平台对测试数据集进行分析与整理,还可以通过欠条方式获得下载权限。其中,欠条中可以写明进行下载交易时所需虚拟货币数量的差值。
[0116]
步骤s804,获取下载建议信息,基于下载建议信息,优化数据平台的区块链中预先存储的结构化测试数据集。
[0117]
其中,获取并基于下载建议,更新数据平台的区块链中预先存储的结构化测试数据集对应的数据类型和数据格式,以完成数据平台的优化。
[0118]
在其中一个实施例中,数据使用方与数据平台实现共享,可以通过数据平台面向数据使用方的各类应用接口进行。应用接口可实现交换与交易、虚拟财产管理等功能,适用于多协议的网关接入。各类应用接口可以包括应用接口层、交易交换层、财产管理层和网关接入层。
[0119]
其中,应用接口层可以满足不同数据使用方的差异化需求,该层布设了多类常用接口,数据使用方可根据需求选择不同接口接入数据平台。
[0120]
其中,交换交易层可以为数据使用方与数据平台、数据使用方与数据使用方之间提供数据的交换与交易,可根据数据使用方的实际数据需求进行筛选并整理生成数据集。例如,当应用于海洋遥感观测领域时,实际数据需求可以包括观测时段、观测区域、时空分辨率、海洋要素类型等。
[0121]
其中,财产管理层是数据使用方在进行交换、上传测试数据等操作时,根据贡献证明协议,上传的数据可获取相应的虚拟货币奖励,这些奖励将被存入数据使用方的虚拟财产账户中,当需使用虚拟货币进行操作时,数据使用方可使用该层中的虚拟货币进行相应操作。
[0122]
其中,网关接入层为了满足不同数据使用方的需求以及提升数据平台的可拓展性,提供多类型接入网关。具体地,接入网关可以包括宽带接入网关(broadband remote access server,bras)、无线接入网关、家庭接入网关、协议接入网关、专线接入网关、vpn(virtual private network gateway,vpn)接入网关、企业接入网关等。
[0123]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及其中一个具体实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解
释本申请,并不用于限定本申请。
[0124]
在其中一个具体实施例中,以该方法应用于海洋遥感观测领域,提供了一种基于区块链的海洋数据平台。如图9所示,该海洋数据平台包括多源异构的海洋数据获取模块,数据集的提取、反演、清洗和整理模块,数据类型集合化存储模块,多层次的数据交互模块,多途径的数据共享模块,交互反馈模块,共享反馈模块和数据规格优化模块。
[0125]
在其中一个具体实施例中,如图10所示,通过多源异构的海洋数据获取模块,获取海洋数据的详细步骤如下:
[0126]
第一步,获取各观测平台中的各观测设备获得的多源异构的海洋数据。
[0127]
其中,观测平台在空间结构上可以分为天基、空基、岸基和船基,观测设备可以包括海洋卫星、岸基地波雷达、国家及地方自动水位测站、国家及地方自动气象测站、各类船舶或无人设备搭载的传感器等。因各观测平台获取的海洋数据的海洋要素及数据结构不同,将所获取的海洋数据称为多源异构的海洋数据。其中,海洋要素可以包括海水温度、海水盐度、海流流速、海面风速、海洋波浪、悬浮泥沙浓度、叶绿素浓度等。
[0128]
其中,海洋数据可以包括能够追溯获取的历史观测数据和各观测平台获取的实时观测数据。具体地,历史观测数据可以通过查询文献、搜集相关部分观测档案或向相关数据管理机构申请等方式获取,实时观测数据可以直接通过任意类型的无线网络传输到该海洋数据平台中。
[0129]
第二步,将获取的海洋数据按照海洋要素或已测参数值进行分类存储。
[0130]
其中,由于各观测平台的观测时段、数据接收频率、网络信号等存在差异,因此该海洋数据平台全周期处于工作状态中,以便实时获取来自于多个观测设备的海洋数据,并将所获取的海洋遥感动态添加到已存储的海洋数据中。
[0131]
其中,对于海洋数据的同一海洋要素,因各观测平台中的不同观测设备可能会同时获取同一区域的同一海洋要素的观测数据。因此,需要按照海洋要素或已测参数值将海洋数据进行分类存储。其中,海洋要素可以包括海水温度、海水盐度、海流流速、海面风速、海洋波浪、悬浮泥沙浓度、叶绿素浓度等。已测参数值可以包括光谱辐照度、光谱辐亮度等。
[0132]
其中,假定按照海洋要素或已测参数值存储的海洋数据集为m1*n1的矢量集。其中,m1代表不同海洋要素或已测参数值的总个数,n1代表同一海洋要素或已测参数值被不同观测设备获取的个数。
[0133]
在其中一个具体实施例中,如图11所示,在获取多源异构的海洋数据后,对海洋数据进行数据集的提取、反演、获取的详细步骤如下:
[0134]
第一步,将海洋数据按照获取海洋要素的方式进行分类存储。
[0135]
其中,由于各观测平台获取海洋要素的方式不同,可以将海洋数据分为直接观测数据和间接观测数据。其中,直接观测数据为使用观测设备对特定的海洋要素进行观测,如利用海流计对海流的速度和方向进行观测,间接观测数据包括使用观测设备对一种或多种海洋要素进行观测,如利用海洋卫星对海洋进行观测。
[0136]
其中,对于海洋卫星观测平台等获取的海量、不完全的、有噪声的、模糊的、随机的间接观测数据,如海洋遥感图像等,可以从中提取大量与海洋要素相关的信息,如海水温度、海水盐度、海流流速、海面风速、海洋波浪、悬浮泥沙浓度、叶绿素浓度等。并将该海洋数据存储在海洋数据平台中。
[0137]
第二步,获取海洋数据对应的海洋要素的实际值。
[0138]
其中,对于间接观测数据,建立间接观测数据中的已测参数值的反演算法,反推间接观测数据的海洋要素,并获取海洋要素对应的实际值。以海洋卫星观测平台为例,根据海洋卫星获取的海洋遥感图像,从中提取已测参数值并反推与各海洋要素的关系,获得其海洋要素,并获得海洋要素对应的实际值。其中,已测参数值包括光谱照幅度、光谱照亮度等,海洋要素可以包括海水温度、海水盐度、海流流速、海面风速、海洋波浪、悬浮泥沙浓度、叶绿素浓度等。
[0139]
其中,对于直接观测数据,可以直接提取直接观测数据的海洋要素,并获取海洋要素对应的实际值。
[0140]
第三步,对海洋数据进行数据清洗,获得海洋数据的有效海洋要素。
[0141]
其中,将所获取的海洋数据进行数据清洗。具体地,数据清洗包括检查海洋数据的一致性,处理无效值和缺失值等。基于各海洋要素物理含义的取值区间及实际物理含义,获取各海洋要素的取值区间。
[0142]
其中,若海洋要素的实际值不在对应的取值区间,则判定该实际值对应的海洋要素为无效,用na表示。若因观测设备供电不稳定、信号传输故障等造成了海洋数据缺失,则采用线性插值方法将缺失值填补。
[0143]
第四步,将所获得的海洋数据按照有效海洋要素进行分类存储。
[0144]
其中,将上述获得的海洋数据按照有效海洋要素进行分类存储。假定按照有效海洋要素存储的海洋数据集为m2*n2的矢量集。其中,m2代表不同的海洋要素的总个数,n2代表同一海洋要素被不同观测设备获取的个数。
[0145]
第五步,将所获得的按照有效海洋要素存储的海洋数据集按照时间维度和空间维度进行分类存储,获得时间维度数据集和空间维度数据集。
[0146]
其中,根据按照有效海洋要素存储的海洋数据集,分别建立时间维度数据集和空间维度数据集。
[0147]
其中,时间维度数据集是对于获取的海洋遥感观测数据集,按照不同时间维度进行提取与整理,并将其基于任意类型的可视化软件进行展示。其中,时间尺度可以是全观测周期序列、日均数据序列、月均数据序列、季均数据序列、年均数据序列、其他周期序列等。基于任意类型的可视化软件进行展示可以结合地理信息系统(geographic information system,gis)、谷歌地图(google map)和计算机程序设计语言(python)等共同实现。
[0148]
其中,空间维度数据集是对于获取的海洋遥感观测数据集,按照不同空间区域进行提取与整理,并将其基于任意类型的可视化软件进行展示。其中,空间区域可以是全球区域各海洋要素观测场、各大洋各海洋要素观测场、其他区域各海洋要素观测场等。基于任意类型的可视化软件进行展示可以结合地理信息系统(geographic information system,gis)、谷歌地图(google map)和计算机程序设计语言等共同实现。其中,计算机程序设计语言可以是python、c语言或c++等。
[0149]
在其中一个具体实施例中,如图12所示,根据所获取的海洋数据集,建立基于区块链的海洋数据平台的详细步骤如下:
[0150]
第一步,将所获得的海洋数据集按照数据来源进行标记,获得结构化海洋数据集。
[0151]
其中,对上述获得的海洋数据集按照数据来源进行标记。假定来源于水文观测站,
标记为a1。来源于气象观测站,标记为a2。来源于某海洋卫星,标记为a3。来源于数据提供方1提供数据,标记为b1。来源于数据提供方2提供数据,标记为b2。以此类推。至此,所获得的海洋数据集中已按照海洋要素或已测参数值、获取海洋要素信息的方式、有效海洋要素、时间维度、空间维度以及数据来源进行了分类和标记,获得分类和标记后的结构化海洋数据集。
[0152]
第二步,采用区块链网络数据分布式结构对海洋数据进行存储,建立基于区块链的海洋数据平台。
[0153]
其中,由数据提供方创建父区块,由数据使用方创建子区块,通过哈希指针将子区块链接到父区块上形成链状结构,称为区块链。其中,数据提供方可以是获取海洋数据的各观测平台,数据使用方可以是使用海洋数据的个人、企业或行政机构等用户。
[0154]
其中,父区块用于存储数据提供方的结构化海洋数据集。子区块用于存储数据使用方的结构化海洋数据集。随着海洋数据的不断获取以及数据使用方的不断增多,海洋数据平台的区块数量在不断增加。
[0155]
第三步,获取数据提供方与数据使用方共同协商制定的智能合约,将智能合约创建区块存入区块链中。
[0156]
其中,智能合约用于约定数据提供方和数据使用方在使用该海洋数据平台时的权利与义务。制定智能合约的步骤如下:
[0157]
步骤1,智能合约初稿的制定。
[0158]
其中,智能合约初稿由数据提供方和数据使用方共同协商后制定,约定了海洋数据存储、交互和共享的相关事宜,并约定了双方的权利与义务等。
[0159]
步骤2,区块的识别。
[0160]
其中,根据上述智能合约初稿,分别识别数据提供方创建的区块和数据使用方创建的区块。当识别数据提供方创建的区块的类型为父区块,数据使用方创建的区块的类型为子区块时,判定能触发该智能合约初稿,即智能合约初稿能够满足数据提供方和数据使用方的需求。
[0161]
步骤3,确认与生成。
[0162]
其中,将智能合约初稿发送给数据提供方和数据使用方,由双方分别对智能合约初稿进行确认,确认后生成智能合约。
[0163]
步骤4,创建与存入。
[0164]
其中,将智能合约创建区块,存入区块链中。具体地,可以通过对等计算机网络(peer-to-peer networking,p2p)等方式存入。
[0165]
步骤5,状态检查。
[0166]
其中,当使用智能合约的数据提供方和数据使用方出现违约行为,则根据智能合约中约定的触发惩罚手段对双方进行惩罚。当智能合约中的所有条款都执行完成后,标注为智能合约完成。
[0167]
第四步,获取贡献证明协议,形成海洋数据平台的内部奖励机制。
[0168]
其中,数据使用方对海洋数据平台的贡献大小基于贡献证明协议实现。具体地,数据使用方与海洋数据平台的交互与共享海洋数据的数量和次数越多,区块链数量和长度就越大,当数据使用方需要使用其他海洋数据时,在相同条件下更容易触发智能合约,因此,
形成以区块链的长度和数量为基础的海洋数据平台的内部奖励机制。
[0169]
其中,可以将区块链长度和数量通过虚拟货币的形式进行量化实现,并将内部奖励结果发送至数据使用方的虚拟财产账户中。
[0170]
在其中一个具体实施例中,如图13所示,数据使用方与海洋数据平台进行共享的详细步骤如下:
[0171]
第一步,获取数据使用方上传的海洋数据并进行整合存储。
[0172]
其中,获取数据使用方上传的海洋数据,该上传的海洋数据可以通过各观测平台的观测设备进行获取,如通过渔船上的气象传感器进行获取。
[0173]
其中,将上传的海洋数据进行检查后整合。具体地,检查可以包括将上传的海洋数据与海洋数据平台中所存储的结构化海洋数据集进行比对,判定上传的海洋数据的质量。
[0174]
其中,将上传的海洋数据进行检查,如对于同一区域或地点,海洋数据中有相同时刻的两种以上的海洋要素,将这些海洋数据进行两两比测,并计算数据间的均方根误差,用以评估海洋数据的质量。将均方根误差大于该海洋数据的海洋要素取值区间15%的数据判定为质量不合格并进行删除。将质量合格的海洋数据按照海洋要素进行分类,并整合存储在海洋数据平台中。
[0175]
其中,根据贡献证明协议,同时依据数据使用方上传海洋数据的大小与质量,计算应奖励虚拟货币数量并发放在数据使用方的虚拟财产账户中。
[0176]
第二步,获取数据使用方的下载请求,判定数据使用方的下载权限并获取反馈信息。
[0177]
其中,当数据使用方需要下载海洋数据时,获取数据使用方的下载请求,判定数据使用方的下载权限可以根据智能合约进行判定。具体地,可以通过查看该数据使用方请求下载的海洋数据的类型、大小,并根据智能合约中约定的数据使用方的权利与义务判定是否存在下载权限。当判定数据使用方存在下载权限时,则可以下载海洋数据。
[0178]
其中,判定数据使用方的下载权限还可以根据贡献证明协议进行判定。其中,可以通过查看数据使用方的虚拟财产账户中的虚拟货币的数量,并根据贡献证明协议评估其财产值,判定是否存在下载权限。当虚拟货币数量能够满足下载交易时判定数据使用方存在下载权限,则可以下载海洋数据。
[0179]
其中,当数据使用方不存在下载权限时,海洋数据平台会向数据使用方提供下载建议信息。具体地,下载建议信息可以是在设定的规定期限内,数据使用方协助海洋数据平台对海洋数据集进行分析与整理,还可以通过欠条方式获得下载权限。其中,欠条中可以写明进行下载交易时所需虚拟货币数量的差值。
[0180]
其中,数据使用方可以对与海洋数据平台进行共享的过程进行反馈。其中,反馈信息可以包括海洋数据使用的体验和满意度等,还可以包括海洋数据平台向数据使用方提供的下载建议信息。
[0181]
在其中一个具体实施例中,如图14所示,数据使用方与海洋数据平台进行交互和共享时,可以通过海洋数据平台面向数据使用方的各类应用接口进行。各类应用接口可以包括应用接口层、交易交换层、财产管理层和网关接入层。
[0182]
在其中一个具体实施例中,如图15所示,海洋数据平台根据数据使用方的反馈信息进行数据规格化优化的详细步骤如下:
[0183]
第一步,对海洋数据平台中所存储的海洋数据的特征进行评估。
[0184]
其中,对多源异构的海洋数据的特征进行评估。其中,特征可以包括海洋数据的存储格式、数据质量、观测时段和覆盖区域等。
[0185]
第二步,获取数据使用方与海洋数据平台进行共享时的反馈,对海洋数据平台中所存储的海洋数据进行优化。
[0186]
其中,根据反馈信息,对所存储的海洋数据进行优化。具体地,优化可以包括拓展海洋数据的类型与格式。如原海洋数据集保存为txt格式,由数据使用方反馈需使用网络通用数据格式(network common data form,netcdf),则可将海洋数据集以网络通用数据格式格式并行存储。
[0187]
在其中一个具体实施例中,基于以上步骤对海洋数据集进行优化,可以在海洋数据平台中更新存储的类型与格式,将海洋数据以及后续添加的海洋数据按拓展后的类型与格式进行存储。
[0188]
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0189]
在其中一个实施例中,如图16所示,提供了一种基于区块链的数据共享装置,包括:测试数据获取模块1610、测试数据整理模块1620、下载请求获取模块1630和测试数据优化模块1640,其中:
[0190]
测试数据获取模块1610,用于获取数据使用方上传的测试数据,将所述上传的测试数据与数据平台的区块链中预先存储的结构化测试数据集进行比对,判定所述上传的测试数据质量。
[0191]
测试数据整理模块1620,用于当所述上传的测试数据的质量合格时,将所述质量合格的测试数据按照测试要素进行整理,合并所述整理后的测试数据与所述预先存储的结构化测试数据集。
[0192]
下载请求获取模块1630,用于获取所述数据使用方的下载请求,根据所述数据平台的智能合约判定所述数据使用方的下载权限,当判定所述数据使用方存在下载权限时,获取所述数据使用方下载时的反馈信息。
[0193]
测试数据优化模块1640,用于基于所述反馈信息,优化所述数据平台的区块链中预先存储的结构化测试数据集。
[0194]
在其中一个实施例中,基于区块链的数据共享装置还包括:
[0195]
数据平台建立模块,用于建立基于区块链的所述数据平台。
[0196]
在其中一个实施例中,数据平台建立模块包括以下单元:
[0197]
结构化测试数据集获取单元,用于获取测试数据集,按照所述测试数据集的特征和来源对所述测试数据集进行标记,获得结构化测试数据集。
[0198]
区块链创建单元,用于由所述数据提供方创建父区块,由所述数据使用方创建子区块,通过哈希指针将所述子区块链接到所述父区块上形成区块链,所述父区块用于存储
所述数据提供方的结构化测试数据集,所述子区块用于存储所述数据使用方的结构化测试数据集。
[0199]
智能合约获取单元,用于获取所述数据提供方与所述数据使用方共同协商制定的智能合约,将所述智能合约创建区块存入所述区块链中,建立基于区块链的所述数据平台。
[0200]
在其中一个实施例中,结构化测试数据集获取单元包括以下单元:
[0201]
测试数据集获取单元,用于获取各测试平台的原始测试数据,对所述原始测试数据进行提取、反演、清洗和整理,获得测试数据集。
[0202]
在其中一个实施例中,测试数据集获取单元包括以下单元:
[0203]
测试数据获取单元,用于获取各测试平台的原始测试数据,所述测试数据包括间接测试数据和直接测试数据。
[0204]
测试要素实际测试值获取单元,用于获取所述原始测试数据的测试要素对应的实际测试值,对于所述直接测试数据,直接提取所述直接测试数据的测试要素,和所述直接测试数据的测试要素对应的实际测试值,对于所述间接测试数据,建立所述间接测试数据与各测试要素的反演算法,反推所述间接测试数据的测试要素,获取所述间接测试数据的测试要素对应的实际测试值。
[0205]
有效测试要素获取单元,用于对所述原始测试数据进行数据清洗,所述数据清洗包括根据所述原始测试数据的测试要素对应的实际测试值,检查和填补所述原始测试数据中的无效测试要素,获得所述原始测试数据的有效测试要素。
[0206]
测试数据整理单元,用于将所述原始测试数据按照所述有效测试要素进行整理,获得测试数据集。
[0207]
在其中一个实施例中,有效测试要素获取单元包括以下单元:
[0208]
测试要素取值区间获取单元,用于获取所述原始测试数据的测试要素对应的取值区间。
[0209]
测试要素保留单元,用于当所述原始测试数据的测试要素对应的实际测试值在所述取值区间内,判定所述实际测试值对应的测试要素为有效,保留所述原始测试数据的有效测试要素。
[0210]
测试要素填补单元,用于当所述原始测试数据的测试要素对应的实际测试值不在所述取值区间内,判定所述实际测试值对应的测试要素为无效,用线性插值法填补所述无效测试要素,获得所述原始测试数据的有效测试要素。
[0211]
在其中一个实施例中,智能合约获取单元包括以下单元:
[0212]
智能合约初稿获取单元,用于获取所述数据提供方与所述数据使用方共同协商制定的智能合约初稿,所述智能合约初稿用于约定所述数据提供方与所述数据使用方在使用所述数据平台时的权利与义务。
[0213]
区块识别单元,用于根据所述智能合约初稿,分别识别所述数据提供方创建的区块和所述数据使用方创建的区块,根据所述识别的区块的类型判定所述智能合约初稿能否满足所述数据提供方与所述数据使用方的需求。
[0214]
智能合约初稿判定单元,用于当识别所述数据提供方创建的区块的类型为父区块,所述数据使用方创建的区块的类型为子区块时,判定所述智能合约初稿能够满足所述数据提供方与所述数据使用方的需求。
[0215]
智能合约初稿确认单元,用于由所述数据提供方和所述数据使用方分别对所述智能合约初稿进行确认,获取所述数据提供方与所述数据使用方共同协商制定的智能合约。
[0216]
在其中一个实施例中,测试数据获取模块1610包括以下单元:
[0217]
均方根误差计算单元,用于计算所述上传的测试数据的均方根误差。
[0218]
测试数据丢弃单元,用于当所述均方根误差大于预设的阈值时,判定所述均方根误差对应的所述上传的测试数据为质量不合格,丢弃所述质量不合格的测试数据。
[0219]
测试数据保留单元,用于当所述均方根误差小于预设的阈值时,判定所述均方根误差对应的所述上传的测试数据为质量合格,保留所述质量合格的测试数据,进入所述将所述质量合格的测试数据按照测试要素进行整理的步骤。
[0220]
在其中一个实施例中,下载请求获取模块1630包括以下单元:
[0221]
建议信息提供单元,用于当判定所述数据使用方不存在下载权限时,向所述数据使用方提供下载建议信息。
[0222]
结构化测试数据集优化单元,用于获取所述下载建议信息,基于所述下载建议信息,优化所述数据平台的区块链中预先存储的结构化测试数据集。
[0223]
在其中一个实施例中,测试数据优化模块1640包括以下单元:
[0224]
数据类型和数据格式优化单元,用于基于所述反馈信息,更新所述数据平台的区块链中预先存储的结构化测试数据集对应的数据类型和数据格式。
[0225]
关于基于区块链的数据共享装置的具体限定可以参见上文中对于基于区块链的数据共享方法的限定,在此不再赘述。上述基于区块链的数据共享装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0226]
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于区块链的数据共享数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的数据共享方法。
[0227]
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0228]
在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述的基于区块链的数据共享方法的步骤:
[0229]
在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的基于区块链的数据共享方法的步骤。
[0230]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0231]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0232]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1