一种基于区块链技术的物联网大坝监测系统架构方法
文献发布时间:2023-06-19 12:05:39
技术领域
本发明涉及物联网技术领域,尤其涉及一种基于区块链技术的物联网大坝监测系统架构方法。
背景技术
为了确保大坝的安全性,通常需要在暴雨来临之前、暴雨来临之时以及暴雨来临之后对大坝的水深进行测量,因此,不断监测大坝水库中的水位和天气情况是至关重要的。但是由于大坝周围环境干扰、监控设备布置稀疏等原因,无法有效保证大坝监测数据来源的可靠性、数据传输过程中的安全性以及无法阻挡外界对数据的潜在攻击性,导致大坝监测数据不可靠和不安全。
例如,中国专利文献CN108613701A公开了“一种大坝的远程监测系统及方法”,大坝监测设备、地面终端、由多颗物联网数据通信卫星组成的物联网星座、地面中心和监测平台;大坝监测设备用于采集被监测大坝的状态数据,并将被监测大坝的状态数据发送至地面终端;地面终端用于接收状态数据,并将该状态数据发送至物联网星座中的物联网数据通信卫星,物联网数据通信卫星用于接收状态数据,将该状态数据发送至地面中心,地面中心进一步将接收到的数据发送至监测平台;监测平台用于基于接收到的状态数据和预设的安全警戒阈值,判断被监测大坝是否存在安全隐患。上述专利的不足之处在于无法保证数据传输的安全性以及无法阻挡外界对数据的攻击。
发明内容
本发明主要解决原有的大坝监测数据安全性和可靠性较差的技术问题;提供一种基于区块链技术的物联网大坝监测系统架构方法,采用了区块链(BC)技术,可以有效的保证大坝监测数据来源的可靠性,数据传输的安全性以及预防潜在的数据攻击。
本发明的上述技术问题主要是通过下述技术方案得以解决的:本发明包括以下步骤:
S1、无人机云从固定收集点(CP)处收集到来自传感云采集的数据并将其传输给无人机提供商:
S2、无人机代理接收大坝监测中心(DMC)发送的数据请求并选择用于处理数据请求的无人机提供商,同时生成发票并将发票发送至大坝监测中心;
S3、大坝监测中心验证是否收到包含所有元组的发票,若是,则向无人机代理付款;反之,则拒接付款;
S4、无人机代理收到付款后核实无人机提供商的发票,核实无误后向无人机提供商付款;
S5、无人机提供商收到付款后,向对应的固定收集点付款,并选择对应的无人机云从而将数据发送给大坝监测中心。
本发明方法采用了区块链(BC)技术,可以有效的保证大坝监测数据来源的可靠性,数据传输的安全性以及预防潜在的数据攻击;使用无人机云进行数据传输,可以有效解决面积大而基础设施较少、部署的传感器形成遥远且孤立的小云地区的数据传输问题;采用传感云可以提高整个监测系统的可扩展性。
作为优选,所述的步骤S2具体包括:
S21、大坝监测中心向无人机代理发送数据请求;
S22、无人机代理接收到大坝监测中心的数据请求后,选择用于处理数据请求的无人机提供商;
S23、无人机代理根据数据请求检索其所有相对应的元组,生成包含有与数据请求相关联的锚定到区块链(BC)的元组列表发票,并将发票发送至大坝监测中心。
作为优选,所述的步骤S21具体包括:
大坝监测中心根据请求时间定期生成数据请求或在事件发生时生成数据请求,请求时间可以根据大坝的实质水质或水位进行调整。大坝监测中心生成的数据请求Req
Req
大坝监测中心将生成的数据请求Req
作为优选,所述的步骤S22具体包括:
无人机代理接收到请求Req
无人机代理将生成的请求Req
无人机提供商接收到请求Req
无人机提供商选择无人机命令其飞越请求位置,同时将请求Req
无人机接收到请求Req
通过验证的无人机提供商和无人机即为被选择用于处理数据请求。
作为优选,所述的步骤S3具体包括:
S31、大坝监测中心在接收到发票后,计算请求支付的持续时间和数据报告的持续时间,将请求支付的持续时间和数据报告的持续时间相加得到延迟时间之和,将延迟时间之和与最大持续时间进行比较,若延迟时间之和大于最大持续时间,则大坝监测中心不对发票进行验证,拒接向无人机代理付款,反之,则大坝监测中心对发票进行验证;
S32、大坝监测中心确认对发票进行验证后,访问无人机提供商的安全平台,提取元组列表中各元组的身份;
S33、大坝监测中心向区块链发送请求并接收区块链返回的BC收据;
S34、将计算得到的散列和BC收据中的目标哈希值进行比对验证,若相同,则验证通过,反之则验证不通过;
S35、重复步骤S33和S34,若元组列表中各个元组都验证通过,则向无人机代理付款,反之,则拒接向无人机代理付款。
作为优选,所述的步骤S33和S34之间还包括如下步骤:
大坝监测中心对BC收据的格式和内容进行验证,若元组的摩尔根存储在BC中,则验证通过,进行步骤S34,反之则验证不通过,拒接向无人机代理付款。
作为优选,所述的无人机代理通过以下方法核实无人机提供商的发票:将无人机提供商的发票中包含的元组与步骤S3中大坝监测中心接收的发票中包含的元组进行比对,若比对一致,则无人机提供商的发票核实无误,反之,则无人机提供商的发票核实有误。
作为优选,所述的步骤S5具体包括:
无人机提供商收到付款后,向对应的固定收集点支付传感任务的费用;
固定收集点接收到支付费用后,注册数据请求的最后时间戳;
固定收集点将汇总的数据构成一个元组Tuple
固定收集点将元组Tuple
无人机从固定收集点接收所有经私钥签名后的元组,并将其转发给无人机提供商,无人机提供商将所有经私钥签名后的元组构造成一个连接元组块Block= 本发明的有益效果是:本发明方法采用了区块链(BC)技术,可以有效的保证大坝监测数据来源的可靠性,数据传输的安全性以及预防潜在的数据攻击;使用无人机云进行数据传输,可以有效解决面积大而基础设施较少、部署的传感器形成遥远且孤立的小云地区的数据传输问题;采用传感云可以提高整个监测系统的可扩展性。 附图说明 图1是本发明的一种方法流程示意图。 图2是本发明的一种系统架构示意图。 具体实施方式 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。 实施例:本实施例的一种基于区块链技术的物联网大坝监测系统架构方法,如图1~2所示,包括以下步骤: S1、无人机云从固定收集点(CP)处收集到来自传感云采集的数据并将其传输给无人机提供商: 其中传感云包括若干个传感器小云,每个传感器小云包括一组传感器和一个气象站,每个传感器小云都有其相对应的固定收集点。传感器和气象站分散部署在大坝的监测区域,传感器和气象站收集环境中的各项数据,包括但不限于天气数据、水质数据和水位数据等。固定收集点将其所对应的传感器小云中传感器和气象站收集的各项数据汇聚收集,无人机云从固定收集点获取其汇聚收集的各项数据,并上传至无人机提供商。 在大型且基础设施较差的区域(例如大坝站点),采用云概念,可以增加每个传感器小云中传感器和气象站的数量或者增加传感云中传感器小云的数量,也可以增加更多的无人机提供商,以此在提高整个监测系统的可扩展性的同时并不影响数据的传递。 S2、无人机代理接收大坝监测中心(DMC)发送的数据请求并选择用于处理数据请求的无人机提供商,同时生成发票并将发票发送至大坝监测中心,具体包括以下步骤: S21、大坝监测中心向无人机代理发送数据请求: 大坝监测中心根据请求时间定期生成数据请求或在事件发生时生成数据请求,请求时间可以根据大坝的实质水质或水位进行调整。大坝监测中心生成的数据请求Req Req 大坝监测中心将生成的数据请求Req S22、无人机代理接收到大坝监测中心的数据请求后,选择用于处理数据请求的无人机提供商: 无人机代理接收到请求Req 无人机代理将生成的请求Req 无人机提供商接收到请求Req 无人机提供商选择无人机命令其飞越请求位置,同时将请求Req 无人机接收到请求Req 通过验证的无人机提供商和无人机即为被选择用于处理数据请求; S23、无人机代理根据数据请求检索其所有相对应的元组,生成包含有与数据请求相关联的锚定到区块链(BC)的元组列表发票,并将发票发送至大坝监测中心。 S3、大坝监测中心验证是否收到包含所有元组的发票,若是,则向无人机代理付款;反之,则拒接付款; 步骤S3具体包括以下步骤: S31、大坝监测中心在接收到发票后,计算请求支付的持续时间和数据报告的持续时间,将请求支付的持续时间和数据报告的持续时间相加得到延迟时间之和,将延迟时间之和与最大持续时间进行比较,若延迟时间之和大于最大持续时间,则大坝监测中心不对发票进行验证,拒接向无人机代理付款,反之,则大坝监测中心对发票进行验证; S32、大坝监测中心确认对发票进行验证后,访问无人机提供商的安全平台,提取元组列表中各元组的身份; S33、大坝监测中心向区块链发送请求并接收区块链返回的BC收据; S34、大坝监测中心对BC收据的格式和内容进行验证,若元组的摩尔根存储在BC中,则验证通过,进行步骤S34,反之则验证不通过,拒接向无人机代理付款; S35、将计算得到的散列和BC收据中的目标哈希值进行比对验证,若相同,则验证通过,反之则验证不通过; S36、重复步骤S33~S35,若元组列表中各个元组都验证通过,则向无人机代理付款,反之,则拒接向无人机代理付款。 S4、无人机代理收到付款并核实无人机供应商的发票后继续向提供商付款,无人机代理通过以下方法核实无人机提供商的发票:将无人机提供商的发票中包含的元组与步骤S3中大坝监测中心接收的发票中包含的元组进行比对,若比对一致,则无人机提供商的发票核实无误,反之,则无人机提供商的发票核实有误。 S5、无人机提供商收到付款后,向对应的CP付款,并选择对应的无人机云从而将数据发送给大坝监测中心(DMC),具体包括: 无人机提供商收到付款后,向对应的固定收集点支付传感任务的费用; 固定收集点接收到支付费用后,注册数据请求的最后时间戳; 固定收集点将汇总的数据构成一个元组Tuple
固定收集点将元组Tuple 无人机从固定收集点接收所有经私钥签名后的元组,并将其转发给无人机提供商,无人机提供商将所有经私钥签名后的元组构造成一个连接元组块Block= 在向大坝监测中心发送数据之后,无人机提供商散列元组,构造一个由连接的散列元组组成的块 Block hash(Tuple ACK也是散列的,无人机提供商将元组和ACK都上传到BC中,因此散列元组和ACK都将存储在数据存储中,这可以通过层级来实现,因为它提供了一个向BC上传和发布数据的平台。执行中,每个元组都将被散列,然后与其他元组一起存储在BC网络中的一个事务中,并最终转换为默克尔树节点,根节点将锚定在遵循Chainpoint3.0协议的BC事务中,该协议为每个元组提供时间戳证明。每个被散列化的元组都有一个标识,用于检索BC收据(即验证交易的证据),无人机提供商检索哈希元组的身份,然后,提供商将哈希元组存储在一个可由DMC访问的安全平台上,以便进行完整性验证,平台为每个请求存储:序列号、元组数、它们的CP以及散列元组的标识,并由无人机代理和固定收集点对无人机供应商的支付任务进行验证。
- 一种基于区块链技术的物联网大坝监测系统架构方法
- 一种基于区块链技术的物联网设备OTA升级的双向认证方法