CN111800773B - 蓝牙Mesh节点消息重复识别方法、系统和存储介质 - Google Patents
蓝牙Mesh节点消息重复识别方法、系统和存储介质 Download PDFInfo
- Publication number
- CN111800773B CN111800773B CN202010616486.7A CN202010616486A CN111800773B CN 111800773 B CN111800773 B CN 111800773B CN 202010616486 A CN202010616486 A CN 202010616486A CN 111800773 B CN111800773 B CN 111800773B
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- data
- duplication
- identification code
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种蓝牙Mesh节点消息重复识别方法、系统和存储介质,所述方法包括步骤:S101、在源节点处,针对第一消息生成防重复识别码;S102、在源节点的Bearer Layer中生成第一消息的防重复识别分组,将所述防重复识别分组中放入所述防重复识别码。该节点在接收到消息时,即可在本地Bearer Layer判断是否为重复消息,而不需要进行缓存、解密工作,加快消息处理速度,节省资源消耗。
Description
技术领域
本发明涉及蓝牙Mesh领域,具体涉及一种蓝牙Mesh节点消息重复识别方法、系统和存储介质。
背景技术
2017年7月,Bluetooth SIG(BluetoothSpecial Interest Group,蓝牙技术联盟)发布了基于低功耗蓝牙(BLE,Bluetooth Low Energy)的多对多网络,即蓝牙Mesh网状网络,Mesh网络中的BLE设备称之为Node,即节点,每个节点都可以和其他节点通过广播自由通信。
蓝牙Mesh协议栈包括如图1所示的层次架构,从上至下分为:
Model Layer(模型层),实现各类应用功能的基础;
Foundation Model Layer(基础模型层),实现应用层与Mesh网络协议的适配,定义了其中的消息、状态等属性;
Access Layer(访问层),定义应用的数据格式,以及如何使用传输层的服务,同时能够定义、控制在传输层中的数据加密和解密过程,并对于传输层送达的数据进行验证;
Upper Transport Layer(上传输层),负责对上层应用数据进行加密、解密和认证;
Lower Transport Layer(下传输层),负责网络中传送的PDU的分片和重组;
Network Layer(网络层),定义了各种消息的地址类型、格式,完成数据的网络寻址和转发;
Bearer Layer(承载层),定义了如何使用底层BLE协议栈传输网络PDU(ProtocolDataUnit,协议数据单元),承载方式包括广播承载和GATT承载;
BLE Core Specification(BLE协议栈),低功耗蓝牙协议栈,实现节点之间的无线通信连接,是实现Mesh网络的基础。
上述Bearer Layer通过广播承载接收Mesh网络中的消息,缓存在其缓存空间中,然后传输到Network Layer进行解密,Network Layer通过Network cache来缓存接收到消息,可以通过包中的SEQ(Sequnce number,序列号)、SRC(Source Address,源地址)和DST(Destination Address,目标地址)来标识包,用来判断是否为重复的消息。
如上所述,节点每收到一个消息,均需要在Bearer Layer缓存、Network Layer解密后才能进行判断是否为重复消息,然而,当Mesh网络规模较大、空中重复消息较多时,此类做法过多的消耗了节点的处理时间和资源。
发明内容
为解决上述问题,本发明提供了一种蓝牙Mesh节点消息重复识别方法、系统和计算机可读存储介质,节点在接收到消息时,即可在Bearer Layer判断是否为重复消息,而不需要进行缓存、解密工作,加快消息处理速度,节省资源消耗。
第一方面,本发明提供了一种蓝牙Mesh节点消息重复识别方法,包括以下步骤:
S101、在源节点处,针对第一消息生成防重复识别码;
S102、在源节点的Bearer Layer中生成第一消息的防重复识别分组,将所述防重复识别分组中放入所述防重复识别码。
可选的,所述步骤S101中,根据第一消息的数据报文,生成所述防重复识别码。
可选的,所述步骤S101中,根据第一消息的SEQ、SRC和DST生成所述防重复识别码。
可选的,所述步骤S101中,根据第一消息在剔除了TTL后的数据报文,生成所述防重复识别码。
可选的,所述步骤S102中,所述在第一消息中生成防重复识别分组,具体为,在源节点的Network Layer,生成第一消息的防重复识别分组。
可选的,所述防重复识别分组为AD_Structure组。
可选的,所述消息重复识别方法进一步包括步骤:
S103、Mesh网络的其他节点接收到所述第一消息时,在本地Bearer Layer通过所述防重复识别码与其缓存空间中的第二消息的防重复识别码判断,是否为重复消息。
可选的,所述防重复识别码的生成方式为CRC校验或hash算法。
第二方面,本发明提供了一种蓝牙Mesh节点消息重复识别系统,该系统包括多个节点,每个节点应用上述消息重复识别方法。
第三方面,本发明提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令用于使所述计算机执行上述消息重复识别方法。
本发明所提供的蓝牙Mesh节点消息重复识别方法、系统和计算机可读存储介质,通过第一消息在源节点生成防重复识别码,该防重复识别码至少通过SEQ、SRC和DST生成,具备唯一性,在其他节点接收到该第一消息时,通过该第一消息的防重复识别码与本地Bearer Layer缓存空间中的第二消息的防重复识别码进行对比,可快速的判断第一消息是否为节点所接收的重复消息,不必经过Bearer Layer缓存和Network Layer解密,在快速验证消息重复的同时节省资源消耗,提升Mesh网络的响应速度。
附图说明
附图1为蓝牙Mesh协议栈的层次架构示意图。
附图2为本发明提供的蓝牙Mesh节点消息重复识别方法的步骤示意图。
附图3为Mesh网络消息的数据格式示意图。
附图4为Mesh广播包的数据格式示意图。
附图5为本发明提供的Mesh广播包结合用户自定义的广播包的数据格式示意图。
附图6为本发明提供的蓝牙Mesh节点消息重复识别方法的流程图。
具体实施方式
下面将结合本发明中附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分,而不是全部。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施手段,都属于本发明保护的范围。
本发明提供了一种蓝牙Mesh节点消息重复识别方法,如图2所示,该方法包括以下步骤:
S101、在源节点处,针对第一消息生成防重复识别码;
S102、在源节点的Bearer Layer中生成第一消息的防重复识别分组,将所述防重复识别分组中放入所述防重复识别码。
上述消息重复识别方法进一步包括步骤:
S103、Mesh网络的其他节点接收到所述第一消息时,在本地Bearer Layer通过所述防重复识别码与其缓存空间中的第二消息的防重复识别码判断,是否为重复消息。
上述源节点在本发明中指的是生成第一消息的节点,防重复识别码在生成第一消息时同步生成,区别于第一消息的数据报文分组,存放防重复识别码为防重复识别分组。
Mesh网络的消息数据格式如图3所示,其中,图中所示AD_Data为Network Layer加密封装的数据报文,AD_Type指示AD_Data的报文类型,AD_Type的类型决定了Bearer Layer是否可获取AD_Data的数据报文。在AD_Type = 0x2a时,该类型为Mesh Message包,BearerLayer无法解密AD_Data的数据报文;在AD_Type = 0xff时,该类型为产商自定义的广播包,在Bearer Layer便可以获得对应的AD_Data数据报文。
基于上述AD_Type的类型不同,在Bearer Layer可供获取的数据报文不同,本发明在上述步骤S102中,所述防重复识别分组即为上述AD_Type = 0xff的格式分组,在防重复识别分组中的AD_Data存放有防重复识别码,节点在接收到第一消息时,即可通过步骤S103,在本地Bearer Layer获取防重复识别码,对比缓存空间中的第二消息的防重复识别码进行判断,不必经过Bearer Layer缓存和Network Layer解密,快速的判断第一消息是否为节点所接收的重复消息。
作为上述防重复识别码的一种可选生成方式,上述步骤S101中,根据第一消息的数据报文,生成所述防重复识别码。具体的,源节点在生成第一消息时,根据Mesh广播包AD_Data的数据报文生成防重复识别码,Mesh广播包的数据格式如图3、图4所示,防重复识别码根据图4所示AD_Data的数据报文生成。
作为上述防重复识别码的另一种可选生成方式,上述步骤S101中,根据第一消息的SEQ、SRC和DST生成所述防重复识别码。在蓝牙Mesh网络中,消息在节点之间转发过程中将修改图4所示TTL(Time To Live,存活时间)值,TTL值表示可转发次数,指示消息的存活时间,如若按照上述根据Mesh广播包AD_Data的数据报文生成防重复识别码的方式,在TTL值被修改的情况下,防重复识别码将与节点接收前的防重复识别码不同,节点在接收到前后两个防重复识别码不同但核心报文数据AD_Data相同的消息时,Bearer Layer将误判断为两者为非重复消息。因此,本发明进一步的,根据第一消息的SEQ、SRC和DST生成所述防重复识别码。如背景技术所述,消息的唯一性通过SEQ、SRC和DST表明,且在转发过程中无数据修改,TTL值不参与防重复识别码的生成,因此,转发前后的防重复识别码一致,防止误判断情况的发生。
作为上述防重复识别码的另一种可选生成方式,上述步骤S101中,根据第一消息在剔除了TTL后的数据报文,生成所述防重复识别码。由上述防重复识别码的可选生成方式可知,消息在转发过程中,由于TTL值的修改将导致重复消息的误判断,因此可在防重复识别码生成时,由在Mesh广播包数据报文剔除了TTL后的数据报文生成。此生成方式同样可使转发前后的防重复识别码一致,防止误判断情况的发生。
上述步骤S102中,所述在第一消息中生成防重复识别分组,具体为,在源节点的Network Layer,生成第一消息的防重复识别分组。消息在Network Layer进行如上所述的数据报文封装加密时,生成Mesh广播包的AD_Data,同时生成防重复识别码;在BearerLayer生成Mesh广播包分组和用户自定义的防重复识别分组,AD_Data存放在Mesh广播包分组中,防重复识别码存放在防重复识别分组中,Mesh广播包分组和防重复识别分组结合形成本发明所述消息的核心负载。如图5所示,Mesh广播包中存放数据报文AD_Data,用户自定义的广播包存放防重复识别码Rep_Check,在消息中,Mesh广播包的分组为AD_Structure_1分组,组中的AD_Type = 0x2a;用户自定义的广播包的分组为AD_Structure_2分组,组中的AD_Type = 0xff。节点在接收到如图5所示数据格式的消息时,在Bearer Layer即可获取AD_Type = 0xff的AD_Structure_2分组的防重复识别码Rep_Check,对比缓存空间中的第二消息的防重复识别码进行判断,不必经过Bearer Layer缓存和Network Layer解密,快速的判断第一消息是否为节点所接收的重复消息。
进一步的,上述节点缓存空间中的第二消息的防重复识别码可通过一识别码列表进行维护,识别码列表用于保存本地节点保存所接收消息的历史防重复识别码,列表深度可由用户自定义。在步骤S103中,Mesh网络的其他节点接收到所述第一消息时,可变的,在Bearer Layer通过所述防重复识别码与其识别码列表的防重复识别码判断,是否为重复消息。
本发明中,上述防重复识别码的生成方式可选的为CRC校验或hash算法。
图6示出了上述消息重复识别方法的流程图,在Mesh网络的各个节点处,接收到上述第一消息时,在Bearer Layer获取第一消息的防重复识别码,并对比Bearer Layer缓存空间中的第二消息的防重复识别码,判断缓存空间中是否存在第二消息的防重复识别码与第一消息的防重复识别码相同,若存在则丢弃所接收到的第一消息,若不存在则缓存第一消息至缓存空间,待传输至Network Layer及更上层进行处理,并保存该防重复识别码到识别码列表中。
基于上述内容,本发明还提供了一种蓝牙Mesh节点消息重复识别系统,该系统包括多个节点,每个节点应用上述消息重复识别方法。
基于上述内容,本发明还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述重复识别方法和系统。相关说明可以对应上述内容的相关描述和效果进行理解,此处不做过多赘述。
在本发明中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或计算机可读储存介质。计算机可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。计算机可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
尽管展示、描述并指出了应用于其优选实施方式的本发明的基本新颖特征,但是应该理解,本领域的熟练技术人员可以对所描述的设备和方法的形式和细节进行各种删节、替换和变更,而并不背离本发明的实质。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种蓝牙Mesh节点消息重复识别方法,其特征在于,Mesh网络的消息数据格式包括AD_Data和AD_Type,AD_Data为网络层加密封装的数据报文,AD_Type指示AD_Data的报文类型,在AD_Type = 0x2a时,AD_Data数据报文的类型为Mesh Message包,承载层无法解密AD_Data数据报文;在AD_Type = 0xff时,AD_Data数据报文的类型为产商自定义的广播包,在承载层便可以获得对应的AD_Data数据报文;
所述方法包括以下步骤:
S101、在源节点的网络层处针对第一消息生成防重复识别码;
S102、在源节点的承载层中生成第一消息的防重复识别分组和Mesh广播包分组,将所述防重复识别分组中放入所述防重复识别码,所述防重复识别分组由用户自定义,所述Mesh广播包分组为AD_Structure_1分组,所述AD_Structure_1组中的AD_Type = 0x2a,所述防重复识别分组为AD_Structure_2分组,所述AD_Structure_2分组中的AD_Type =0xff;
S103、Mesh网络的其他节点接收到所述第一消息时,在本地承载层即可获取AD_Type =0xff的AD_Structure_2分组的防重复识别码,并在本地承载层通过所述防重复识别码与其缓存空间中的第二消息的防重复识别码判断所述第一消息是否为重复消息。
2.如权利要求1所述方法,其特征在于,所述步骤S101中,根据第一消息的数据报文,生成所述防重复识别码。
3.如权利要求1所述方法,其特征在于,所述步骤S101中,根据第一消息的序列号、源地址和目标地址生成所述防重复识别码。
4.如权利要求1所述方法,其特征在于,所述步骤S101中,根据第一消息在剔除了存活时间后的数据报文,生成所述防重复识别码。
5.如权利要求1-4任一项所述方法,其特征在于,所述防重复识别码的生成方式为CRC校验或hash算法。
6.一种蓝牙Mesh节点消息重复识别系统,其特征在于,该系统包括多个节点,每个节点应用权利要求1-5任一项所述方法。
7.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616486.7A CN111800773B (zh) | 2020-06-30 | 2020-06-30 | 蓝牙Mesh节点消息重复识别方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616486.7A CN111800773B (zh) | 2020-06-30 | 2020-06-30 | 蓝牙Mesh节点消息重复识别方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800773A CN111800773A (zh) | 2020-10-20 |
CN111800773B true CN111800773B (zh) | 2021-08-24 |
Family
ID=72810770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010616486.7A Active CN111800773B (zh) | 2020-06-30 | 2020-06-30 | 蓝牙Mesh节点消息重复识别方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111800773B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115175111A (zh) * | 2022-07-11 | 2022-10-11 | 上海庆科信息技术有限公司 | 消息处理方法、装置、蓝牙网关设备、存储介质及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717105A (zh) * | 2015-02-11 | 2015-06-17 | 西安航天自动化股份有限公司 | 一种基于ISA100.11a标准的工业传感网数据重复检测方法 |
CN106658355A (zh) * | 2016-09-26 | 2017-05-10 | 珠海格力电器股份有限公司 | 一种在蓝牙ble组网中转发广播包的方法及系统 |
CN110996268A (zh) * | 2019-12-12 | 2020-04-10 | 上海磐启微电子有限公司 | 基于SIG mesh的广播承载层报文过滤策略的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100157888A1 (en) * | 2008-12-18 | 2010-06-24 | Motorola, Inc. | System and method for improving efficiency and reliability of broadcast communications in a multi-hop wireless mesh network |
US9444727B2 (en) * | 2012-10-16 | 2016-09-13 | Cisco Technology, Inc. | Duplicating traffic along local detours before path remerge to increase packet delivery |
CN110943917B (zh) * | 2019-11-26 | 2021-09-24 | 中国电子科技集团公司第五十四研究所 | 一种减少多路由网络中冗余报文的方法 |
-
2020
- 2020-06-30 CN CN202010616486.7A patent/CN111800773B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717105A (zh) * | 2015-02-11 | 2015-06-17 | 西安航天自动化股份有限公司 | 一种基于ISA100.11a标准的工业传感网数据重复检测方法 |
CN106658355A (zh) * | 2016-09-26 | 2017-05-10 | 珠海格力电器股份有限公司 | 一种在蓝牙ble组网中转发广播包的方法及系统 |
CN110996268A (zh) * | 2019-12-12 | 2020-04-10 | 上海磐启微电子有限公司 | 基于SIG mesh的广播承载层报文过滤策略的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111800773A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10050964B2 (en) | Method and system for securing data communicated in a network | |
CN109168150B (zh) | 一种蓝牙快速组网方法 | |
CN105119785A (zh) | 智能家居网络节点的配置方法、数据发送和接收方法 | |
CN105516139A (zh) | 一种网络数据的传输方法、装置及系统 | |
WO2021022794A1 (zh) | 基于rdma的数据传输方法、网卡、服务器及介质 | |
CN104619040A (zh) | WiFi设备快速连接的方法和系统 | |
CN107342964A (zh) | 一种报文解析方法及设备 | |
EP3116196A1 (en) | Secure group communication | |
CN105100268A (zh) | 一种物联网设备的安全控制方法、系统及应用服务器 | |
CN111800773B (zh) | 蓝牙Mesh节点消息重复识别方法、系统和存储介质 | |
CN107872315B (zh) | 数据处理方法和智能终端 | |
WO2022174827A1 (zh) | 组播或广播业务数据的安全保护方法及装置 | |
JP2017191965A (ja) | 通信装置及びパケット送受信プログラム | |
CN108494764B (zh) | 一种身份认证方法及装置 | |
CN110225517B (zh) | 一种信息发送方法、装置、系统以及计算机可读存储介质 | |
JP7193184B2 (ja) | マルチキャストグループ内の購読者にキーデータを伝送するデバイス | |
US20210044971A1 (en) | Security Credentials Recovery in Bluetooth Mesh Network | |
CN115767513A (zh) | 一种WiFi Mesh的数据组网模式 | |
US11546829B2 (en) | Bluetooth mesh network system and communication method having unprovisioned communication mechanism | |
EP3272106B1 (en) | Method for user friendly address in mesh networking | |
CN108989173A (zh) | 一种报文传输的方法及装置 | |
CN113302961B (zh) | 安全信标 | |
KR102178624B1 (ko) | 적어도 하나의 디바이스에 데이터를 송신하기 위한 방법, 데이터 송신 제어 서버, 저장 서버, 처리 서버 및 시스템 | |
CN113271586A (zh) | 电力设备体域网安全通信方法及系统、存储介质 | |
CN105516105A (zh) | 硬件标识变化的安全接入目的设备方法及系统 |
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 |