基于雾计算和区块链平台的分布式气象站系统及工作方法技术方案

技术编号:25230687 阅读:35 留言:0更新日期:2020-08-11 23:18
本发明专利技术提供一种基于雾计算和区块链平台的分布式气象站系统,包括多个气象站、多个与所述气象站同分布的雾节点和一区块链平台,每个气象站只与一个雾节点通信连接,每个雾节点均与位于其通信范围内的多个气象站通信连接并作为该气象站的路由和存储节点,每个雾节点均与所述区块链平台通信连接,所述区块链平台为用户提供查询接口。本发明专利技术还提供其工作方法。本发明专利技术的分布式气象站系统利用雾节点作为多个气象站的路由和存储节点,增强了气象站的数据存储能力;且采用区块链平台,将广泛分布的气象站整合并提供一个服务平台,可令任意用户通过平台购买气象站服务。

【技术实现步骤摘要】
基于雾计算和区块链平台的分布式气象站系统及工作方法
本专利技术属于信息
,具体涉及一种基于雾计算和区块链平台的分布式气象站系统及工作方法。
技术介绍
随着我国信息技术的发展,物联网技术也有了长足的进步,各类传感器以及嵌入式设备都的体积越来越小,而性能则越来越强。而借助于各类精确的传感器以及强大的嵌入式设备所制造的气象站,极大地方便了我们获取指定位置的气象数据。分布式气象站用于采集气象站所在区域的气象数据。一般的气象站,体积庞大,较为笨重,多用于采集固定地点气象数据,成本较高,不能做到广泛分布。目前出现的微型气象站体积较小,方便移动,可以广泛部署在任何一个角落。然而,一方面多用于交通,农业等外界环境,只能为单一的机构提供服务,面对着大量分布的气象站,缺少一个能够把位置各异、各自独立的气象站聚集在一起,以统一向用户提供气象数据获取服务的整合平台,这导致了微型气象站的使用受限,难以充分发挥其移动简易,易于部署,广泛分布的特点。此外,对于大量分布的气象站,面对海量数据的存储需求,一种现有技术是采用边缘存储,即数据完全存储在各个气象站上。然而,一般的微型气象站只负责数据的采集发送,本身不对数据做存储,缺少数据存储能力,由于MCU如arduino系列的存储容量大概仅仅为几KB到几十KB,如果想要存储连续几年的数据,无法仅仅靠气象站的微控制单元(MCU)实现,这也就导致传统微型气象站在保存、获取历史数据上力有未逮。如果另外采用具有几十GB的存储容量的雾节点代替MCU,使得气象站自身具备雾节点,把雾节点作为边缘设备使用,则需要部署大量雾节点,成本太高。另一种现有技术是云存储,即包括气象站系统包括气象站加中心服务器,大量分布的气象站通过路由向中心服务器发送数据,数据直接存储在中心服务器上,中心服务器被当做云端设备使用。然而,由于中心服务器的覆盖范围有限,其不能作为路由使用,因此距离较远的不同地区的气象站需要各自配置自己的路由才能连接上服务器,路由成本较高,且中心服务器需要同时处理来自所有气象站的数据,对中心服务器的存储和运算能力的要求很高,因此提高了成本。采用中心服务器进行中心化存储还存在安全性的问题,一旦机器故障,会丢失所有数据。物联网技术是通过信息传感设备,按照约定协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。物联网技术主要分为四个层次:感知技术、传输技术、支撑技术、应用技术。感知技术:能够用于物联网底层感知信息的技术。它包括射频识别(RFID)技术、传感器技术、GPS定位技术、多媒体信息采集技术及二维码技术等;传输技术:能够汇聚感知数据,并实现物联网数据传输的技术,它包括互联网、移动通信网、无线网络、卫星通信、短距离无线通信等。支撑技术:用于物联网数据处理和利用的技术,它包括嵌入式系统、云计算技术、人工智能技术、大数据库与机器学习技术、分布式并行计算和多媒体与虚拟现实等。应用技术:用于直接支持物联网应用系统运行的技术:专家系统、系统集成技术、编解码技术。区块链技术本质上是一种分布式存储技术,最开始用于数字货币存储以及加密,具有以下特点:去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过分布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。1、开放性。区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。2、独立性。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。3、安全性。只要不能掌控全部数据节点的一半以上,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。
技术实现思路
本专利技术的目的在于提供一种基于雾计算和区块链平台的分布式气象站系统及其工作方法,以增强气象站的存储能力,降低成本,同时解决气象数据发布平台的问题。为了实现上述目的,本专利技术提供了一种基于雾计算和区块链平台的分布式气象站系统,包括多个气象站、多个与所述气象站同分布的雾节点和一区块链平台,每个气象站只与一个雾节点通信连接,每个雾节点均与位于其通信范围内的多个气象站通信连接并作为该气象站的路由和存储节点,每个雾节点均与所述区块链平台通信连接,所述区块链平台为用户提供查询接口。每个气象站均包括彼此相连的一感知层和一MCU,所述感知层包括多个传感器。所述MCU具有wifi功能,气象站通过所述MCU与所述雾节点通信连接;或者MCU本身不支持wifi,每个气象站还包括一wifi模块,通过所述wifi模块与所述雾节点通信连接。所述雾节点支持MQTT协议并通过MQTT协议来与所述气象站、区块链平台通信连接。另一方面,本专利技术提供一种基于雾计算和区块链平台的分布式气象站系统的工作方法,包括:S1:提供一基于雾计算和区块链平台的分布式气象站系统,其包括多个气象站、多个与所述气象站同分布的雾节点和一区块链平台,每个气象站只与一个雾节点通信连接,每个雾节点均与位于其通信范围内的多个气象站通信连接并作为该气象站的路由和存储节点,每个雾节点均与所述区块链平台通信连接,所述区块链平台为用户提供查询接口;S2:每个气象站分别将数据采集并发布,并由对应的雾节点订阅并存储;S3:用户在区块链平台上指定要查询的气象站和参数,区块链平台相应地在雾节点中查询并获取指定的气象站和参数的数据,并返回给用户。所述步骤S3包括:S31:将对应于各个气象站的通信脚本打包成为docker镜像部署在在线存储库dockerhub上,所述docker镜像的id被注册在区块链平台上,作为商品供用户选择;S32:用户通过在区块链平台上选择对应于要查询的气象站的通信脚本,并指定参数,发起相应的下单调度请求;S33:区块链平台通过所述docker镜像的id拉取所述通信脚本的docker镜像并执行,雾节点根据所述下单调度请求查询指定的气象站和参数的数据,区块链平台获取指定的气象站和参数的数据,并返回给用户。所述雾节点支持MQTT协议并可以直接通过MQTT协议与区块链平台通信连接;在所述步骤S31之前,在各个气象站投入使用时,将其topic分别从对应的雾节点注册到各个通信脚本中,以得到对应于各个气象站的通信脚本。在所述步骤S32中,用户在区块链平台上注册,获得自己的数字货币钱包,并通过消耗所述数字货币钱包中的数字货币来发起相应的下单调度请求。在获取指定的气象站和参数的数据时,区块链平台通过链上多个空闲计算资源同时去获取指定的气象站和参数的数据并进行比较。所述步骤S2包括:S21:气象站对数据进行采集、本文档来自技高网
...

