一种基于区块链的工业物联网容错时间同步方法和系统技术方案

技术编号:26177720 阅读:40 留言:0更新日期:2020-10-31 14:23
本发明专利技术公开了一种基于区块链的工业物联网容错时间同步方法和系统,包括:记录数据:簇内节点自身时间、簇头节点广播时间;采用最小二乘法,构建簇节点时钟模型;根据簇节点时钟模型,预测簇节点时间;在簇节点同步前计算簇头节点广播时间与簇头节点预测时间的偏差,当偏差小于阈值时,簇节点正常进行时间同步,否则簇节点通过广播方式发起共识请求;当簇内节点收到共识请求广播包后,组成一个区块链;并通过发起共识请求、广播自身时间、公布结果与达成共识的共识机制共享所有簇节点的时间同步信息。基于区块链共识机制的容错时间同步方法可以容忍f个簇头节点发生故障或被攻击,有效提高了工业物联网时间同步协议在复杂环境下可靠性与安全性。

【技术实现步骤摘要】
一种基于区块链的工业物联网容错时间同步方法和系统
本专利技术涉及物联网网络安全
,更具体的涉及一种基于区块链的工业物联网容错时间同步方法和系统。
技术介绍
工业物联网应用对实时性和低功耗有着苛刻要求,载波监听多路访问CSMA协议无法满足这方面性能要求。目前,大部分工业物联网中通信协议是基于时分多址TDMA协议,比如WirelessHART、ISA100.11a与IEEE802.15.4e等工业无线国际标准。高精度时间同步是基于时分多址TDMA协议中核心支撑技术。工业物联网通常由几千甚至上万个资源受限的无线传感器节点组成,然后将数据流汇聚到边界路由器,边界路由器通过IPv6网络与远程服务器进行互联互通。由于工业物联网包含节点比较多,通常会划分为多个簇。每个簇里面通常有几十个甚至上百个节点,这些节点需要保持精确的时间同步,从而可以更好地相互协作完成任务。比如,当某个时间段无数据包传输时,簇内所有节点同时进入休眠状态,从而可以延长网络寿命;在目标追踪应用中,需要依赖精确时间信息计算物体位置和速度。为了高效地进行同步,簇头节点周期性广播时间同步包,簇内其它节点接收来自簇头广播时间后进行时间同步。然而这种方法存在以下缺陷:工业物联网簇头节点有时候会发生故障,导致广播错误时间同步信息;工业物联网簇内可能存在部分恶意节点,当恶意节点当选簇头时,其通过广播错误时间信息破坏正常时间同步。
技术实现思路
本专利技术实施例提供一种基于区块链的工业物联网容错时间同步方法和系统,用以解决上述
技术介绍
中提出的问题。本专利技术实施例提供一种基于区块链的工业物联网容错时间同步方法,包括:获取工业物联网的簇节点;所述簇节点包括:簇头节点和簇内节点;簇头节点周期性广播时间同步包;簇内节点接收簇头节点广播时间同步包,并记录数据:簇内节点自身时间、簇头节点广播时间;采用最小二乘法,构建簇节点时钟模型;根据簇节点时钟模型,预测簇节点时间;并在簇节点同步前计算簇头节点广播时间与簇头节点预测时间的偏差,当偏差小于阈值时,簇节点正常进行时间同步,否则,簇节点通过广播方式发起共识请求;当簇内节点收到共识请求广播包后,组成一个区块链;并通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息。进一步地,所述采用最小二乘法,构建簇节点时钟模型,具体包括:所述簇节点时钟模型,满足线性函数:C(t)=αt+β其中,α表示簇节点时间与真实时间之间的偏差率,β表示起始时间偏差;且采用基于密度的聚类算法剔除记录数据中异常数据,采用最小二乘法计算出簇节点时间与真实时间之间的偏差率α和起始时间偏差β。进一步地,所述阈值的确定,包括:参考晶振手册中实际测量最大时钟偏移率,结合同步周期,确定阈值。进一步地,所述通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息,具体包括:当共识结果同意簇头节点广播时间正确时,簇节点正常进行时间同步,否则,簇内其它节点接收发起簇内节点的广播请求包,解析出时间信息后进行对比分析,根据时钟模型判断出时间信息是否异常,若判断异常,将广播带有身份签名的自身时间信息与异常指示位;共识请求发起簇节点接收簇内其它节点广播时间信息后进行信息提取,包括:簇内节点身份标识和异常指示位信息,当簇内节点数为3f+1时,存在2f+1节点发送了异常指示位时,则共识结果认为簇头节点有可能发生故障或被攻击,同时公布簇内所有簇节点身份标识、异常指示位信息和共识结果,否则,正常进行时间同步;簇内其它节点验证公布信息的真伪,并达成最终共识。本专利技术实施例提供的基于区块链的工业物联网容错时间同步方法,还包括:当簇内节点共识结果认为当前簇头节点有可能发生故障或被攻击时,簇内节点将簇头节点身份标识放入黑名单,并过滤来自簇头节点广播时间包。本专利技术实施例还提供一种基于区块链的工业物联网容错时间同步系统,包括:簇节点获取模块,用于获取工业物联网的簇节点;所述簇节点包括:簇头节点和簇内节点;时间同步信息收集模块,用于簇头节点周期性广播时间同步包;簇内节点接收簇头节点广播时间同步包,并记录数据:簇内节点自身时间、簇头节点广播时间;时钟模型构建模块,用于采用最小二乘法,构建簇节点时钟模型;时间同步异常分析模块,用于根据簇节点时钟模型,预测簇节点时间;并在簇节点同步前计算簇头节点广播时间与簇头节点预测时间的偏差,当偏差小于阈值时,簇节点正常进行时间同步,否则,簇节点通过广播方式发起共识请求;时间同步信息共享模块,用于当簇内节点收到共识请求广播包后,组成一个区块链;并通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息。进一步地,所述时钟模型构建模块,具体用于:所述簇节点时钟模型,满足线性函数:C(t)=αt+β其中,α表示簇节点时间与真实时间之间的偏差率,β表示起始时间偏差;且采用基于密度的聚类算法剔除记录数据中异常数据,采用最小二乘法计算出簇节点时间与真实时间之间的偏差率α和起始时间偏差β。进一步地,所述时间同步异常分析模块包括:阈值确定单元;所述阈值确定单元,用于参考晶振手册中实际测量最大时钟偏移率,结合同步周期,确定阈值。进一步地,所述时间同步信息共享模块,具体用于:当共识结果同意簇头节点广播时间正确时,簇节点正常进行时间同步,否则,簇内其它节点接收发起簇内节点的广播请求包,解析出时间信息后进行对比分析,根据时钟模型判断出时间信息是否异常,若判断异常,将广播带有身份签名的自身时间信息与异常指示位;共识请求发起簇节点接收簇内其它节点广播时间信息后进行信息提取,包括:簇内节点身份标识和异常指示位信息,当簇内节点数为3f+1时,存在2f+1节点发送了异常指示位时,则共识结果认为簇头节点有可能发生故障或被攻击,同时公布簇内所有簇节点身份标识、异常指示位信息和共识结果,否则,正常进行时间同步;簇内其它节点验证公布信息的真伪,并达成最终共识。本专利技术实施例提供的基于区块链的工业物联网容错时间同步系统,还包括:过滤模块,用于当簇内节点共识结果认为当前簇头节点有可能发生故障或被攻击时,簇内节点将簇头节点身份标识放入黑名单,并过滤来自簇头节点广播时间包。本专利技术实施例提供一种基于区块链共识机制的工业物联网容错时间同步方法和系统,与现有技术相比,其有益效果如下本专利技术实施例中,在一个分簇的工业物联网中,簇头节点周期性广播时间同步包,簇内节点接收来自簇头节点广播时间包后进行同步,考虑到工业物联网簇头节点可能会发生故障或被攻击,簇内节点通过基于时钟模型的预测技术检测同步是否异常;当发现同步异常后,簇内节点组成一个区块链,通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有节点的时间同步信息,从而达到时间一致性。当工业物联网本文档来自技高网...

