一种基于区块链的分布式遥感数据共享系统的制作方法

文档序号:17938861发布日期:2019-06-18 22:52阅读:1144来源:国知局
一种基于区块链的分布式遥感数据共享系统的制作方法

本发明涉及遥感数据共享领域,特别涉及一种基于区块链的分布式遥感数据共享系统。



背景技术:

随着遥感技术的发展,遥感的应用领域已经拓展到国土资源、气象、环境、水利、矿产、电力等各个行业中,并在各个领域产生了巨大的经济效益。在遥感技术产生巨大效益的同时,遥感数据也在以惊人的速度增长。

由于不同的卫星遥感数据获取来源不同,记录与存储数据的格式也不尽相同,因此遥感数据具有异构的特征;由于不同的传感器具有不同的空间分辨率,获取的遥感数据则具备不同的空间尺度,反映对地表观测的涵盖范围和详细程度不同,因此遥感数据具有多尺度的特征;由于遥感数据的获取方式、空间及时间分辨率都得到了飞速的发展,接收的卫星遥感数据增长速度也越来越快,卫星遥感数据存储呈现海量式增长,因此遥感数据具有海量的特点。综上可知,如何共享卫星遥感数据,为各个领域提供遥感信息服务,成为遥感数据的共享的巨大挑战。

区块链技术是一个去中心化的分布式账本,区块链使用密码学算法产生数据块,每一个节点持有一个账本,每个节点都可以对存储的信息进行验证,保证一旦存储便不容易篡改。区块链账本也提供了对数据检索功能的支持。因此,借助区块链技术,可以在不改变原有遥感数据存储模式的情况下,将遥感数据的元数据、存储位置等关键数据存入区块链中,从区块链模块中检索数据信息,从而实现遥感数据的共享,提高数据的可信性。



技术实现要素:

本发明的目的是克服遥感数据格式多样化难以检索、难以共享的问题,通过构建一个基于区块链的分布式遥感数据共享系统,在不影响原有数据存储方式的条件下,实现数据共享。同时利用了区块链技术的与可追踪性,避免中心机构出于自身利益,人为恶意的遥感数据篡改。

实现本发明目的的具体技术方案是:

一种基于区块链的分布式遥感数据共享系统,该系统包括:

公钥数据库,存储数据库模块的身份标识信息及其公钥;

数个节点,各节点间相互独立、直接通信,每一节点包括数据库模块、区块链模块和数据服务模块;

数据库模块,包括身份标识模块、私钥存储模块、数据存储模块、数据处理模块和控制模块;身份标识模块存储身份标识信息;私钥存储模块存储数据库模块的私钥;数据存储模块存储来自遥感卫星、卫星接收站或者遥感卫星实验室平台的遥感数据;数据处理模块根据遥感数据图像元数据标准处理数据存储模块中的遥感数据生成元数据,通过私钥存储模块的私钥对元数据进行签名,向区块链模块传输数据;控制模块根据区块链模块中访问控制模块的指令访问数据存储模块中的遥感数据,将数据反馈给区块链模块中的访问控制模块;

区块链模块,包括验证模块、访问控制模块、存储模块、通信模块和共享模块;验证模块通过数据库模块身份标识从公钥数据库查找对应的公钥,验证签名的有效性;访问控制模块拥有数据库模块的访问控制权限,控制数据库模块的数据访问;存储模块存储通过验证模块验证的元数据、签名、数据存储信息以及访问控制模块每次数据库模块数据访问产生的数据共享记录;通信模块进行节点间的数据通信与传输,当存储模块有数据写入或更改时,对所有节点的区块链模块广播该数据在存储模块中的信息;接收广播信息,更新存储模块中的信息,确保所有节点区块链模块存储模块信息的一致性;进行节点间遥感数据的传输;共享模块接收数据服务模块的数据共享服务请求,根据数据共享服务请求,确定存储被请求数据的数据库模块以及该数据库模块的所在节点,通过通信模块调用所在节点的访问控制模块,访问所在节点数据库模块中的数据,产生一条数据共享记录,并写入请求数据在存储模块所对应的共享记录信息,所在节点通过通信模块将请求数据传输到发起数据共享服务请求节点的共享模块,由发起数据共享服务请求节点的共享模块将请求数据传输到数据服务模块;

数据服务模块,通过访问区块链模块的共享模块对用户提供遥感数据的查询下载共享服务。

所述数据库模块分配唯一的公私钥对和身份标识,其中私钥用于数据签名,公钥用于验证签名,身份标识用于标识数据库模块。

所述数据库模块中所存储的遥感数据不存在数据一致性、存储标准一致性的要求;各节点数据库模块存储的数据一致或者不一致。

所述数据库模块中的数据存储模块所存储的遥感数据包括但不限于是未经处理过的原始遥感数据和提前经过遥感数据标准处理过的遥感数据。

所述数据库模块中,数据处理模块使用的遥感数据图像元数据标准包括但不限于:iso19115元数据标准、fgdc地理空间数据元数据内容标准、国家基础地理信息系统元数据标准和自定义元数据标准。