【技术保护点】
1.一种基于雾计算和区块链平台的分布式气象站系统,其特征在于,包括多个气象站(1)、多个与所述气象站(1)同分布的雾节点(2)和一区块链平台(3),每个气象站(1)只与一个雾节点(2)通信连接,每个雾节点(2)均与位于其通信范围内的多个气象站(1)通信连接并作为该气象站(1)的路由和存储节点,每个雾节点(2)均与所述区块链平台(3)通信连接,所述区块链平台(3)为用户(4)提供查询接口。/n

【技术特征摘要】
1.一种基于雾计算和区块链平台的分布式气象站系统,其特征在于,包括多个气象站(1)、多个与所述气象站(1)同分布的雾节点(2)和一区块链平台(3),每个气象站(1)只与一个雾节点(2)通信连接,每个雾节点(2)均与位于其通信范围内的多个气象站(1)通信连接并作为该气象站(1)的路由和存储节点,每个雾节点(2)均与所述区块链平台(3)通信连接,所述区块链平台(3)为用户(4)提供查询接口。


2.根据权利要求1所述的基于雾计算和区块链平台的分布式气象站系统,其特征在于,每个气象站(1)均包括彼此相连的一感知层(11)和一MCU(12),所述感知层(11)包括多个传感器。


3.根据权利要求2所述的基于雾计算和区块链平台的分布式气象站系统,其特征在于,所述MCU(12)具有wifi功能,气象站(1)通过所述MCU(12)与所述雾节点(2)通信连接;或者MCU(12)本身不支持wifi,每个气象站(1)还包括一wifi模块,通过所述wifi模块与所述雾节点(2)通信连接。


4.根据权利要求1所述的基于雾计算和区块链平台的分布式气象站系统,其特征在于,所述雾节点(2)支持MQTT协议并通过MQTT协议来与所述气象站(1)、区块链平台(3)通信连接。


5.一种基于雾计算和区块链平台的分布式气象站系统的工作方法,其特征在于,包括:
步骤S1:提供一基于雾计算和区块链平台的分布式气象站系统,其包括多个气象站(1)、多个与所述气象站(1)同分布的雾节点(2)和一区块链平台(3),每个气象站(1)只与一个雾节点(2)通信连接,每个雾节点(2)均与位于其通信范围内的多个气象站(1)通信连接并作为该气象站(1)的路由和存储节点,每个雾节点(2)均与所述区块链平台(3)通信连接,所述区块链平台(3)为用户(4)提供查询接口;
步骤S2:每个气象站(1)分别将数据采集并发布,并由对应的雾节点(2)订阅并存储;
步骤S3:用户(4)在区块链平台(3)上指定要查询的气象站(1)和参数,区块链平台(3)相应地在雾节点(2)中查询并获取指定的气象站(1)和参数的数据,并返回给用户(4)。


6.根据权利要求5所述的基于雾计算和区块链平台的分布式气象站系统的工作方法,其特征在于,所述步骤S3包括:
步骤S31:将对应于各个气象站(1)的通信脚本打包成为docker镜像部署在在线存储库dockerhub上,所述docker镜像的id被注册在区块链平台上,作为商品供用户(4)选择;
步骤S32:用户(4)通过在区块链平台(3)上选择对应于要查询的气象站(1)的通信脚本,并指定参数,发起相应的下单调度请求;
步骤S33:区块链平台(3)通过所述docker镜像的id拉取所述通信脚本的docker镜像并执行,雾节点(2)根据所述下单调度请求查询指定的气象站(1)和参数的数据,区块链平台(3)获取指定的气象站(1)和参数的数据,并返回给用户(4)。


7.根据权利要求6所述的基于雾计算和区块链平台的分布式气象站系统的工作方...

【专利技术属性】
技术研发人员:任天锋周明拓沈国锋
申请(专利权)人:中国科学院上海微系统与信息技术研究所
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1