【技术保护点】
1.一种基于区块链的工业物联网容错时间同步方法,其特征在于,包括:/n获取工业物联网的簇节点;所述簇节点包括:簇头节点和簇内节点;/n簇头节点周期性广播时间同步包;簇内节点接收簇头节点广播时间同步包,并记录数据:簇内节点自身时间、簇头节点广播时间;/n采用最小二乘法,构建簇节点时钟模型;/n根据簇节点时钟模型,预测簇节点时间;并在簇节点同步前计算簇头节点广播时间与簇头节点预测时间的偏差,当偏差小于阈值时,簇节点正常进行时间同步,否则,簇节点通过广播方式发起共识请求;/n当簇内节点收到共识请求广播包后,组成一个区块链;并通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息。/n

【技术特征摘要】
1.一种基于区块链的工业物联网容错时间同步方法,其特征在于,包括:
获取工业物联网的簇节点;所述簇节点包括:簇头节点和簇内节点;
簇头节点周期性广播时间同步包;簇内节点接收簇头节点广播时间同步包,并记录数据:簇内节点自身时间、簇头节点广播时间;
采用最小二乘法,构建簇节点时钟模型;
根据簇节点时钟模型,预测簇节点时间;并在簇节点同步前计算簇头节点广播时间与簇头节点预测时间的偏差,当偏差小于阈值时,簇节点正常进行时间同步,否则,簇节点通过广播方式发起共识请求;
当簇内节点收到共识请求广播包后,组成一个区块链;并通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息。


