CN108521661B - 一种基于区块链技术的无线传感器网络路由方法 - Google Patents
一种基于区块链技术的无线传感器网络路由方法 Download PDFInfo
- Publication number
- CN108521661B CN108521661B CN201810334760.4A CN201810334760A CN108521661B CN 108521661 B CN108521661 B CN 108521661B CN 201810334760 A CN201810334760 A CN 201810334760A CN 108521661 B CN108521661 B CN 108521661B
- Authority
- CN
- China
- Prior art keywords
- leader cluster
- cluster node
- node
- account book
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于区块链技术的无线传感器网络路由方法,采用区块链的去中心化和共识机制等技术解决传统的LEACH和HEED路由方法中常见的簇头节点集中在网络某一区域的现象导致的一些节点的周围没有任何簇头节点以及节点能量不均衡的网络的问题。本发明使被选的簇头节点分散在网络中的各个区块,使得所有节点的周围随时都有簇头节点,负载均衡簇头节点消耗的能量,能够有效的延长无线传感器网络的使用周期,提高传输效率,大大的减少了路由表的负载,简化了路由表。
Description
技术领域
本发明属于无线传感器网络路由领域,具体涉及一种基于区块链技术的无线传感器网络路由方法。
背景技术
传统无线传感器网络中的节点的能量是有限的,在其电能耗尽时一般不能再次补充能量或者不易再次补充能量,只能通过各种节能算法尽量减小能量的耗损,能量耗尽时该节点即失去工作能力,严重影响了整个WSN网络的使用效果与生命周期,因此WSN网络中存在着一个严重的能量约束的问题,所以,对于WSN网络协议设计的首要目标就是要高效地使用每一个传感器节点的能量,从而延长网络的节点的存活时间,这个多学科交叉的研究方向一直都是针对该领域研究的一个热点问题。
传统的无线传感器的路由分簇方法有LEACH路由协议、HEED路由协议,均为以分簇的簇头节点为核心的中心式路由协议,虽然分簇解决的问题可以有效的消除数据冗余,促进网内数据融合,减少了通信量和通信距离,但是很可能出现被选的簇头节点集中在网络某一区域的现象,这样就会使得一些节点的周围没有任何簇头节点,由于LEACH和HEED假定在最初的簇头选择回合中,所有的节点都携带相同的能量,并且每个成为簇头的节点都消耗大致相同的能量。因此,协议不适合节点能量不均衡的网络。而采用区块链技术去中心化,避免重复计算,去中心化是一个相对的概念,随着去中心程度的不同,其采用的共识机制并不一样,表现出来的共识方式也不一样,本质上是所有传感器节点都遵循了同一个协议,这个协议中规定了所有节点都遵守同一个共识算法,依靠该算法使所有节点数据保持一致,依靠共识算法来选择传感器节点的数据源是一种去中心化的方法,与中心化***的区别在于,传统的无线传感器网络的中心化***的各个簇区一般在一个特定时间内是单独的一个簇头节点用于传输数据。
发明内容
本公开的目的是针对现有技术的不足,提供一种基于区块链技术的无线传感器网络路由方法,采用区块链技术去中心化,使被选的簇头节点分散在网络中的各个区块,使得所有节点的周围随时都有簇头节点,负载均衡簇头节点消耗的能量。
为了实现上述目的,本公开提出一种基于区块链技术的无线传感器网络路由方法,具体包括以下步骤:
步骤1,部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
步骤2,在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
步骤3,各区块的簇头节点在全网广播ID号和剩余能量信息;
步骤4,获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
步骤5,依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
步骤6,各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
步骤7,通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
步骤8,运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径创建路由表;
步骤9,各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
进一步地,在步骤1中,所述部署无线传感器网络的方式为随机部署,所述以LEACH算法将网络分簇的方法为传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇头,
T(n)按照下列公式计算:,
式中:P为节点成为簇头节点的百分数,r为当前轮数,G为在最近的1/P 轮中未当选簇头的节点集合,mod函数为求余函数,簇头节点选定后,广播自己成为簇头的消息,节点根据接收到的消息的强度决定加入哪个簇,并告知相应的簇头,完成簇的建立过程。然后,簇头节点采用TDMA的方式,为簇内成员分配传送数据的时隙,所述分簇有一个或多个簇头。
进一步地,在步骤2中,所述区块链***包括去中心化和去信任的多个分布式账本,每个分布式账本中记录多个代表分簇的区块;所述区块是一种记录各分簇内簇头节点的选举、轮换的过程的数据结构,反映了簇头节点的变化。***中已经选举出了簇头节点区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分,一个区块包含以下三部分:簇头节点信息、前一个区块形成的哈希散列。簇头节点信息是区块所承载的任务数据,具体包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明;前一个区块形成的哈希散列用来将区块连接起来,实现过往簇头节点选举、轮换的顺序排列;当簇头节点的剩余能量低于能量阈值时,所在簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点,能量剩余值最多和相对距离最小的两个传感器节点当选为新的簇头节点,簇区内的两个簇头节点与其它原簇区内的传感器节点生成一个新的区块,并广播到所有簇头节点进行更新,完成一次簇头节点选举、轮换。
进一步地,在步骤4中,所述相对位置信息根据各分布式账本获取到簇头节点广播信息时的传输延时的时长得到。
进一步地,在步骤5中,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量,该数据为经过SHA256哈希运算的递增值字符串。
进一步地,在步骤6中,所述以共识机制验证该簇头节点是否处于可用状态的方法为当通过验证的分布式账本总数量超过四分之三则确认该簇头节点通过证明并将其置于可用状态。
进一步地,在步骤7中,选定操作的步骤如下:
步骤7.1,向全部分布式账本发布通过验证的可用状态的簇头节点信息;
步骤7.2,当四分之三以上簇头节点验证通过则通过共识处理;
步骤7.3,将新选定的簇头节点及附加信息记录在区块链中;
步骤7.4,将该操作记录记录到区块链中,该簇头节点选定成功;
所述簇头节点信息包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明。
进一步地,在步骤8中,所述更新路由表的方法为:
步骤8.1,运行贪婪算法,判断路由路径是否已到达汇聚节点或者局部最小点;
步骤8.2,若已到达汇聚节点,则终止算法;若只是到达局部最小点,则在局部最小点处,通过分布式账本的区块边界发送探测包给下一跳的分布式账本中簇头节点来搜索传输路径,直至跳出局部最小点;
步骤8.3,在跳出局部最小点后,继续贪婪路由方法,若再遇到局部最小点,按照步骤8.2中的步骤处理。
进一步地,在步骤9中,
簇头节点删除操作的方法为,簇头节点的删除请求向区块链全部节点发布,经过区块链全部簇头节点的共识处理,通过共识后将簇头节点删除请求记录在区块链中,簇头节点删除操作结束,所述共识处理为当四分之三以上簇头节点验证通过则通过共识。
簇头节点更新操作的方法为:当簇头节点的剩余能量低于能量阈值时,所在簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点,能量剩余值最多和相对距离最小的两个传感器节点当选为新的簇头节点,簇区内的两个簇头节点与原簇区内的其余传感器节点生成一个新的区块,并广播到所有簇头节点进行更新,完成簇头节点选举、轮换,其中,所述能量阈值为传感器初始能量的三分之一。
本公开还提供了一种基于区块链技术的无线传感器网络路由装置,所述装置包括:
部署分簇单元,用于部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
区块链部署单元,用于在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
簇头广播单元,用于各区块的簇头节点在全网广播ID号和剩余能量信息;
簇头获取单元,用于获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
工作量请求单元,用于依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
共识验证单元,用于各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
选定单元,用于通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
路由创建单元,用于运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径更新路由表;
更新单元,用于各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
本公开的有益效果为:本公开采用区块链技术去中心化,以共识机制避免重复计算,减少了通信量和通信距离,使被选的簇头节点分散在网络中的各个区块,使得所有节点的周围随时都有簇头节点,负载均衡簇头节点消耗的能量,能够有效的延长无线传感器网络的使用周期,提高传输效率,大大的减少了路由表的负载,简化了路由表,本发明的路由方法优点在于替换簇头只需要以贪婪算法在局部范围内进行,由要被替换簇头节点所在的区块自行发起更新操作,无需整体的重新配置,使得替换代价较小,簇内节点耗能比较均衡。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为本公开的一种基于区块链技术的无线传感器网络路由方法的流程图;
图2所示为本公开的一种基于区块链技术的无线传感器网络路由装置图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
如图1所示为根据本公开的一种基于区块链技术的无线传感器网络路由方法的流程图,下面结合图1来阐述根据本公开的实施方式的基于区块链技术的无线传感器网络路由方法。
本公开提出一种基于区块链技术的无线传感器网络路由方法,具体包括以下步骤:
步骤1,部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
步骤2,在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
步骤3,各区块的簇头节点在全网广播ID号和剩余能量信息;
步骤4,获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
步骤5,依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
步骤6,各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
步骤7,通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
步骤8,运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径创建路由表,簇头节点开始传输数据;
步骤9,各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
进一步地,在步骤1中,所述部署无线传感器网络的方式为随机部署,所述以LEACH算法将网络分簇的方法为传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇头,
T(n)按照下列公式计算: ,
式中:P为节点成为簇头节点的百分数,r为当前轮数,G为在最近的1/P轮中未当选簇头的节点集合,mod函数为求余函数,簇头节点选定后,广播自己成为簇头的消息,节点根据接收到的消息的强度决定加入哪个簇,并告知相应的簇头,完成簇的建立过程。然后,簇头节点采用TDMA的方式,为簇内成员分配传送数据的时隙,所述分簇有一个或多个簇头。
进一步地,在步骤2中,所述区块链***包括去中心化和去信任的多个分布式账本,每个分布式账本中记录多个代表分簇的区块;所述区块是一种记录各分簇内簇头节点的选举、轮换的过程的数据结构,反映了簇头节点的变化。***中已经选举出了簇头节点区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分,一个区块包含以下三部分:簇头节点信息、前一个区块形成的哈希散列。簇头节点信息是区块所承载的任务数据,具体包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明;前一个区块形成的哈希散列用来将区块连接起来,以簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点实现过往簇头节点选举、轮换的顺序排列;当簇头节点的剩余能量低于能量阈值时,所在簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点,能量剩余值最多和相对距离最小的两个传感器节点当选为新的簇头节点,簇区内的两个簇头节点与其它原簇区内的传感器节点生成一个新的区块,并广播到所有簇头节点进行更新,如此完成一次簇头节点选举、轮换。
进一步地,在步骤4中,所述相对位置信息根据各分布式账本获取到簇头节点广播信息时的传输延时的时长得到,以接收到的时间先后作为依据判断相对距离的长短,具体形式例如,簇头节点A发送的数据包A接收到的时间为2018011112230032,簇头节点B发送的数据包B接收到的时间为2018011112230018,则数据包B的相对位置为2018011112230018,要小于数据包A的相对位置为2018011112230032。
进一步地,在步骤5中,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量,该数据为经过SHA256哈希运算的递增值字符串,具体形式例如,簇头节点A的工作量证明<125.234S-9.82J>,其中,S为秒,J为焦耳,SHA256哈希运算的递增值字符串为:8b1bd43dda27f3eb51580d291065d48a368744455bfde181589f0fe175942b06946fb5fdacf8bdd7a8ad7a658cdaee71f196543446cb62596fa4bdb48d19db93。
进一步地,在步骤6中,所述以共识机制验证该簇头节点是否处于可用状态的方法为当通过验证的分布式账本总数量超过四分之三则确认该簇头节点通过证明并将其置于可用状态。
进一步地,在步骤7中,选定操作的步骤如下:
步骤7.1,向全部分布式账本发布通过验证的可用状态的簇头节点信息;
步骤7.2,当四分之三以上簇头节点验证通过则通过共识处理;
步骤7.3,将新选定的簇头节点及附加信息记录在区块链中;
步骤7.4,将该操作记录记录到区块链中,该簇头节点选定成功;
所述簇头节点信息包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明。
进一步地,在步骤8中,所述更新路由表的方法为:
步骤8.1,运行贪婪算法,判断路由路径是否已到达汇聚节点或者局部最小点;
步骤8.2,若已到达汇聚节点,则终止算法;若只是到达局部最小点,则在局部最小点处,通过分布式账本的区块边界发送探测包给下一跳的分布式账本中簇头节点来搜索传输路径,直至跳出局部最小点;
步骤8.3,在跳出局部最小点后,继续贪婪路由方法,若再遇到局部最小点,按照步骤8.2中的步骤处理。
进一步地,簇头节点传输数据的步骤为:
(1)簇头节点转发数据包,具体过程如下:
(2)簇头节点向路由表中的下一跳簇头节点转发数据包;
(3)下一跳簇头节点接收到数据包,就发送回复消息ACK;
(4)簇头节点在一段时间内收不到ACK,则重发数据包,直到簇头节点数据包发送成功,接收到回复消息;
进一步地,在步骤9中,
簇头节点删除操作的方法为,簇头节点的删除请求向区块链全部节点发布,经过区块链全部簇头节点的共识处理,通过共识后将簇头节点删除请求记录在区块链中,簇头节点删除操作结束,所述共识处理为当四分之三以上簇头节点验证通过则通过共识;
簇头节点更新操作的方法为:当簇头节点的剩余能量低于能量阈值时,所在簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点,能量剩余值最多和相对距离最小的两个传感器节点当选为新的簇头节点,簇区内的两个簇头节点与原簇区内的其余传感器节点生成一个新的区块,并广播到所有簇头节点进行更新,完成簇头节点选举、轮换,其中,所述能量阈值为传感器初始能量的三分之一。
本公开的实施例还提供一种基于区块链技术的无线传感器网络路由装置,如图2所示,该实施例的一种基于区块链技术的无线传感器网络路由装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如排序程序。
所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以执行的基本装置包括:
部署分簇单元,用于部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
区块链部署单元,用于在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
簇头广播单元,用于各区块的簇头节点在全网广播ID号和剩余能量信息;
簇头获取单元,用于获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
工作量请求单元,用于依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
共识验证单元,用于各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
选定单元,用于通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
路由创建单元,用于运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径更新路由表;
更新单元,用于各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
所述一种基于区块链技术的无线传感器网络路由装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述一种基于区块链技术的无线传感器网络路由装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于区块链技术的无线传感器网络路由装置的示例,并不构成对一种基于区块链技术的无线传感器网络路由装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于区块链技术的无线传感器网络路由装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于区块链技术的无线传感器网络路由装置的控制中心,利用各种接口和线路连接整个一种基于区块链技术的无线传感器网络路由装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于区块链技术的无线传感器网络路由装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
仿真实施例:
为评估本发明所提出的了一种基于区块链技术的无线传感器网络路由方法以及装置性能,将本发明中的路由方法与传统的路由方法LEACH和HEED通过仿真平台NetTopo比较,在300×300平方米的网络拓扑结构下,随机分布1000个的节点,传输半径R=10米,每个节点的初始能量为15焦耳。
本发明仿真结果路由方法与LEACH和HEED簇头节点存活率比较,在节点存活率方面,网络的运行中后期皆优于其他两种算法,但前期稍逊于HEED算法,而在网络通信性能方面,前中期均优于其它两种算法。LEACH与HEED由于硬性的阈值条件,担任过簇头的节点无法再次被选为候选簇头,从而候选范围越来越小,使得能量越来越快的被耗尽,总体来看,本发明性能上均优于LEACH与HEED的两种经典算法。
本领域技术技术人员应当知道,本发明可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接相合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在二个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在二个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括: U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
Claims (8)
1.一种基于区块链技术的无线传感器网络路由方法,其特征在于,所述方法包括:
步骤1,部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
步骤2,在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
步骤3,各区块的簇头节点在全网广播ID号和剩余能量信息;
步骤4,获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
步骤5,依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
步骤6,各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
步骤7,通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
步骤8,运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径创建路由表;
步骤9,各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
2.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤1中,所述部署无线传感器网络的方式为随机部署;所述分簇有一个或多个簇头。
3.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤2中,所述区块链***包括多个分布式账本,每个分布式账本中包括多个区块;所述区块包括簇头节点信息、前一个区块形成的哈希散列,其中,所述簇头节点信息包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明。
4.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤4中,所述相对位置信息根据各分布式账本获取到簇头节点广播信息时的传输延时的时长得到。
5.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤7中,选定操作的步骤如下:
步骤7.1,向全部分布式账本发布通过验证的可用状态的簇头节点信息;
步骤7.2,当四分之三以上簇头节点验证通过则通过共识处理;
步骤7.3,将新选定的簇头节点及附加信息记录在区块链中;
步骤7.4,将该操作记录记录到区块链中,该簇头节点选定成功;
所述簇头节点信息包括簇头节点的ID号、簇头节点能量剩余值、簇头节点的工作量证明。
6.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤8中,所述更新路由表的方法为:
步骤8.1,运行贪婪算法,判断路由路径是否已到达汇聚节点或者局部最小点;
步骤8.2,若已到达汇聚节点,则终止算法;若只是到达局部最小点,则在局部最小点处,通过分布式账本的区块边界发送探测包给下一跳的分布式账本中簇头节点来搜索传输路径,直至跳出局部最小点;
步骤8.3,在跳出局部最小点后,继续贪婪路由方法,若再遇到局部最小点,按照步骤8.2中的步骤处理。
7.根据权利要求1所述的一种基于区块链技术的无线传感器网络路由方法,其特征在于,在步骤9中,
簇头节点删除操作的方法为,簇头节点的删除请求向区块链全部节点发布,经过区块链全部簇头节点的共识处理,通过共识后将簇头节点删除请求记录在区块链中,簇头节点删除操作结束,所述共识处理为当四分之三以上簇头节点验证通过则通过共识;
簇头节点更新操作的方法为:当簇头节点的剩余能量低于能量阈值时,所在簇区内所有传感器节点根据能量剩余值与距离汇聚节点的相对距离竞选簇头节点,能量剩余值最多和相对距离最小的两个传感器节点当选为新的簇头节点,簇区内的两个簇头节点与原簇区内的其余传感器节点生成一个新的区块,并广播到所有簇头节点进行更新,完成簇头节点选举、轮换,其中,所述能量阈值为传感器初始能量的三分之一。
8.一种基于区块链技术的无线传感器网络路由装置,其特征在于,所述装置包括:
部署分簇单元,用于部署无线传感器网络,以LEACH算法将无线传感器网络分簇;
区块链部署单元,用于在汇聚节点上部署区块链***,每个分簇的簇头节点部署一个分布式账本,其中,每个分布式账本中记录多个代表分簇的区块;
簇头广播单元,用于各区块的簇头节点在全网广播ID号和剩余能量信息;
簇头获取单元,用于获取簇头节点的ID号、相对位置信息和剩余能量信息并按相对位置的距离降序记录到各分布式账本中;
工作量请求单元,用于依次对各分布式账本中的簇头节点发出工作量证明请求并接收工作量证明和剩余能量信息,所述工作量证明包括消耗的传感器节点的数据传输时间与传感器消耗的能量;
共识验证单元,用于各分布式账本根据簇头节点的工作量证明与剩余能量信息以共识机制验证该簇头节点是否处于可用状态;
选定单元,用于通过证明的可用状态的簇头节点在每个分布式账本中同步记录并执行该簇头节点的选定操作,并更新区块的分布式账本;
路由创建单元,用于运行贪婪算法以分布式账本中的簇头节点构建路由路径并以路由路径更新路由表;
更新单元,用于各分布式账本同步执行低于能量阈值的簇头节点的簇头节点删除操作,并执行簇头节点更新操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810334760.4A CN108521661B (zh) | 2018-04-15 | 2018-04-15 | 一种基于区块链技术的无线传感器网络路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810334760.4A CN108521661B (zh) | 2018-04-15 | 2018-04-15 | 一种基于区块链技术的无线传感器网络路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108521661A CN108521661A (zh) | 2018-09-11 |
CN108521661B true CN108521661B (zh) | 2019-11-05 |
Family
ID=63429224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810334760.4A Active CN108521661B (zh) | 2018-04-15 | 2018-04-15 | 一种基于区块链技术的无线传感器网络路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108521661B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359989B (zh) * | 2018-09-26 | 2019-12-13 | 南京慧目信息技术有限公司 | 基于区块链的医疗数据采集及管理*** |
CN109346186A (zh) * | 2018-09-26 | 2019-02-15 | 东莞方凡智能科技有限公司 | 基于区块链的健康检测数据采集及管理*** |
CN109347955B (zh) * | 2018-10-19 | 2021-03-02 | 北京奇艺世纪科技有限公司 | 一种区块链网络***以及信息处理方法 |
CN110166567B (zh) * | 2019-06-04 | 2021-10-08 | 长春理工大学 | 一种基于区块链的物联网资源共享方法及*** |
CN112055394B (zh) * | 2019-06-06 | 2023-01-24 | 佛山科学技术学院 | 快速包含排除的无线传感器网络分簇路由方法及*** |
CN110177003B (zh) * | 2019-06-10 | 2021-10-08 | 沈阳理工大学 | 工业传感器网络中基于区块链技术的数据验证方法 |
CN110730449B (zh) * | 2019-09-19 | 2021-07-06 | 广东烟草佛山市有限责任公司 | 基于多重区块链的无线传感器网络通信方法及*** |
CN110809044A (zh) * | 2019-11-04 | 2020-02-18 | 大连大学 | 建筑多节点分布的压力采集数据的同步传输方法 |
CN111182493B (zh) * | 2020-01-09 | 2022-03-15 | 浙江中新电力工程建设有限公司自动化分公司 | 一种基于泛在电力物联网的智能传感器 |
CN112291829B (zh) * | 2020-10-31 | 2022-07-01 | 国网河南省电力公司经济技术研究院 | 一种面向区块链应用的无线传感器网络*** |
CN112699322A (zh) * | 2021-01-06 | 2021-04-23 | 润联软件***(深圳)有限公司 | 一种分层弱中心化区块链浏览器生成方法及其相关组件 |
CN112887947B (zh) * | 2021-01-14 | 2021-12-03 | 南通大学 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
CN112969212B (zh) * | 2021-02-24 | 2022-03-04 | 山东山大世纪科技有限公司 | 物联网的去中心传感器网络构建方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895956B (zh) * | 2010-08-05 | 2012-10-17 | 中国兵器工业第二〇五研究所 | 多层分布式无线传感器网络数据传输方法 |
CN102510572B (zh) * | 2011-11-18 | 2014-08-06 | 浙江工业大学 | 一种面向异构无线传感器网络的分簇路由控制方法 |
CN103533595A (zh) * | 2013-10-28 | 2014-01-22 | 天津工业大学 | 无线传感网络的多跳分簇路由算法 |
CN104936230B (zh) * | 2015-06-15 | 2018-07-20 | 华侨大学 | 一种基于簇头期望的无线传感器网络能量均衡路由优化方法 |
US10318938B2 (en) * | 2016-02-22 | 2019-06-11 | Bank Of America Corporation | System for routing of process authorization and settlement to a user in process data network based on specified parameters |
CN106779736A (zh) * | 2016-11-30 | 2017-05-31 | 电子科技大学 | 基于生物特征的区块链技术认证方法 |
CN106658641B (zh) * | 2016-12-28 | 2020-03-27 | 上海海事大学 | 一种分布式无线传感网络分簇路由方法 |
CN107094155B (zh) * | 2017-06-14 | 2020-03-10 | 广东工业大学 | 一种基于联盟区块链的数据安全存储方法及装置 |
-
2018
- 2018-04-15 CN CN201810334760.4A patent/CN108521661B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108521661A (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108521661B (zh) | 一种基于区块链技术的无线传感器网络路由方法 | |
CN108770016B (zh) | 基于模板的5g端到端网络切片生成方法及装置 | |
CN1973486B (zh) | 在采用受保护链路的数据网络中避免微环的方法和装置 | |
CN100574252C (zh) | 用于移动路由器之间拓扑更新的部署 | |
US9825857B2 (en) | Method for increasing Layer-3 longest prefix match scale | |
CN100499463C (zh) | 面向移动终端的对等网络传输方法 | |
CN101039309B (zh) | 链路共享服务装置以及通信方法 | |
EP1300995A3 (en) | Resource management in heterogenous QOS based packet networks | |
CN108764966A (zh) | 广告投放方法、区块链节点设备及相关设备 | |
EP3002915B1 (en) | Routing in dependence of the application | |
CN108206785A (zh) | 针对多播流量优化与路由和/或下一跳相关的信息 | |
CN108347376A (zh) | 一种调整转发路径的方法、装置及*** | |
CN110225566A (zh) | 无线传感器网络中基于延迟与距离的背压方法 | |
CN109361774A (zh) | 一种物联网***架构及数据通信方法 | |
Jia et al. | A BUS‐aided RSU access scheme based on SDN and evolutionary game in the Internet of Vehicle | |
CN107124303A (zh) | 低传输时延的服务链优化方法 | |
CN105978811B (zh) | 一种基于业务传输的选路方法和装置 | |
Liu et al. | Resource allocation for video transcoding and delivery based on mobile edge computing and blockchain | |
CN107105389A (zh) | 车载网络中基于道路拓扑结构的地理信息路由方法 | |
Xiao et al. | An energy-efficient data transmission protocol for mobile crowd sensing | |
CN101409905A (zh) | 一种基于任播方式的移动多跳分组无线网络路由方法 | |
CN105684362A (zh) | 流保留协议的第一协议实体与路由选择协议的第二协议实体之间的互相配合 | |
CN104506432B (zh) | 一种内容请求率的聚合及缓存放置方法 | |
CN101626341B (zh) | 链路状态协议下的信息同步方法及装置 | |
Nguyen et al. | Rpl border router redundancy in the internet of things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |