CN112887947A - 一种双层区块链的蓝牙Mesh分簇组网方法 - Google Patents
一种双层区块链的蓝牙Mesh分簇组网方法 Download PDFInfo
- Publication number
- CN112887947A CN112887947A CN202110045753.4A CN202110045753A CN112887947A CN 112887947 A CN112887947 A CN 112887947A CN 202110045753 A CN202110045753 A CN 202110045753A CN 112887947 A CN112887947 A CN 112887947A
- Authority
- CN
- China
- Prior art keywords
- node
- cluster head
- cluster
- nodes
- new
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0238—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is an unwanted signal, e.g. interference or idle signal
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及无线通信网络技术领域,尤其涉及一种双层区块链的蓝牙Mesh分簇组网方法,包括以下步骤:首先,汇聚节点选择一定数量的蓝牙节点作为簇头节点,剩余蓝牙节点根据接收信号强度大小加入各自簇头节点;然后,建立双层区块链,由簇头节点形成簇头链和各簇内的蓝牙节点形成簇内链;此外,根据网络需求,对新节点增加和节点替换的过程进行区块链维护;最后,簇内剩余能量高的蓝牙节点轮流当选簇头,持续更新区块链网络。本发明的组网方案适用于智能家居、工业物联网等场景,减少蓝牙Mesh组网过程中对网关或汇聚节点的过度依赖,提高网络的吞吐量,增强蓝牙Mesh组网的安全性,进一步降低了蓝牙Mesh网络的能耗。
Description
技术领域
本发明涉及无线通信网络技术领域,尤其涉及一种双层区块链的蓝牙Mesh分簇组网方法。
背景技术
物联网因适配性好、兼容性强等特点,已在网络通信有着广泛的应用,但同时也面临着严峻的问题,例如,网络内的节点长时间工作导致功耗大、生命期较短;对汇聚节点或网关的依赖导致通信时数据拥塞;节点间的认证过程较简单,网络易受攻击等。因此,进一步优化物联网的功耗、网络容量及安全性具有重要意义。传统的物联网LEACH分簇算法采用轮流当簇头的方式,通过分层按簇进行数据融合提高数据处理效率,但分簇网络每一轮结束都需要重新选择簇头、其余节点加入对应的簇,该持续重复的过程对节点能量的消耗也很大;此外,LEACH分簇算法过于依赖汇聚节点,未考虑安全性等问题。
因此,本发明有必要提出一种双层区块链的蓝牙Mesh分簇组网方法,以解决上述技术问题。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种双层区块链的蓝牙Mesh分簇组网方法,在组网过程中综合考虑了区块链的“分布式账本”功能以及蓝牙Mesh的友谊特性,从而提高了组网安全性,降低了组网的功耗。
为了实现上述目的,本发明采用了如下技术方案:一种双层区块链的蓝牙Mesh分簇组网方法,包括以下步骤;
S101:蓝牙Mesh分簇网络的建立,汇聚节点认证各蓝牙节点、选出簇头,剩余蓝牙节点就近加入簇,形成分簇网络;
S102:双层区块链的建立,分别以汇聚节点为主导链接所有簇头节点建立簇头链、以簇头节点为主导链接簇内蓝牙节点建立簇内链;
S103:根据网络需求,增加新节点对网络进行维护,以及替换原有节点对网络进行维护;
S104:按需更新网络,簇内的各个节点轮流当选簇头;此后跳转回步骤S103,持续进行网络的维护与簇头的更新。
优选地,所述步骤S101中,蓝牙Mesh分簇网络的建立包括以下步骤:
S201:各节点向汇聚节点发送入网认证数据包,其中包含公钥、剩余电量、RSSI值等信息;
S202:汇聚节点验证收到的入网认证数据包,判断公钥是否正确,若正确,则跳转S204,否则,跳转S203;
S203:汇聚节点对节点进行不予入网处理;
S204:汇聚节点读取验证节点的信息,节点入网完成;
S205:汇聚节点随机选择p%(0<p<100)的节点作为簇头节点;
S206:除汇聚节点和已被选的簇头节点,剩余节点探测各簇头节点的RSSI值,并对其进行排序;
S207:各剩余节点分别向RSSI值最高的、可加入的簇头节点发送入簇认证数据包,其中包含公钥、剩余电量、RSSI值等信息;若簇内节点数量已满,则向RSSI值更小的簇头节点发送入簇认证数据包;
S208:簇头节点判断簇内的节点数是否达到可附带节点数量的阈值,若已达到,则跳转步骤S209,否则,跳转步骤S210;
S209:簇头节点发送拒绝入簇的指令给节点;
S210:剩余的普通节点均通过对应簇头节点的认证,加入各分簇网。
优选地,所述步骤S102中,双层区块链的建立包括以下步骤:
S301:汇聚节点对所有簇头节点的RSSI值从大到小进行排序;
S302:汇聚节点发起建“簇头链”的指令数据,传给RSSI值最高的簇头节点,并将其作为“簇头链”的第一个节点,所在簇为第1簇;
S303:以上一个簇头链的簇头节点为中心探测周围簇头节点的RSSI值,其中RSSI值最大的簇头作为簇头链的下一个节点,所在簇为第n簇(n=2,3,4……);
S304:选定下一个簇头链节点后,当前簇头节点生成指令数据包,并将自身数据写入指令数据包,传给下一簇头节点,如此循环直至最后一个簇头节点;
S305:最后一个簇头节点加入簇头链后,按传输顺序的倒序将数据包回传到汇聚节点处,簇头节点建链结束;同时,汇聚节点对所有节点进行记账并形成区块账本,各簇头节点对簇头链进行记账;
S306:簇头节点收集簇内普通节点的RSSI值并排序;
S307:簇头节点发起建簇内链的指令数据,传给RSSI值最高的节点,并将其作为簇内链第一个节点;
S308:以上一个簇内的簇内链的节点为中心,探测周围簇头节点的RSSI值,其中RSSI值最大的普通节点作为簇内链的下一个节点;
S309:选定下一个簇头内节点后,当前普通节点将自身数据写入指令数据,传给下一簇内节点,如此循环直至最后一个簇内节点;
S310:最后一个簇内节点加入簇头链后,各个节点开始对后续过程记账,数据包按传输顺序的倒序回传到簇头节点,簇内节点建链结束;
S311:簇头、簇内建链结束后,簇头节点和普通节点继续工作,并以“双层链”式的结构相链接;在传输数据的同时,簇头节点开始记账并形成区块账本,普通节点开始记账并形成区块账本。
优选地,所述步骤S103中,增加新节点对网络进行维护具体包括以下步骤:
S401:新节点向区块链网络内任意一个簇头节点发送入网认证数据包,其中包含ID号、电量、公钥;
S402:由于簇头节点所附带的节点数量有限,因此首先需要判断该簇头节点所在的簇的节点数量是否已满,若已满则跳转S4021,若未满则跳转S403;
S4021:附带节点未满的簇头节点将收到的RSSI强度值反馈给当前簇头节点,由当前簇头节点排序;
S4022:当前簇头节点选取RSSI值最高的簇头节点,将它的ID号发送给新节点;
S4023:新节点根据当前簇头节点发送的ID号,搜索对应的簇头节点并申请加入它的簇;此时,该簇头节点是距离新节点最近的簇头节点;
S403:新节点发送公钥给该簇头节点验证,验证通过后,正式加入区块链网络;
S404:由于新节点没有之前簇内的账本,簇头节点则向新节点发送当前簇内普通节点的账本信息,至此,新节点正式成为该簇的一个普通节点,开始承担数据传输等任务;
S405:簇头节点生成指令数据包,将新节点的ID号写入指令数据包,传给下一簇头节点,直至最后一个簇头节点,并由最后一个节点将指令数据发送给新节点;
S406:新节点将自身数据信息写入指令数据,按传输顺序的倒序将指令数据包回传到簇头节点处,各节点进行记账。
优选地,所述步骤S103中,替换原有节点对网络进行维护具体包括以下步骤:
S501:新节点向待替换节点发送数据包,其中包含新节点ID号、电量信息等,待替换节点验证秘钥通过,和新节点建立链接;
S502:待替换节点锁定自身当前账本信息,但其余节点继续保持记账;
S503:待替换节点将自身ID号和所在簇的簇头节点的ID号、以及账本信息发送给新节点;
S504:待替换节点将新节点的ID号和锁定账本的时刻告知簇头节点;
S505:在新节点进入簇前,待替换节点退出所在簇,防止簇内节点满溢;
S506:新节点根据簇头ID号搜索簇头,将包含锁定时刻前的账本信息和自身ID号的数据包发送给簇头节点;
S507:簇头节点验证通过账本和ID号信息,新节点成为簇的一员,正式加入区块链网络;
S508:簇头节点更新锁定时刻后新节点的账本信息,开始数据传输等簇内其它普通节点的工作任务。
优选地,所述步骤S104中,需更新网络,簇内的各个节点轮流当选簇头节点,具体包括以下步骤:
S601:原簇头节点记录簇内所有节点的能量,并计算所有节点的能量均值;
S602:判断原簇头节点的能量是否低于该能量均值,若低于该能量均值,则跳转S603,否则,跳转S601;
S603:原簇头节点对簇内节点能量排序,找到剩余电量最大的普通节点,并将其作为新簇头节点;
S604:原簇头节点向新簇头节点传送账本信息和私钥;
S605:新簇头节点向任意一个临近的簇头节点发送进入簇头链的认证数据包,其中包含原簇头节点的账本信息和私钥;
S606:新簇头节点入簇认证通过后,开始作为簇头工作;原簇头节点不再记录其余簇头的信息,只继续记录簇内节点信息,成为簇内的普通节点。
优选地,所述步骤S202中,汇聚节点验证收到的入网认证数据包,是通过验证公钥实现的,只有配对上公钥的节点能够加入该区块链网络,公钥验证通过后,网络中的各个节点生成私钥,以后的簇头轮换验证过程也通过私钥的验证来实现。
优选地,所述步骤S208中,簇头节点可附带节点数量的阈值为n、簇头节点总数为N,所有簇头节点的容量足够容纳其余普通节点,即满足n>N×p%;若阈值超出上限,则该簇头不再接受普通节点申请入簇,向超出的节点发送拒绝入簇的指令;若周围没有簇头可再容纳,则向汇聚节点发送通知,请求再选择一个簇头节点。
优选地,所述步骤S210中,普通节点均通过对应簇头节点的认证,加入各分簇网,此后,簇头节点在组网中充当“好友节点”,接收来自汇聚节点的数据;而每一簇内的普通节点充当“低功耗节点”;
所述步骤S210中,普通节点开始记账并形成区块账本,该区块账本共有两个,区块账本一记录簇内普通节点的账,区块账本二记录所在簇的簇头节点的账。
优选地,根据蓝牙Mesh组网特性,簇头节点需保持持续工作的状态,而普通节点按照唤醒规则,在两种状态下切换:当普通节点处于低功耗记账模式时,普通节点只可以记账,不能进行数据传输,簇头暂存数据;当普通节点处于数据传输模式时,普通节点既可以记账,又可以进行数据传输,在该模式下簇头节点将实时数据或暂存数据传输给普通节点。
优选地,所述步骤S305中,汇聚节点对所有步骤进行记账并形成区块账本,汇聚节点内的区块数量一定(如100个),每个区块记录所有节点的账本,包括普通节点和簇头节点,区块超过一定数量后,释放第一个区块作为新账本。
优选地,所述步骤S311中,簇头节点开始记账并形成区块账本,该区块账本共有两个,区块账本一记录所有簇头节点的账,区块账本二作为备用账本,暂无记录。
优选地,所述步骤S311中,簇头、簇内建链结束后,簇头节点和普通节点都具有区块链的“分布式账本”功能,记账内容来自于数据传输过程,每个节点将收到的信息存储在区块内。
本发明具有以下有益效果:
1、本发明在提高了组网安全性的同时,也降低了组网的功耗;区块链中的“分布式账本”记录了网络中的所有运行步骤,使得网络中的信息不易被篡改;通过结合蓝牙Mesh的友谊特性,建立了簇头节点和簇内普通节点的友谊关系,通过好友节点对信息的暂存以及低功耗节点的按需唤醒,减少了节点非必要唤醒时的功耗。
2、本发明中的分簇算法不同于传统LEACH算法,在于不必每一轮组网都要重新选择簇头节点,避免了因簇头完成数据融合、与汇聚节点通信等工作而产生的能量消耗。
3、本发明的组网方案适用于智能家居、工业物联网等场景,减少蓝牙Mesh组网过程中对网关或汇聚节点的过度依赖,提高网络的吞吐量,增强蓝牙Mesh组网的安全性,进一步降低了蓝牙Mesh网络的能耗。
附图说明
图1为本发明的总体流程示意图;
图2为本发明的各节点的组网拓扑结构示意图;
图3为本发明的区块链网络建立的示意图;
图4为本发明的区块链网络中簇头链和簇内链建立的流程示意图;
图5为本发明的区块链网络中新节点加入网络的流程示意图;
图6为本发明的区块链网络中替换节点的流程示意图;
图7为本发明的区块链网络中簇头节点更新的流程示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本发明的优点和特征,从而对本发明的保护范围做出更为清楚的界定。本发明所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1-图2,一种双层区块链的蓝牙Mesh分簇组网方法,包括以下步骤;
S101:蓝牙Mesh分簇网络的建立,汇聚节点认证各蓝牙节点、选出簇头,剩余蓝牙节点就近加入簇,形成分簇网络;
S102:双层区块链的建立,分别以汇聚节点为主导链接所有簇头节点建立簇头链、以簇头节点为主导链接簇内蓝牙节点建立簇内链;
S103:根据网络需求,增加新节点对网络进行维护,以及替换原有节点对网络进行维护;
S104:按需更新网络,簇内的各个节点轮流当选簇头;此后跳转回步骤S103,持续进行网络的维护与簇头的更新。
参照图3,具体的,所述步骤S101中,蓝牙Mesh分簇网络的建立包括以下步骤:
S201:各节点向汇聚节点发送入网认证数据包,其中包含公钥、剩余电量、RSSI值等信息;
S202:汇聚节点验证收到的入网认证数据包,判断公钥是否正确,若正确,则跳转S204,否则,跳转S203;
S203:汇聚节点对节点进行不予入网处理;
S204:汇聚节点读取验证节点的信息,节点入网完成;
S205:汇聚节点随机选择p%(0<p<100)的节点作为簇头节点;
S206:除汇聚节点和已被选的簇头节点,剩余节点探测各簇头节点的RSSI值,并对其进行排序;
S207:各剩余节点分别向RSSI值最高的、可加入的簇头节点发送入簇认证数据包,其中包含公钥、剩余电量、RSSI值等信息;若簇内节点数量已满,则向RSSI值更小的簇头节点发送入簇认证数据包;
S208:簇头节点判断簇内的节点数是否达到可附带节点数量的阈值,若已达到,则跳转步骤S209,否则,跳转步骤S210;
S209:簇头节点发送拒绝入簇的指令给节点;
S210:剩余的普通节点均通过对应簇头节点的认证,加入各分簇网。
其中,所述步骤S202中,汇聚节点验证收到的入网认证数据包,是通过验证公钥实现的,只有配对上公钥的节点能够加入该区块链网络,公钥验证通过后,网络中的各个节点生成私钥,以后的簇头轮换验证过程也通过私钥的验证来实现。
其中,所述步骤S208中,簇头节点可附带节点数量的阈值为n、簇头节点总数为N,所有簇头节点的容量足够容纳其余普通节点,即满足n>N×p%;若阈值超出上限,则该簇头不再接受普通节点申请入簇,向超出的节点发送拒绝入簇的指令;若周围没有簇头可再容纳,则向汇聚节点发送通知,请求再选择一个簇头节点。
其中,所述步骤S210中,普通节点均通过对应簇头节点的认证,加入各分簇网,此后,簇头节点在组网中充当“好友节点”,接收来自汇聚节点的数据;而每一簇内的普通节点充当“低功耗节点”;
根据蓝牙Mesh组网特性,簇头节点需保持持续工作的状态,而普通节点按照唤醒规则,在两种状态下切换:当普通节点处于低功耗记账模式时,普通节点只可以记账,不能进行数据传输,簇头暂存数据;当普通节点处于数据传输模式时,普通节点既可以记账,又可以进行数据传输,在该模式下簇头节点将实时数据或暂存数据传输给普通节点。
其中,所述步骤S210中,普通节点开始记账并形成区块账本,该区块账本共有两个,区块账本一记录簇内普通节点的账,区块账本二记录所在簇的簇头节点的账。
参照图4,具体的,所述步骤S102中,双层区块链的建立包括以下步骤:
S301:汇聚节点对所有簇头节点的RSSI值从大到小进行排序;
S302:汇聚节点发起建“簇头链”的指令数据,传给RSSI值最高的簇头节点,并将其作为“簇头链”的第一个节点,所在簇为第1簇;
S303:以上一个簇头链的簇头节点为中心探测周围簇头节点的RSSI值,其中RSSI值最大的簇头作为簇头链的下一个节点,所在簇为第n簇(n=2,3,4……);
S304:选定下一个簇头链节点后,当前簇头节点生成指令数据包,并将自身数据写入指令数据包,传给下一簇头节点,如此循环直至最后一个簇头节点;
S305:最后一个簇头节点加入簇头链后,按传输顺序的倒序将数据包回传到汇聚节点处,簇头节点建链结束;同时,汇聚节点对所有节点进行记账并形成区块账本,各簇头节点对簇头链进行记账;
S306:簇头节点收集簇内普通节点的RSSI值并排序;
S307:簇头节点发起建簇内链的指令数据,传给RSSI值最高的节点,并将其作为簇内链第一个节点;
S308:以上一个簇内的簇内链的节点为中心,探测周围簇头节点的RSSI值,其中RSSI值最大的普通节点作为簇内链的下一个节点;
S309:选定下一个簇头内节点后,当前普通节点将自身数据写入指令数据,传给下一簇内节点,如此循环直至最后一个簇内节点;
S310:最后一个簇内节点加入簇头链后,各个节点开始对后续过程记账,数据包按传输顺序的倒序回传到簇头节点,簇内节点建链结束;
S311:簇头、簇内建链结束后,簇头节点和普通节点继续工作,并以“双层链”式的结构相链接;在传输数据的同时,簇头节点开始记账并形成区块账本,普通节点开始记账并形成区块账本。
其中,所述步骤S305中,汇聚节点对所有步骤进行记账并形成区块账本,汇聚节点内的区块数量一定(如100个),每个区块记录所有节点的账本,包括普通节点和簇头节点,区块超过一定数量后,释放第一个区块作为新账本。
其中,所述步骤S311中,簇头节点开始记账并形成区块账本,该区块账本共有两个,区块账本一记录所有簇头节点的账,区块账本二作为备用账本,暂无记录。
其中,所述步骤S311中,簇头、簇内建链结束后,簇头节点和普通节点都具有区块链的“分布式账本”功能,记账内容来自于数据传输过程,每个节点将收到的信息存储在区块内。
参照图5,具体的,所述步骤S103中,增加新节点对网络进行维护具体包括以下步骤:
S401:新节点向区块链网络内任意一个簇头节点发送入网认证数据包,其中包含ID号、电量、公钥;
S402:由于簇头节点所附带的节点数量有限,因此首先需要判断该簇头节点所在的簇的节点数量是否已满,若已满则跳转S4021,若未满则跳转S403;
S4021:附带节点未满的簇头节点将收到的RSSI强度值反馈给当前簇头节点,由当前簇头节点排序;
S4022:当前簇头节点选取RSSI值最高的簇头节点,将它的ID号发送给新节点;
S4023:新节点根据当前簇头节点发送的ID号,搜索对应的簇头节点并申请加入它的簇;此时,该簇头节点是距离新节点最近的簇头节点;
S403:新节点发送公钥给该簇头节点验证,验证通过后,正式加入区块链网络;
S404:由于新节点没有之前簇内的账本,簇头节点则向新节点发送当前簇内普通节点的账本信息,至此,新节点正式成为该簇的一个普通节点,开始承担数据传输等任务;
S405:簇头节点生成指令数据包,将新节点的ID号写入指令数据包,传给下一簇头节点,直至最后一个簇头节点,并由最后一个节点将指令数据发送给新节点;
S406:新节点将自身数据信息写入指令数据,按传输顺序的倒序将指令数据包回传到簇头节点处,各节点进行记账。
参照图6,具体的,所述步骤S103中,替换原有节点对网络进行维护具体包括以下步骤:
S501:新节点向待替换节点发送数据包,其中包含新节点ID号、电量信息等,待替换节点验证秘钥通过,和新节点建立链接;
S502:待替换节点锁定自身当前账本信息,但其余节点继续保持记账;
S503:待替换节点将自身ID号和所在簇的簇头节点的ID号、以及账本信息发送给新节点;
S504:待替换节点将新节点的ID号和锁定账本的时刻告知簇头节点;
S505:在新节点进入簇前,待替换节点退出所在簇,防止簇内节点满溢;
S506:新节点根据簇头ID号搜索簇头,将包含锁定时刻前的账本信息和自身ID号的数据包发送给簇头节点;
S507:簇头节点验证通过账本和ID号信息,新节点成为簇的一员,正式加入区块链网络;
S508:簇头节点更新锁定时刻后新节点的账本信息,开始数据传输等簇内其它普通节点的工作任务。
参照图7,具体的,所述步骤S104中,需更新网络,簇内的各个节点轮流当选簇头节点,具体包括以下步骤:
S601:原簇头节点记录簇内所有节点的能量,并计算所有节点的能量均值;
S602:判断原簇头节点的能量是否低于该能量均值,若低于该能量均值,则跳转S603,否则,跳转S601;
S603:原簇头节点对簇内节点能量排序,找到剩余电量最大的普通节点,并将其作为新簇头节点;
S604:原簇头节点向新簇头节点传送账本信息和私钥;
S605:新簇头节点向任意一个临近的簇头节点发送进入簇头链的认证数据包,其中包含原簇头节点的账本信息和私钥;
S606:新簇头节点入簇认证通过后,开始作为簇头工作;原簇头节点不再记录其余簇头的信息,只继续记录簇内节点信息,成为簇内的普通节点。
本发明中披露的说明和实践,对于本技术领域的普通技术人员来说,都是易于思考和理解的,且在不脱离本发明原理的前提下,还可以做出若干改进和润饰。因此,在不偏离本发明精神的基础上所做的修改或改进,也应视为本发明的保护范围。
Claims (10)
1.一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,包括以下步骤:
S101:蓝牙Mesh分簇网络的建立,汇聚节点认证各蓝牙节点、选出簇头,剩余蓝牙节点就近加入簇,形成分簇网络;
S102:双层区块链的建立,分别以汇聚节点为主导链接所有簇头节点建立簇头链、以簇头节点为主导链接簇内蓝牙节点建立簇内链;
S103:根据网络需求,增加新节点对网络进行维护,以及替换原有节点对网络进行维护;
S104:按需更新网络,簇内的各个节点轮流当选簇头;此后跳转回步骤S103,持续进行网络的维护与簇头的更新。
2.根据权利要求1所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S101中,蓝牙Mesh分簇网络的建立包括以下步骤:
S201:各节点向汇聚节点发送入网认证数据包,其中包含公钥、剩余电量、RSSI值等信息;
S202:汇聚节点验证收到的入网认证数据包,判断公钥是否正确,若正确,则跳转S204,否则,跳转S203;
S203:汇聚节点对节点进行不予入网处理;
S204:汇聚节点读取验证节点的信息,节点入网完成;
S205:汇聚节点随机选择p%(0<p<100)的节点作为簇头节点;
S206:除汇聚节点和已被选的簇头节点,剩余节点探测各簇头节点的RSSI值,并对其进行排序;
S207:各剩余节点分别向RSSI值最高的、可加入的簇头节点发送入簇认证数据包,其中包含公钥、剩余电量、RSSI值等信息;若簇内节点数量已满,则向RSSI值更小的簇头节点发送入簇认证数据包;
S208:簇头节点判断簇内的节点数是否达到可附带节点数量的阈值,若已达到,则跳转步骤S209,否则,跳转步骤S210;
S209:簇头节点发送拒绝入簇的指令给节点;
S210:剩余的普通节点均通过对应簇头节点的认证,加入各分簇网。
3.根据权利要求1所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S102中,双层区块链的建立包括以下步骤:
S301:汇聚节点对所有簇头节点的RSSI值从大到小进行排序;
S302:汇聚节点发起建“簇头链”的指令数据,传给RSSI值最高的簇头节点,并将其作为“簇头链”的第一个节点,所在簇为第1簇;
S303:以上一个簇头链的簇头节点为中心探测周围簇头节点的RSSI值,其中RSSI值最大的簇头作为簇头链的下一个节点,所在簇为第n簇(n=2,3,4……);
S304:选定下一个簇头链节点后,当前簇头节点生成指令数据包,并将自身数据写入指令数据包,传给下一簇头节点,如此循环直至最后一个簇头节点;
S305:最后一个簇头节点加入簇头链后,按传输顺序的倒序将数据包回传到汇聚节点处,簇头节点建链结束;同时,汇聚节点对所有节点进行记账并形成区块账本,各簇头节点对簇头链进行记账;
S306:簇头节点收集簇内普通节点的RSSI值并排序;
S307:簇头节点发起建簇内链的指令数据,传给RSSI值最高的节点,并将其作为簇内链第一个节点;
S308:以上一个簇内的簇内链的节点为中心,探测周围簇头节点的RSSI值,其中RSSI值最大的普通节点作为簇内链的下一个节点;
S309:选定下一个簇头内节点后,当前普通节点将自身数据写入指令数据,传给下一簇内节点,如此循环直至最后一个簇内节点;
S310:最后一个簇内节点加入簇头链后,各个节点开始对后续过程记账,数据包按传输顺序的倒序回传到簇头节点,簇内节点建链结束;
S311:簇头、簇内建链结束后,簇头节点和普通节点继续工作,并以“双层链”式的结构相链接;在传输数据的同时,簇头节点开始记账并形成区块账本,普通节点开始记账并形成区块账本。
4.根据权利要求1所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S103中,增加新节点对网络进行维护具体包括以下步骤:
S401:新节点向区块链网络内任意一个簇头节点发送入网认证数据包,其中包含ID号、电量、公钥;
S402:由于簇头节点所附带的节点数量有限,因此首先需要判断该簇头节点所在的簇的节点数量是否已满,若已满则跳转S4021,若未满则跳转S403;
S4021:附带节点未满的簇头节点将收到的RSSI强度值反馈给当前簇头节点,由当前簇头节点排序;
S4022:当前簇头节点选取RSSI值最高的簇头节点,将它的ID号发送给新节点;
S4023:新节点根据当前簇头节点发送的ID号,搜索对应的簇头节点并申请加入它的簇;此时,该簇头节点是距离新节点最近的簇头节点;
S403:新节点发送公钥给该簇头节点验证,验证通过后,正式加入区块链网络;
S404:由于新节点没有之前簇内的账本,簇头节点则向新节点发送当前簇内普通节点的账本信息,至此,新节点正式成为该簇的一个普通节点,开始承担数据传输等任务;
S405:簇头节点生成指令数据包,将新节点的ID号写入指令数据包,传给下一簇头节点,直至最后一个簇头节点,并由最后一个节点将指令数据发送给新节点;
S406:新节点将自身数据信息写入指令数据,按传输顺序的倒序将指令数据包回传到簇头节点处,各节点进行记账。
5.根据权利要求4所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S103中,替换原有节点对网络进行维护具体包括以下步骤:
S501:新节点向待替换节点发送数据包,其中包含新节点ID号、电量信息等,待替换节点验证秘钥通过,和新节点建立链接;
S502:待替换节点锁定自身当前账本信息,但其余节点继续保持记账;
S503:待替换节点将自身ID号和所在簇的簇头节点的ID号、以及账本信息发送给新节点;
S504:待替换节点将新节点的ID号和锁定账本的时刻告知簇头节点;
S505:在新节点进入簇前,待替换节点退出所在簇,防止簇内节点满溢;
S506:新节点根据簇头ID号搜索簇头,将包含锁定时刻前的账本信息和自身ID号的数据包发送给簇头节点;
S507:簇头节点验证通过账本和ID号信息,新节点成为簇的一员,正式加入区块链网络;
S508:簇头节点更新锁定时刻后新节点的账本信息,开始数据传输等簇内其它普通节点的工作任务。
6.根据权利要求1所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S104中,需更新网络,簇内的各个节点轮流当选簇头节点,具体包括以下步骤:
S601:原簇头节点记录簇内所有节点的能量,并计算所有节点的能量均值;
S602:判断原簇头节点的能量是否低于该能量均值,若低于该能量均值,则跳转S603,否则,跳转S601;
S603:原簇头节点对簇内节点能量排序,找到剩余电量最大的普通节点,并将其作为新簇头节点;
S604:原簇头节点向新簇头节点传送账本信息和私钥;
S605:新簇头节点向任意一个临近的簇头节点发送进入簇头链的认证数据包,其中包含原簇头节点的账本信息和私钥;
S606:新簇头节点入簇认证通过后,开始作为簇头工作;原簇头节点不再记录其余簇头的信息,只继续记录簇内节点信息,成为簇内的普通节点。
7.根据权利要求2所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S208中,簇头节点可附带节点数量的阈值为n、簇头节点总数为N,所有簇头节点的容量足够容纳其余普通节点,即满足n>N×p%;若阈值超出上限,则该簇头不再接受普通节点申请入簇,向超出的节点发送拒绝入簇的指令;若周围没有簇头可再容纳,则向汇聚节点发送通知,请求再选择一个簇头节点。
8.根据权利要求2所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S210中,普通节点均通过对应簇头节点的认证,加入各分簇网,此后,簇头节点在组网中充当“好友节点”,接收来自汇聚节点的数据;而每一簇内的普通节点充当“低功耗节点”。
9.根据权利要求8所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,根据蓝牙Mesh组网特性,簇头节点需保持持续工作的状态,而普通节点按照唤醒规则,在两种状态下切换:当普通节点处于低功耗记账模式时,普通节点只可以记账,不能进行数据传输,簇头暂存数据;当普通节点处于数据传输模式时,普通节点既可以记账,又可以进行数据传输,在该模式下簇头节点将实时数据或暂存数据传输给普通节点。
10.根据权利要求3所述的一种双层区块链的蓝牙Mesh分簇组网方法,其特征在于,所述步骤S305中,汇聚节点对所有步骤进行记账并形成区块账本,汇聚节点内的区块数量一定,每个区块记录所有节点的账本,包括普通节点和簇头节点,区块超过一定数量后,释放第一个区块作为新账本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110045753.4A CN112887947B (zh) | 2021-01-14 | 2021-01-14 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110045753.4A CN112887947B (zh) | 2021-01-14 | 2021-01-14 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887947A true CN112887947A (zh) | 2021-06-01 |
CN112887947B CN112887947B (zh) | 2021-12-03 |
Family
ID=76045811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110045753.4A Active CN112887947B (zh) | 2021-01-14 | 2021-01-14 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887947B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131193A (zh) * | 2010-01-12 | 2011-07-20 | 中国人民解放军总参谋部第六十一研究所 | 无线传感器网与计算机网融合网络的安全路由方法 |
CN102158860A (zh) * | 2010-02-12 | 2011-08-17 | 华为技术有限公司 | 无线节点入网方法、系统及中继节点 |
CN102244658A (zh) * | 2011-06-28 | 2011-11-16 | 南京工业大学 | 基于散列链的无线传感器网络分区式动态安全路由方法 |
CN102438333A (zh) * | 2010-09-29 | 2012-05-02 | 中兴通讯股份有限公司 | 一种通用的无线传感器网络系统及其信息处理方法 |
CN102857991A (zh) * | 2012-10-11 | 2013-01-02 | 中航物联技术(北京)有限公司 | 一种具有动态簇头算法的多层wsn无线传感网组网方法 |
CN103929744A (zh) * | 2014-04-03 | 2014-07-16 | 东南大学 | 一种无线传感器网络密钥管理方法 |
CN104244170A (zh) * | 2014-09-28 | 2014-12-24 | 成都金海鼎盛科技有限公司 | 低功耗的蓝牙节点自主组网方法 |
CN104717645A (zh) * | 2015-02-15 | 2015-06-17 | 江西警察学院 | 保证无线传感器网络的数据传输方法及其系统 |
CN105959990A (zh) * | 2016-04-25 | 2016-09-21 | 东莞市联洲知识产权运营管理有限公司 | 一种无线传感器网络拓扑控制方法 |
CN106231547A (zh) * | 2016-07-19 | 2016-12-14 | 河海大学 | 基于动态分簇的移动目标追踪方法 |
CN107690168A (zh) * | 2016-08-04 | 2018-02-13 | 王莹莹 | 一种可扩展的无线传感器网络组网方法 |
US20180091989A1 (en) * | 2016-09-27 | 2018-03-29 | King Fahd University Of Petroleum And Minerals | Energy efficient data collection routing protocol for wireless rechargeable sensor networks |
CN108521661A (zh) * | 2018-04-15 | 2018-09-11 | 佛山市虚拟现实大数据产业研究院有限公司 | 一种基于区块链技术的无线传感器网络路由方法 |
CN108880814A (zh) * | 2018-06-28 | 2018-11-23 | 西安理工大学 | 一种动态的分簇无线传感器网络密钥管理方法 |
CN109699033A (zh) * | 2019-01-28 | 2019-04-30 | 国网江苏省电力有限公司电力科学研究院 | 面向成本和负载均衡的LoRa电力物联网基站部署方法及装置 |
CN109831811A (zh) * | 2019-03-28 | 2019-05-31 | 中国科学院上海微系统与信息技术研究所 | 分簇路由算法 |
CN110290470A (zh) * | 2019-06-05 | 2019-09-27 | 南京邮电大学 | 基于区块链和边缘计算的隧道定位系统 |
CN110730449A (zh) * | 2019-09-19 | 2020-01-24 | 广东烟草佛山市有限责任公司 | 基于多重区块链的无线传感器网络通信方法及系统 |
WO2020125839A1 (de) * | 2018-12-18 | 2020-06-25 | GRID INVENT gGmbH | Elektronisches element und elektrisch angesteuertes anzeigeelement |
US20200309959A1 (en) * | 2019-03-29 | 2020-10-01 | Wirepas Oy | A-gnss positioning in wireless mesh communication system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217381A (zh) * | 2008-01-18 | 2008-07-09 | 北京航空航天大学 | 基于跨层的无线传感器网络节能方法 |
CN102149160B (zh) * | 2011-04-20 | 2013-10-30 | 宁波职业技术学院 | 一种用于无线传感网络的能量感知路由算法 |
CN102497615A (zh) * | 2011-11-30 | 2012-06-13 | 清华大学 | 基于定位信息辅助的节点移动网络的分簇方法 |
CN103281769A (zh) * | 2013-06-27 | 2013-09-04 | 重庆大学 | 一种异构无线传感器网络非均匀分簇的能耗均衡方法 |
CN103702445B (zh) * | 2013-12-26 | 2017-02-15 | 北京航空航天大学 | 无线传感器网络语义通信中任务组合的本体及推理规则 |
CN103945484B (zh) * | 2014-03-11 | 2017-06-30 | 北京农业信息技术研究中心 | 农田无线自组织网络拓扑密度关联路径选择优化方法 |
CN104539374A (zh) * | 2014-12-09 | 2015-04-22 | 桂林电子科技大学 | 基于水面传感网-水声传感网的混合组网方法 |
CN104836730B (zh) * | 2015-05-08 | 2018-07-24 | 东南大学 | 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 |
CN108770029B (zh) * | 2018-05-02 | 2021-05-04 | 天津大学 | 基于聚类和模糊系统的无线传感器网络分簇路由协议方法 |
CN108882258B (zh) * | 2018-09-18 | 2021-07-27 | 天津理工大学 | 一种面向无线传感器网络的近邻轮转层次分簇方法 |
CN110278048B (zh) * | 2019-04-24 | 2020-04-28 | 南京大学 | 一种基于分簇算法的分级Ad Hoc网络时间同步方法 |
-
2021
- 2021-01-14 CN CN202110045753.4A patent/CN112887947B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131193A (zh) * | 2010-01-12 | 2011-07-20 | 中国人民解放军总参谋部第六十一研究所 | 无线传感器网与计算机网融合网络的安全路由方法 |
CN102158860A (zh) * | 2010-02-12 | 2011-08-17 | 华为技术有限公司 | 无线节点入网方法、系统及中继节点 |
CN102438333A (zh) * | 2010-09-29 | 2012-05-02 | 中兴通讯股份有限公司 | 一种通用的无线传感器网络系统及其信息处理方法 |
CN102244658A (zh) * | 2011-06-28 | 2011-11-16 | 南京工业大学 | 基于散列链的无线传感器网络分区式动态安全路由方法 |
CN102857991A (zh) * | 2012-10-11 | 2013-01-02 | 中航物联技术(北京)有限公司 | 一种具有动态簇头算法的多层wsn无线传感网组网方法 |
CN103929744A (zh) * | 2014-04-03 | 2014-07-16 | 东南大学 | 一种无线传感器网络密钥管理方法 |
CN104244170A (zh) * | 2014-09-28 | 2014-12-24 | 成都金海鼎盛科技有限公司 | 低功耗的蓝牙节点自主组网方法 |
CN104717645A (zh) * | 2015-02-15 | 2015-06-17 | 江西警察学院 | 保证无线传感器网络的数据传输方法及其系统 |
CN105959990A (zh) * | 2016-04-25 | 2016-09-21 | 东莞市联洲知识产权运营管理有限公司 | 一种无线传感器网络拓扑控制方法 |
CN106231547A (zh) * | 2016-07-19 | 2016-12-14 | 河海大学 | 基于动态分簇的移动目标追踪方法 |
CN107690168A (zh) * | 2016-08-04 | 2018-02-13 | 王莹莹 | 一种可扩展的无线传感器网络组网方法 |
US20180091989A1 (en) * | 2016-09-27 | 2018-03-29 | King Fahd University Of Petroleum And Minerals | Energy efficient data collection routing protocol for wireless rechargeable sensor networks |
US20180295531A1 (en) * | 2016-09-27 | 2018-10-11 | King Fahd University Of Petroleum And Minerals | Method for determining data collection in a sensor node/server system |
CN108521661A (zh) * | 2018-04-15 | 2018-09-11 | 佛山市虚拟现实大数据产业研究院有限公司 | 一种基于区块链技术的无线传感器网络路由方法 |
CN108880814A (zh) * | 2018-06-28 | 2018-11-23 | 西安理工大学 | 一种动态的分簇无线传感器网络密钥管理方法 |
WO2020125839A1 (de) * | 2018-12-18 | 2020-06-25 | GRID INVENT gGmbH | Elektronisches element und elektrisch angesteuertes anzeigeelement |
CN109699033A (zh) * | 2019-01-28 | 2019-04-30 | 国网江苏省电力有限公司电力科学研究院 | 面向成本和负载均衡的LoRa电力物联网基站部署方法及装置 |
CN109831811A (zh) * | 2019-03-28 | 2019-05-31 | 中国科学院上海微系统与信息技术研究所 | 分簇路由算法 |
US20200309959A1 (en) * | 2019-03-29 | 2020-10-01 | Wirepas Oy | A-gnss positioning in wireless mesh communication system |
CN110290470A (zh) * | 2019-06-05 | 2019-09-27 | 南京邮电大学 | 基于区块链和边缘计算的隧道定位系统 |
CN110730449A (zh) * | 2019-09-19 | 2020-01-24 | 广东烟草佛山市有限责任公司 | 基于多重区块链的无线传感器网络通信方法及系统 |
Non-Patent Citations (3)
Title |
---|
SOPHIA: ""S1-180243 - TR 22.804 V1.1.0 - study on communication for automation in vertical domains - final - changes tracked"", 《S1-180243》 * |
XIANGYI LI: "An_energy-efficient_cooperative_MIMO_strategy_for_Wireless_Sensor_Networks_with_intra-body_channel", 《IEEE XPLORE》 * |
尹湘源: "无线传感器网络低能耗分簇路由算法关键技术研究", 《中国博士学位论文全文数据库(电子期刊)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112887947B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102036308B (zh) | 一种能量均衡的无线传感器网络分簇方法 | |
CN100373886C (zh) | 基于自适应退避策略的无线传感器网络分布式分簇方法 | |
Radi et al. | Interference-aware multipath routing protocol for QoS improvement in event-driven wireless sensor networks | |
Wang et al. | effSense: Energy-efficient and cost-effective data uploading in mobile crowdsensing | |
CN108900996A (zh) | 一种基于双层模糊算法的无线传感器网络数据传输方法 | |
CN100456728C (zh) | 一种无线自组织网络的建立和工作方法 | |
Li et al. | Vote-based clustering algorithm in mobile ad hoc networks | |
CN111818605A (zh) | 基于区块链安全属性的自组网动态路由学习方法 | |
CN103404202B (zh) | 一种确定中继设备的方法、站点、接入点、中继设备及系统 | |
CN112887947B (zh) | 一种双层区块链的蓝牙Mesh分簇组网方法 | |
CN103369579A (zh) | 一种空中自组织网络拓扑感知与维护方法 | |
CN113055891B (zh) | 基于自适应信任机制的无线传感器网络安全路由方法 | |
CN110831006A (zh) | 自组网系统及其数据传输方法 | |
CN101656683B (zh) | 一种自适应即时消息系统及其实现方法 | |
CN115002863B (zh) | 适用于大规模网络的无线网络路由方法及存储介质 | |
Guo et al. | HEAD: a hybrid mechanism to enforce node cooperation in mobile ad hoc networks | |
Fang et al. | A reputation management scheme based on multi-factor in WSNs | |
Wang et al. | A Secure Clustering Routing Mechanism Based on Trust Evaluation in WSN | |
Kouvatsos et al. | Broadcasting methods in mobile ad hoc networks: an overview | |
CN103581968A (zh) | Ad hoc网络自治节点数据转发协作的激励方法和系统 | |
Nishimura et al. | Secure clustering for building certificate management nodes in ad-hoc network | |
Wang et al. | A unifying look at clustering in mobile ad hoc networks | |
CN108834195B (zh) | 簇状网络结构中的簇合并方法及其模块与微控制器 | |
Udaykumar et al. | Analysis of various clustering algorithms in wireless sensor network | |
Gupta et al. | Detection and Prevention of Selfish Node in MANET using Innovative Brain Mapping Function: Theoretical Model |
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 |