2.如权利要求1所述的基于区块链的工业物联网容错时间同步方法,其特征在于,所述采用最小二乘法,构建簇节点时钟模型,具体包括:
所述簇节点时钟模型,满足线性函数:
C(t)=αt+β
其中,α表示簇节点时间与真实时间之间的偏差率,β表示起始时间偏差;且采用基于密度的聚类算法剔除记录数据中异常数据,采用最小二乘法计算出簇节点时间与真实时间之间的偏差率α和起始时间偏差β。


3.如权利要求1所述的基于区块链的工业物联网容错时间同步方法,其特征在于,所述阈值的确定,包括:
参考晶振手册中实际测量最大时钟偏移率,结合同步周期,确定阈值。


4.如权利要求1所述的基于区块链的工业物联网容错时间同步方法,其特征在于,所述通过发起共识请求、广播自身时间、公布结果与达成共识四个阶段的共识机制来共享所有簇节点的时间同步信息,具体包括:
当共识结果同意簇头节点广播时间正确时,簇节点正常进行时间同步,否则,簇内其它节点接收发起簇内节点的广播请求包,解析出时间信息后进行对比分析,根据时钟模型判断出时间信息是否异常,若判断异常,将广播带有身份签名的自身时间信息与异常指示位;共识请求发起簇节点接收簇内其它节点广播时间信息后进行信息提取,包括:簇内节点身份标识和异常指示位信息,当簇内节点数为3f+1时,存在2f+1节点发送了异常指示位时,则共识结果认为簇头节点有可能发生故障或被攻击,同时公布簇内所有簇节点身份标识、异常指示位信息和共识结果,否则,正常进行时间同步;簇内其它节点验证公布信息的真伪,并达成最终共识。


5.如权利要求1所述的基于区块链的工业物联网容错时间同步方法,其特征在于,还包括:
当簇内节点共识结果认为当前簇头节点有可能发生故障或被攻击时,簇内节点将簇头节点身份标识放入黑名单,并过滤来自簇头节点广播时间包。


6.一种基于区块链的工业物联网...

【专利技术属性】
技术研发人员:杨伟汪浩蒋长根曹远龙章志明李萍
申请(专利权)人:江西师范大学
类型:发明
国别省市:江西;36

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

1