所述数据库处理模块向区块链模块传输的数据包括但不限于:数据处理模块生成的元数据、签名、遥感数据的具体存储信息及数据库模块的身份标识信息。

所述访问控制模块拥有对数据库模块的访问控制权限是指访问控制模块只能访问控制其所在节点数据库模块中的数据,对其他节点数据库模块中的数据不能直接访问。

所述区块链模块中存储模块的共享记录信息包括但不限于:数据访问请求的节点信息及访问时间。

本发明的有益效果是可以在不改变原有遥感数据存储模式的情况下,增加区块链模块。将遥感数据的元数据、存储位置等关键信息存储到区块链模块中,在检索数据时对区块链模块进行检索获得数据存储位置,然后获取节点数据库模块中存储的原始遥感数据。本发明能够实现数据共享,并提高数据的可信度,避免遥感数据被篡改。

附图说明

图1为本发明结构示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案和有效成果更加清楚明白,下面结合附图及具体实施例对本发明做进一步的详细阐述说明。

本发明分布式遥感数据共享系统,由公钥数据库和数个节点组成,其中,各节点与公钥数据库直接通信,节点之间相互独立、直接通信。如图1所示,图中有一个公钥数据库和多个节点:节点1,节点2,……,节点i,……,节点n。以节点i为例说明每个节点的内部结构,节点i由数据库模块i、区块链模块i和数据服务模块i组成。

数据库模块i,由身份标识模块、私钥存储模块、数据存储模块、数据处理模块和控制模块组成。其中,每个节点的数据库模块存储数据的标准不同,存储的数据可以一致也可以不一致。系统为每个节点的数据库模块分配唯一的身份标识和公私钥对。私钥用于对数据进行签名,公钥用于区块链模块的验证模块验证数据签名的有效性,身份标识用于标识数据库模块。其中,身份标识模块存储数据库模块的身份标识,私钥存储模块存储数据库模块的私钥,公钥数据库存储身份标识及其公钥。图1所示,数据库模块i分配系统中唯一的身份标识和公私钥,并将其存储在相应的模块和数据库中。

数据存储模块存储来自遥感卫星、卫星接收站或者遥感卫星实验室平台的遥感数据,每个节点根据实际情况确定数据库存储模块的存储标准;数据处理模块根据遥感数据图像元数据标准处理数据存储模块中的遥感数据生成元数据,通过私钥存储模块的私钥对元数据进行签名,然后向区块链模块i传输数据处理模块生成的元数据、签名、遥感数据的具体存储信息、数据库模块的身份标识信息。其中,数据处理模块使用的遥感数据图像元数据标准包括但不限于:iso19115元数据标准、fgdc地理空间数据元数据内容标准、国家基础地理信息系统元数据标准和自定义元数据标准。

控制模块根据区块链模块i中访问控制模块的指令访问数据存储模块中的遥感数据,将数据反馈给区块链模块i中的访问控制模块。

区块链模块i,由验证模块、访问控制模块、存储模块、通信模块和共享模块组成。验证模块通过数据库模块i传输数据中包含的身份标识数据,从公钥数据库查找对应的公钥,对签名进行解密验证与元数据是否一致。如果一致,则签名有效,否则,不接受该数据。

访问控制模块控制数据库模块i的数据访问,区块链模块i的访问控制模块有访问数据库模块i的权限,其他节点j(j≠i)的区块链模块j不能直接访问数据库模块i;存储模块存储通过验证模块验证的元数据、签名、数据存储信息以及访问控制模块每次对数据库模块i数据访问产生的数据共享记录,其中,存储在数据共享记录中的数据包括但不限于:数据访问请求的节点信息、访问时间。

通信模块进行节点间的数据通信与传输,实现节点间遥感数据的传输和存储模块信息的更新,确保所有节点区块链模块中存储模块信息的一致性:当节点i的区块链模块i的存储模块有数据写入或更改时,对其他节点j(j≠i)的区块链模块j广播该数据在存储模块中的信息,其他节点j接收广播信息,并更新存储模块中的信息,确保所有节点区块链模块存储模块信息一致;当需要遥感数据从其他节点j(j≠i)进行传输时,节点i,j通过区块链模块i,j的通信模块进行遥感数据传输,遥感数据从存储被请求数据的节点j通过通信模块传输到发起请求的节点i。

共享模块接收数据服务模块i的数据共享服务请求,根据数据共享服务的请求,确定存储被请求数据的数据库模块j,及其数据库模块j的所在节点j,通过通信模块调用该节点j区块链模块j中的访问控制模块,访问所在节点j数据库模块j的数据,产生一条数据共享记录,并写入存储模块中该请求数据所对应的共享记录信息,该节点j通过通信模块将请求数据反馈给发起数据共享服务请求节点i的共享模块,共享模块将请求数据传输到数据服务模块i。

数据服务模块i,通过访问区块链模块i的共享模块对用户提供遥感数据的查询下载共享服务。用户可以通过输入遥感数据的经纬度,城市名以及时间等数据进行查询。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1