一种基于分布式账本的空间数据共享系统及方法[发明专利]
(12)发明专利申请
(10)申请公布号 CN 112835985 A(43)申请公布日 2021.05.25
(21)申请号 202110269302.9(22)申请日 2021.03.12
(71)申请人 湖北星地智链科技有限公司
地址 430071 湖北省武汉市武昌区小洪山
东区34号湖北自动化研究所科研实验楼综合楼4层401室(72)发明人 耿江屹 高晨婧
(74)专利代理机构 北京金智普华知识产权代理
有限公司 11401
代理人 蓝晓玉(51)Int.Cl.
G06F 16/27(2019.01)G06F 16/29(2019.01)G06F 21/62(2013.01)
权利要求书2页 说明书12页 附图7页
CN 112835985 A(54)发明名称
一种基于分布式账本的空间数据共享系统及方法(57)摘要
公开了本发明属于空间信息存储技术领域,
一种基于分布式账本的空间数据共享系统及方法,基于分布式账本的空间数据共享系统包括:系统应用层和业务层的系统功能模块和数据存储访问层的数据存储模块;所述系统功能模块包括:账户信息管理模块、区块链网络管理模块、交易记录管理模块以及数据质量管理模块。本发明采用区块链技术与空间数据共享相结合的方法,实现空间数据分发、共享、记录为一体的分布式存储系统;利用区块链账本数据不可篡改的特性保证了空间数据共享记录的真实性与安全性;利用分布式技术特性增加了数据流动的透明度,实现了数据分发、共享、记录的真实性与安全性,解决以往存在的单点故障、数据篡改以及数据溯源的问题。
CN 112835985 A
权 利 要 求 书
1/2页
1.一种基于分布式账本的空间数据共享系统,其特征在于,所述基于分布式账本的空间数据共享系统包括:
系统功能模块,用于负责用户与系统的交互,包含系统业务中各功能模块对应的前端浏览器页面,以及向上为整个系统提供各种应用接口,向下对存储的数据进行访问;
数据存储模块,包括DataBase传统数据库与Fabric区块链数据库,所述DataBase传统数据库用于存储隐私性较低的数据;所述Fabric区块链数据库用以存储交易记录在内的重要数据,并对系统功能模块设计数据存储的字段表,规范系统中数据信息所需的内容。
2.如权利要求1所述的基于分布式账本的空间数据共享系统,其特征在于,所述系统功能模块包括:账户信息管理模块、区块链网络管理模块、交易记录管理模块以及数据质量管理模块;
账户信息管理模块,用于对本系统的三种角色用户进行管理,可以创建数据发布机构用户、对注册数据订阅用户的账号信息进行核对审核、对用户信息进行编辑与查询;
区块链网络管理模块,用于对Fabric联盟链网络进行管理,包括对联盟链网络节点的管理、智能合约的部署与升级以及区块链通道的管理;
交易记录管理模块,用于在每笔交易产生后将交易记录上链存储以及对交易记录数据的查询;
数据质量管理模块,用于负责空间数据描述信息的存储与查询、数据质量评价信息的存储以及定期分析。
3.如权利要求2所述的基于分布式账本的空间数据共享系统,其特征在于,账户信息管理模块中,所述三种角色包括:数据发布机构用户、数据订阅用户和管理员用户;
所述账户信息管理模块包括账户管理与角色审核;其中,所述角色审核分为以下两种:(1)对申请成为空间数据发布机构的用户经线下审核后,由管理员创建新的发布机构用户,该用户可自行设置和修改系统密码;
(2)申请空间数据订阅方的用户在系统填写信息并提交注册后,由管理员进行线上审核方可注册成功。
4.如权利要求2所述的基于分布式账本的空间数据共享系统,其特征在于,所述区块链网络管理模块中的网络节点的管理包括Orderer、Peer节点的添加删除以及各个节点的权限管理;所述通道管理指管理员可以创建通道、加入通道和更新通道;该模块的主要负责智能合约的管理,所述智能合约是网络成员之间达成一致的业务逻辑协议;在Fabric中,将智能合约运行在一个独立的Docker容器中,只有执行智能合约的结果达成一致后,才能更新账本数据;
所述交易记录管理模块中,Fabric联盟链负责分布式存储数据共享交易记录,包括:用户与客户端的交互\\客户端与联盟链间的交互;所述客户端由前端页面与后端服务构成;
所述数据质量管理模块采用MySQL数据库对空间数据描述信息以及数据订阅方对空间数据的评价信息进行存储。
5.如权利要求1所述的基于分布式账本的空间数据共享系统,其特征在于,所述数据存储模块基于Fabric区块链的数据交换账本存储技术,在系统内搭建Fabric联盟链,对数据交换行为进行监听并记录数据交换账本,设计交易记录数据格式,实现通过元数据ID、数据交换双方ID信息进行账本富查询;采用区块链CouchDB数据库与普通数据库相结合的方法,
2
CN 112835985 A
权 利 要 求 书
2/2页
将信息分类存储;设计智能合约实现数据交换记录存储与查询、数据正确性验证、数据溯源、账本同步功能;设计高效安全的共识机制,分别用于网络内区块链节点间的共识以及跨网账本同步的共识。
6.如权利要求1所述的基于分布式账本的空间数据共享系统,其特征在于,所述DataBase传统数据库用于存储隐私性较低的数据,所述系统功能模块配置传统关系型数据库进行存储,设计以下数据存储的字段表:系统管理员用户表、数据发布方机构用户表、数据订阅用户表、空间数据描述信息表、数据质量评价信息表;所述Fabric区块链数据库用来存储交易记录等重要数据,同样设计区块链交易信息表进行存储。
7.一种基于分布式账本的空间数据共享方法,其特征在于,所述基于分布式账本的空间数据共享方法包括:
步骤一,系统通过Google远程过程调用向背书节点发起交易提案请求;步骤二,背书节点通过Docker容器的应用接口创建或启动智能合约容器;步骤三,智能合约容器通过系统与背书节点建立连接;步骤四,Docker容器内执行智能合约;步骤五,智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背书;步骤六,返回ECSS背书结果;步骤七,返回交易提案调用结果。8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
步骤1,系统通过Google远程过程调用向背书节点发起交易提案请求;步骤2,背书节点通过Docker容器的应用接口创建或启动智能合约容器;步骤3,智能合约容器通过系统与背书节点建立连接;步骤4,Docker容器内执行智能合约;步骤5,智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背书;步骤6,返回ECSS背书结果;步骤7,返回交易提案调用结果。9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求7所述的基于分布式账本的空间数据共享方法。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求7所述的基于分布式账本的空间数据共享方法。
3
CN 112835985 A
说 明 书
一种基于分布式账本的空间数据共享系统及方法
1/12页
技术领域
[0001]本发明属于空间信息存储技术领域,尤其涉及一种基于分布式账本的空间数据共享系统及方法。
背景技术
[0002]目前,互联网行业的兴起使得人类进入前所未有的信息时代。21世纪最具价值的不仅是技术,更是数据。人类通过日新月异的技术探索有关生态地理、地球科学和人类生活等海量的地理空间数据,并对获取的空间数据进行多领域全方位的分析处理,从而解决当前所面对的资源利用、环境安全和自然灾害等难题。因此,通过对空间数据分析处理从而创造价值成为当前研究的热点。空间数据往往数据量庞大,数据格式复杂,这也造成不同地区和不同行业的空间数据港相互独立,形成“数据孤岛”。[0003]为了打破樊篱、节省资源、扩大数据利用范围和利用价值,连接各个“数据孤岛”从而实现空间数据共享变得日益迫切。以往的研究通常会建立一个中心节点来处理数据共享请求,这种“中心化”模式具有搭建便捷、易于管理和效率高等优势,但是其权力集中、易受攻击、容错性低和难以溯源等不足也较为突出。[0004]中本聪(化名)于2008年发表的《比特币:一种点对点式的电子现金系统》首次提出比特币,标志着区块链技术的诞生。比特币数字货币系统使区块链技术的研究与应用推向高潮,陆陆续续出现了例如Ethereum平台、HyperLedger平台、LISK平台等较为成熟的区块链平台。区块链技术的巨大潜力引起了各行各业的关注,而这些愈发成熟的平台加快了将区块链技术应用到实际生产生活中的进度。区块链技术具有去中心化、不可篡改和数据可追溯等特性,其诞生与成熟给了解决传统数据共享模式弊端的新途径。[0005]通过上述分析,现有技术存在的问题及缺陷为:现有通过建立一个中心节点来处理数据共享请求的方法中,存在权力集中、单点故障、易受攻击、数据篡改、容错性低和难以溯源等问题。
[0006]解决以上问题及缺陷的难度为:[0007]空间数据具有数据量庞大、数据时效性高、隐私性强、利用领域广泛等特性。然而传统的数据共享模式无法满足空间数据共享的新需求,国内外一直以来都在设计研究安全便捷的空间数据共享系统。
[0008]解决以上问题及缺陷的意义为:
[0009]针对现有空间数据共享平台存在易受攻击、难以溯源等问题,将区块链技术与空间数据共享结合起来,设计一个基于区块链技术的空间数据共享平台,以此实现空间数据分发共享记录分布式存储,从而实现数据分发共享记录的真实性与安全性,解决以往存在的单点故障、数据易篡改难溯源的问题。发明内容
[0010]针对现有技术存在的问题,本发明提供了一种基于分布式账本的空间数据共享系
4
CN 112835985 A
说 明 书
2/12页
统及方法。
[0011]本发明是这样实现的,一种基于分布式账本的空间数据共享系统,所述基于分布式账本的空间数据共享系统包括:系统应用层和业务层的系统功能模块和数据存储访问层的数据存储模块;[0012]系统功能模块,用于负责用户与系统的交互,包含系统业务中各功能模块对应的前端浏览器页面,以及向上为整个系统提供各种应用接口,向下对存储的数据进行访问;[0013]数据存储模块,分为DataBase传统数据库与Fabric区块链数据库两个部分,所述DataBase传统数据库用于存储隐私性较低的数据;所述Fabric区块链数据库用以存储交易记录在内的重要数据,并针对系统中的各个功能模块设计数据存储的字段表,规范系统中数据信息所需的内容。[0014]进一步,所述系统功能模块包括:账户信息管理模块、区块链网络管理模块、交易记录管理模块以及数据质量管理模块;[0015]账户信息管理模块,用于对本系统的三种角色用户进行管理,可以创建数据发布机构用户、对注册数据订阅用户的账号信息进行核对审核、对用户信息进行编辑与查询;[0016]区块链网络管理模块,用于对Fabric联盟链网络进行管理,包括对联盟链网络节点的管理、智能合约的部署与升级以及区块链通道的管理;[0017]交易记录管理模块,用于在每笔交易产生后将交易记录上链存储以及对交易记录数据的查询;
[0018]数据质量管理模块,数据质量评价信用于负责空间数据描述信息的存储与查询、息的存储以及定期分析。[0019]进一步,账户信息管理模块中,所述三种角色包括:数据发布机构用户、数据订阅用户和管理员用户。[0020]进一步,所述账户信息管理模块包括账户管理与角色审核;其中,所述角色审核分为以下两种:[0021](1)对申请成为空间数据发布机构的用户经线下审核后,由管理员创建新的发布机构用户,该用户可自行设置和修改系统密码;[0022](2)申请空间数据订阅方的用户在系统填写信息并提交注册后,由管理员进行线上审核方可注册成功。[0023]进一步,所述区块链网络管理模块中的网络节点的管理包括Orderer、Peer节点的添加删除以及各个节点的权限管理;所述通道管理指管理员可以创建通道、加入通道和更新通道;该模块的主要负责智能合约的管理,所述智能合约是网络成员之间达成一致的业务逻辑协议;在Fabric中,将智能合约运行在一个独立的Docker容器中,只有执行智能合约的结果达成一致后,才能更新账本数据。[0024]进一步,所述交易记录管理模块中,Fabric联盟链负责分布式存储数据共享交易记录,包括两部分,一部分为用户与客户端的交互,另一部分为客户端与联盟链间的交互;其中,所述客户端由前端页面与后端服务构成。[0025]进一步,所述数据质量管理模块采用传统MySQL数据库对空间数据描述信息以及数据订阅方对空间数据的评价信息进行存储;该类信息没有较强的隐私性,一般对系统内所有用户开放,所以采用中心化数据库为联盟链减轻压力。
5
CN 112835985 A[0026]
说 明 书
3/12页
进一步,所述数据存储模块基于Fabric区块链的数据交换账本存储技术,在系统
内搭建Fabric联盟链,对数据交换行为进行监听并记录数据交换账本,设计交易记录数据格式,实现通过元数据ID、数据交换双方ID信息进行账本富查询;采用区块链CouchDB数据库与普通数据库相结合的方法,将信息分类存储;设计智能合约实现数据交换记录存储与查询、数据正确性验证、数据溯源、账本同步功能;设计高效安全的共识机制,分别用于网络内区块链节点间的共识以及跨网账本同步的共识。[0027]进一步,所述DataBase传统数据库用于存储隐私性较低的数据,所述系统功能模块配置传统关系型数据库进行存储,设计以下数据存储的字段表:系统管理员用户表、数据发布方机构用户表、数据订阅用户表、空间数据描述信息表、数据质量评价信息表;所述Fabric区块链数据库用来存储交易记录等重要数据,同样设计区块链交易信息表进行存储。
[0028]本发明的另一目的在于提供一种应用所述的基于分布式账本的空间数据共享系统的基于分布式账本的空间数据共享方法,所述基于分布式账本的空间数据共享方法包括以下步骤:
[0029]步骤一,系统通过Google远程过程调用向背书节点发起交易提案请求;[0030]步骤二,背书节点通过Docker容器的应用接口创建或启动智能合约容器;[0031]步骤三,智能合约容器通过系统与背书节点建立连接;[0032]步骤四,Docker容器内执行智能合约;[0033]步骤五,智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背书;
[0034]步骤六,返回ECSS背书结果;[0035]步骤七,返回交易提案调用结果。[0036](1)从docker官方镜像库中下载相关docker镜像并加载(fabric‑couchdb、fabric‑orderer、fabric‑tools、fabric‑peer、fabric‑baseos、fabric‑ccenv、fabric‑kafka、fabric‑ca)[0037] Fabric V1.1.0);(2)通过Github下载超级账目项目源码(Hyperledger[0038](3)配置crypto‑config.yaml文件。该文件用来配置组织和节点的相关信息,本系统中配置两个组织,各包含两个Peer节点;[0039](4)通过cryptogen读取(2)中的配置文件crypto‑config.yaml,生成节点证书和私钥文件;[0040](5)在configtx.yaml中配置通道成员、共识模式、区块大小等参数,其次通过configtxgen程序读取该配置文件,从而生成创世区块和通道配置区块。[0041](6)配置docker‑compose文件,包括节点与docker的映射关系;[0042](7)通过docker‑compose文件启动peer和orderer容器;[0043](8)创建通道,名称为mychannel,并将相关节点加入到该通道中。[0044]本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:[0045]步骤1,系统通过Google远程过程调用向背书节点发起交易提案请求;
6
CN 112835985 A[0046][0047][0048][0049]
说 明 书
4/12页
步骤2,背书节点通过Docker容器的应用接口创建或启动智能合约容器;步骤3,智能合约容器通过系统与背书节点建立连接;步骤4,Docker容器内执行智能合约;步骤5,智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背
书;
步骤6,返回ECSS背书结果;
[0051]步骤7,返回交易提案调用结果。
[0052]本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的基于分布式账本的空间数据共享方法。
[0053]本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的基于分布式账本的空间数据共享方法。[0054]结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明通过将区块链技术运用于空间数据共享系统中,提出了基于HyperLedger Fabric平台的空间数据共享系统。该系统利用区块链账本数据不可篡改的特性保证了空间数据共享记录的真实性与安全性;利用分布式技术特性增加了数据流动的透明度。因此,实现一种基于分布式账本技术的空间数据共享系统以解决单点故障和数据安全等问题具有重要意义。[0055]本发明采用区块链技术与空间数据共享相结合的方法,设计了一个基于区块链技术的空间数据共享平台,实现了空间数据分发、共享、记录为一体的分布式存储系统,从而实现了数据分发、共享、记录的真实性与安全性,解决了以往存在的单点故障、数据篡改以及数据溯源的问题。相比现有技术,本发明还具有以下优点和积极效果:[0056](1)基于Fabric区块链的数据交换账本存储技术,在网络内搭建Fabric联盟链,对数据交换行为进行监听并记录数据交换账本;设计了交易记录数据格式,实现了通过元数据ID、数据交换双方ID等信息进行账本富查询;采用区块链CouchDB数据库与普通数据库相结合的方法,将信息分类存储,提高联盟链的工作效率。[0057](2)根据数据交换账本存储的智能合约及共识机制,设计了智能合约实现了数据交换记录存储与查询、数据正确性验证、数据溯源、账本同步等功能。还设计了高效安全的共识机制,分别用于网络内区块链节点间的共识以及跨网账本同步的共识。附图说明
[0058]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0059]图1是本发明实施例提供的基于分布式账本的空间数据共享系统总体架构图。[0060]图2是本发明实施例提供的基于分布式账本的空间数据共享系统功能模块图。[0061]图3是本发明实施例提供的管理员审核数据订阅用户流程图。
[0062]图4是本发明实施例提供的系统前台与智能合约的交互过程示意图。
7
[0050]
CN 112835985 A[0063][0064]
说 明 书
5/12页
图5是本发明实施例提供的智能合约管理模块示意图。
图6是本发明实施例提供的基于分布式账本的空间数据共享系统工作流程时序图7是本发明实施例提供的基于分布式账本的空间数据共享系统实体E‑R图。图8是本发明实施例提供的基于分布式账本的空间数据共享方法流程图。图9是本发明实施例提供的数据质量评价提交页面图.
图。
[0065][0066][0067]
具体实施方式
[0068]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0069]针对现有技术存在的问题,本发明提供了一种基于分布式账本的空间数据共享系统及方法,下面结合附图对本发明作详细的描述。[0070]如图8所示,本发明实施例提供的基于分布式账本的空间数据共享方法包括以下步骤:
[0071]S101,系统通过Google远程过程调用向背书节点发起交易提案请求;[0072]S102,背书节点通过Docker容器的应用接口创建或启动智能合约容器;[0073]S103,智能合约容器通过系统与背书节点建立连接;[0074]S104,Docker容器内执行智能合约;[0075]S105,智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背书;[0076]S106,返回ECSS背书结果;[0077]S107,返回交易提案调用结果。
[0078]下面结合实施例对本发明作进一步描述。
[0079]本发明实施例提供的基于分布式账本的空间数据共享系统,包括系统应用层和业务层的系统功能模块和数据存储访问层的数据存储模块;所述系统功能模块负责用户与系统的交互,主要包含系统业务中各功能模块对应的前端浏览器页面,以及向上为整个系统提供各种应用接口,向下对存储的数据进行访问。系统架构图如图1所示。[0080]所述系统功能模块包括账户信息管理模块、区块链网络管理模块、交易记录管理模块以及数据质量管理模块。系统功能模块图如图2所示。[0081]所述账户信息管理模块:主要负责对本系统的三种角色用户(数据发布机构用户、数据订阅用户、管理员用户)进行管理,可以创建数据发布机构用户、对注册数据订阅用户的账号信息进行核对审核、对用户信息进行编辑与查询;所述区块链网络管理模块:主要负责对Fabric联盟链网络进行管理,包括对联盟链网络节点的管理、智能合约的部署与升级、区块链通道的管理等。所述交易记录管理模块:主要负责在每笔交易产生后将交易记录上链存储以及对交易记录数据的查询;所述数据质量管理模块:主要负责空间数据描述信息的存储与查询、数据质量评价信息的存储以及定期分析。
[0082]所述账户信息管理模块主要包含了账户管理与角色审核。角色审核分为两种:(1)对申请成为空间数据发布机构的用户经线下审核后,由管理员创建新的发布机构用户,该用户可自行设置和修改系统密码。(2)申请空间数据订阅方的用户在系统填写信息并提交
8
CN 112835985 A
说 明 书
6/12页
注册后,由管理员进行线上审核方可注册成功。管理员对数据订阅用户的审核流程如图3所示。为避免恶意用户对系统造成危害或损害空间数据发布方的利益,系统将会定期对恶意操作、造假、失信等用户记录违规并暂停账号,需要进行重新注册审核。因此,管理员在对注册用户的证件信息进行审核后,还需查询其违规记录是否超过3次,如是则拒绝注册。通过这样的干预机制,解决了去中心化系统不受监督的问题,保障了空间数据共享平台的良好环境。
[0083]所述区块链网络管理模块主要包括网络节点的管理、智能合约的管理和通道管理。其中网络节点的管理包括Orderer、Peer节点的添加删除以及各个节点的权限管理。通道管理主要指管理员可以创建通道、加入通道和更新通道。该模块的主要负责智能合约的管理。智能合约是网络成员之间达成一致的业务逻辑协议。在Fabric中,本发明将智能合约运行在一个独立的Docker容器中,只有执行智能合约的结果达成一致后,才能更新账本数据。
[0084]所述交易记录管理模块主要负责在每笔交易产生后将交易记录上链存储以及对交易记录数据的查询。在本发明中,Fabric联盟链负责分布式存储数据共享交易记录。该过程主要分为两部分,一部分为用户与客户端(本系统中客户端由前端页面与后端服务构成)的交互,另一部分为客户端与联盟链间的交互。在本发明实施例中,某个数据发布机构用户在本系统中生成一次成功交易、存储交易记录并进行查询的时序过程如图6所示。数据发布机构用户登录系统后,与数据订阅用户达成数据共享协议,并进行一次成功的数据共享交易。当数据订阅用户下载数据时,即代表本次交易成功,向Web客户端发送一次交易成功请求,客户端的远程服务器负责计算源数据文件的哈希值,并返回给用户。随后系统自动调用交易记录上传接口,由客户端调用联盟链智能合约进行上链存储,并将存储结果返回给用户。当用户查询交易记录时,客户端调用联盟链智能合约对应的查询方法,并将查询结果返回给用户。
[0085]所述数据质量管理模块主要采用传统MySQL数据库对空间数据描述信息以及数据订阅方对空间数据的评价信息进行存储。该类信息没有较强的隐私性,一般对系统内所有用户开放,所以采用中心化数据库为联盟链减轻压力。[0086]根据本发明中系统模块的设计,本发明系统的对象实体可以划分为系统管理员、数据发布机构用户、数据订阅用户、空间数据描述信息、数据质量评价信息以及数据交易记录信息,各个实体间的关系E‑R图如图7所示。系统管理员可以创建多个数据发布机构用户,也可以审核多条数据订阅用户的注册申请。数据发布机构用户可以提交本机构欲发布的空间数据描述信息,也可以对所有空间数据描述信息和数据质量信息进行查看。此外,数据发布机构用户可以对数据交易记录信息进行查询。数据订阅用户可以查询已经在平台发布的空间数据描述信息,还可以提交已订阅数据的质量评价信息。此外,数据订阅用户可以查看平台所有数据的质量评价信息并查询自身的交易记录信息。[0087]所述数据存储模块,分为DataBase传统数据库与Fabric区块链数据库两个部分,DataBase传统数据库用来存储隐私性较低的数据,Fabric区块链数据库用以存储交易记录等重要数据,并针对系统中的各个功能模块设计了数据存储的字段表,规范了系统中数据信息所需的内容。[0088](1)系统管理员用户表(见表1)
9
CN 112835985 A[0089]
说 明 书
7/12页
表1系统管理员用户表
[0090]
[0091][0092][0093]
(2)数据发布方机构用户表(见表2)表2数据发布方机构用户表
[0094]
[0095][0096]
(3)数据订阅用户表(见表3)表3数据订阅用户表
10
CN 112835985 A
说 明 书
8/12页
[0097]
[0098][0099]
(4)空间数据描述信息表(见表4)表4空间数据描述信息表
[0100]
[0101][0102]
(5)数据质量评价信息表(见表5)表5数据质量评价信息表
11
CN 112835985 A
说 明 书
9/12页
[0103]
[0104][0105]
(6)区块链交易信息表设计(见表6)表6区块链交易信息表设计
[0106]
所述DataBase传统数据库用来存储隐私性较低的数据。所述Fabric区块链数据库
用以存储交易记录等重要数据。数据存储模块基于Fabric区块链的数据交换账本存储技术。在系统内搭建Fabric联盟链,对数据交换行为进行监听并记录数据交换账本。设计交易记录数据格式,实现通过元数据ID、数据交换双方ID等信息进行账本富查询。采用区块链CouchDB数据库与普通数据库相结合的方法,将信息分类存储,提高联盟链的工作效率。设计智能合约实现数据交换记录存储与查询、数据正确性验证、数据溯源、账本同步等功能。设计高效安全的共识机制,分别用于网络内区块链节点间的共识以及跨网账本同步的共识。
[0108]本发明实施例提供的基于分布式账本的空间数据共享方法,包括以下步骤:
12
[0107]
CN 112835985 A[0109][0110][0111][0112][0113]
说 明 书
10/12页
步骤1:系统通过Google远程过程调用向背书节点发起交易提案请求;步骤2:背书节点通过Docker容器的应用接口创建或启动智能合约容器;步骤3:智能合约容器通过系统与背书节点建立连接;步骤4:Docker容器内执行智能合约;步骤5:智能合约执行结束后,调用背书节点的ESCC背书对模拟执行结果进行背
书;
步骤6:返回ECSS背书结果;
[0115]步骤7:返回交易提案调用结果。[0116]方法步骤流程图如图4所示。[0117]智能合约不是固定唯一的,管理员可以基于数据发布方和数据订阅方的需求添加部署新的智能合约或对已有的智能合约进行升级。此外,数据发布机构用户与数据订阅用户都可以在系统中查看当前智能合约的详细信息。在区块链网络管理模块中,智能合约管理所包含的功能如图5所示。部署智能合约:主要分为登记上传新合约和吊销过时合约。本系统的智能合约采用Java语言编写,依照智能合约的生命周期(打包→安装→实例化→升级),由背书节点负责安装与管理。查询智能合约信息:系统内三种角色用户都有权限对已部署的智能合约信息进行查询,包括智能合约的名称、版本、功能以及源码。升级智能合约:依据数据发布方与订阅方的需求变更,定期对智能合约进行升级与修复。
[0118]图6是本发明实施例提供的基于分布式账本的空间数据共享系统工作流程时序图。
[0119]图7是本发明实施例提供的基于分布式账本的空间数据共享系统实体E‑R图。[0120]下面结合应用例对本发明作进一步描述。[0121]本系统后端使用Java语言进行开发,选取了IDEA编译器,并使用SpringBoot作为后端开发框架。系统开发环境详细配置如下所示:
[0114]
[0122]
[0123]
本系统利用虚拟机技术创建了5个网络节点,分别为1个Oderer节点和4个Peer节点,各网络节点环境如下所示:
13
CN 112835985 A
说 明 书
11/12页
[0124]
本系统实验环境下的Fabric区块链网络。系统创建了5个Linux虚拟机,代表5个网
络节点,其中包括1个Orderer排序服务节点和4个Peer节点,4个Peer节点又分布在两个组织Org0与Org1中。两个组织间创建了一个通道mychannel。[0126]上述环境搭建完成后,就可以在节点上安装并实例化智能合约。本系统后端使用了Fabric‑Java‑SDK,因此直接调用接口进行安装以及实例化,无需在命令行中进行。先将Java智能合约打包并存储在Peer节点的指定位置,其次部署好SpringBoot应用,并配置智能合约文件地址,最后直接调用相应接口进行安装并实例化。[0127]1.用户管理模块
[0128]该模块主要包含了账户管理与用户审核。用户通过前端页面进行登录注册以及修改用户信息,具体业务逻辑则在后端服务中实现。管理员用户可以通过在前端查看用户的各项信息,其中用户审核页面如下图所示,管理员在该页面可以查看申请注册的数据订阅用户信息,通过核验其相关证件图片以及历史违规次数,从而决定同意或拒绝。[0129]2.区块链管理模块[0130]该模块面向管理员,主要负责对Fabric区块链网络进行管理,主要包括网络节点的管理、智能合约的管理和通道管理。其中网络节点的管理包括Orderer、Peer节点的添加删除以及各个节点的权限管理。通道管理主要指管理员可以创建通道、加入通道和更新通道。各项业务逻辑均在后端SpringBoot服务中实现,对前端页面只提供API接口。[0131]3.交易记录管理模块
[0132]该模块主要分为交易记录的上链存储和交易记录的查询。在基于分布式账本技术的空间数据共享系统中,Fabric联盟链负责分布式存储数据共享交易记录。该过程主要分为两部分,一部分为用户与客户端(本系统中客户端由前端页面与后端服务构成)的交互,另一部分为客户端与联盟链间的交互。在一次交易成功后,系统将自动调用交易记录上链存储的相应接口,由后端应用与区块链网络共同完成。[0133]用户查询交易记录时,前端调用对应的查询接口,后端负责调用智能合约的query方法进行查询并将数据返回给前端。[0134]4.数据质量评价管理模块
[0135]该模块主要是对发布在平台中的空间数据描述信息以及数据质量评价信息进行管理。该模块所涉及的数据保存在MySQL数据库中,由前端调用查看或提交等接口时,后端执行相应的业务逻辑并返回于前端。数据质量评价提交页面如图9所示。
14
[0125]
CN 112835985 A[0136]
说 明 书
12/12页
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。[0137]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
15
CN 112835985 A
说 明 书 附 图
1/7页
图1
16
CN 112835985 A
说 明 书 附 图
2/7页
图2
17
CN 112835985 A
说 明 书 附 图
3/7页
图3
18
CN 112835985 A
说 明 书 附 图
4/7页
图4
图5
19
CN 112835985 A
说 明 书 附 图
5/7页
图6
图7
20
CN 112835985 A
说 明 书 附 图
6/7页
图8
21
CN 112835985 A
说 明 书 附 图
7/7页
图9
22
因篇幅问题不能全部显示,请点此查看更多更全内容