CN117098161A - 数据传输方法、装置、网络设备及存储介质 - Google Patents

数据传输方法、装置、网络设备及存储介质 Download PDF

Info

Publication number
CN117098161A
CN117098161A CN202311346587.7A CN202311346587A CN117098161A CN 117098161 A CN117098161 A CN 117098161A CN 202311346587 A CN202311346587 A CN 202311346587A CN 117098161 A CN117098161 A CN 117098161A
Authority
CN
China
Prior art keywords
node
information
surrounding
data packet
target
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
Application number
CN202311346587.7A
Other languages
English (en)
Other versions
CN117098161B (zh
Inventor
赵鹏洋
邵明绪
胡震文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Fengyu Information Technology Co ltd
Original Assignee
Xi'an Fengyu Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xi'an Fengyu Information Technology Co ltd filed Critical Xi'an Fengyu Information Technology Co ltd
Priority to CN202311346587.7A priority Critical patent/CN117098161B/zh
Publication of CN117098161A publication Critical patent/CN117098161A/zh
Application granted granted Critical
Publication of CN117098161B publication Critical patent/CN117098161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing 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

本申请提供了一种数据传输方法、装置、网络设备及存储介质,方法应用于自组织网络中的第一节点,方法包括:获取第一节点的周围节点信息和第二节点的周围节点信息;周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;根据第一节点的周围节点信息和第二节点的周围节点信息,确定目标节点的信息;响应于接收到第二节点的数据包时,根据目标节点的信息对数据包进行转发;目标节点和第二节点间的通信链路质量值小于第一预设值,或者目标节点不属于第二节点的周围节点信息中的节点。

Description

数据传输方法、装置、网络设备及存储介质
技术领域
本申请涉及通信技术领域,更具体地,涉及通信技术领域中一种数据传输方法、装置、网络设备及存储介质。
背景技术
无线自组织网络中的网络节点基于多跳转发链路,由中继节点对源节点发送的数据包进行转发,实现各个网络节点之间相互连通。无中心自组网中的每个节点在网络中具有相同功能,网络中任意一个节点发生故障,不会对整个通信网络造成很大影响。因此,无中心自组网具有很强的鲁棒性和抗毁性。
在相关技术中,无线自组织网络采用路由协议的方式或者网络泛洪的方式实现数据传输。在户外骑行的场景下,头盔对讲耳机,可以基于无线自组织网络,实现头盔通信系统的多人语音对讲功能。由于各设备节点具有快速的移动特性,整个网络拓扑结构会非常频繁的更新,当使用路由协议进行数据传输时,复杂的广播、组播路由协议将带来大量的信令开销。
在网络泛洪的方式进行数据传输时,网络节点对数据包以广播的形式发送、转发,当网络中节点较多且距离相近时,同一条消息在网络中大量重复发送形成网络风暴,在节点密度较大的网络中,无效的冗余广播信息将占用大量网络资源,增加无线自组织网络的网络负载。复杂的广播、组播路由协议虽然能减少网络泛洪产生的数据开销,但同时会带来大量的信令开销。因此,如何降低无线自组织网络的网络负载成为亟需解决的问题。
发明内容
本申请提供了一种数据传输方法、装置、网络设备及存储介质,该方法能够提高无线网络信道的利用率,进而提高数据传输效率。
第一方面,提供了一种数据传输方法,所述方法应用于自组织网络中的第一节点,所述方法包括:获取第一节点的周围节点信息和第二节点的周围节点信息;所述周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息;响应于接收到所述第二节点的数据包时,根据所述目标节点的信息对所述数据包进行转发;所述目标节点和所述第二节点间的通信链路质量值小于第一预设值,或者所述目标节点不属于所述第二节点的周围节点信息中的节点。
上述技术方案中,第一节点接收到第二节点的数据包时,可以在目标节点和第二节点间的通信链路质量值小于第一预设值,或者目标节点不属于第二节点的周围节点信息中的节点的情况下,根据目标节点的信息对数据包进行转发,即,本申请实施例可以基于周围节点信息进行数据包的选择性转发,减少数据包在网络信道的无效转发,降低冗余数据转发对网络信道的资源占用,降低无线自组织网络的网络负载。
结合第一方面,在某些可能的实现方式中,所述第一节点存在M个一级邻居节点,所述获取第一节点的周围节点信息,包括:测量所述第一节点和第j节点间的通信链路质量值,得到M个测量结果;根据所述M个测量结果得到所述第一节点的周围节点信息;所述第j节点属于所述M个一级邻居节点中的任一个节点;所述通信链路质量值为接收信号强度值。
结合第一方面和上述实现方式,在某些可能的实现方式中,所述获取第二节点的周围节点信息,包括:接收所述第二节点的广播消息,所述广播消息包括所述第二节点的周围节点信息;间隔预设时间周期广播所述第一节点的周围节点信息。
结合第一方面和上述实现方式,在某些可能的实现方式中,所述根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息,包括:根据所述第二节点的周围节点信息确定第一预设值,所述第一预设值为所述第二节点的周围节点信息中通信链路质量值的平均值;根据所述第二节点的周围节点信息和所述第一预设值,在所述第一节点的一级邻居节点中确定目标节点。
结合第一方面和上述实现方式,在某些可能的实现方式中,所述目标节点不属于所述第二节点的周围节点信息中的节点;所述根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息,包括:根据所述第一节点的周围节点信息得到第一集合;根据所述第二节点的周围节点信息得到第二集合;根据所述第一集合和所述第二集合的计算结果确定所述目标节点的信息。
结合第一方面和上述实现方式,在某些可能的实现方式中,所述根据所述目标节点的信息对所述数据包进行转发,包括:在所述第一节点的一级邻居节点中确定是否存在所述目标节点;在存在所述目标节点且所述第一节点的缓存数据中不包含所述第二节点的数据包的情况下,根据所述目标节点的节点信息,将所述数据包转发至所述目标节点;或者,在存在所述目标节点且所述第一节点的缓存数据中不包含所述第二节点的数据包的情况下,广播所述第二节点的数据包。
结合第一方面和上述实现方式,在某些可能的实现方式中,所述根据所述目标节点的信息对所述数据包进行转发,包括:在所述第一节点的一级邻居节点中确定是否存在所述目标节点;在不存在所述目标节点的情况下,不对所述数据包进行转发。
第二方面,提供了一种数据传输装置,该装置包括:获取模块,用于获取第一节点的周围节点信息和第二节点的周围节点信息;所述周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;处理模块,用于根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息;响应模块,用于响应于接收到所述第二节点的数据包时,根据所述目标节点的信息对所述数据包进行转发;所述目标节点和所述第二节点间的通信链路质量值小于第一预设值,或者所述目标节点不属于所述第二节点的周围节点信息中的节点。
第三方面,提供了一种网络设备,包括存储器和处理器。该存储器用于存储可执行程序代码,该处理器用于从存储器中调用运行该可执行程序代码,使得该网络设备执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种数据传输方法的示意性流程图;
图2是本申请实施例提供的一级节点关系的示意图;
图3是本申请实施例提供的一种网络拓扑的结构示意图;
图4是本申请实施例提供的另一种网络拓扑的结构示意图;
图5是本申请实施例提供的一种数据传输装置的结构示意图;
图6是本申请实施例提供的一种网络设备的结构示意图;
图7是本申请实施例提供的一种无线通信系统的场景示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B:文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。
在对本申请实施例提供的一种数据传输方法进行详细的解释说明之前,先对本申请实施例提供的应用场景进行介绍。
无线自组织网络是由一组兼具终端及路由功能的设备通过无线链路形成的无中心、多跳、临时性自治系统,其目的是通过动态路由和移动管理技术传输满足一定服务质量要求的数据流。不需要任何基础设施支持,节点通过自组织的方式形成多跳的无线网络。
目前,无线自组织网络普遍采用路由协议的方式实现数据在多节点间的多跳传输。在采用路由协议传输数据时,各个节点发送探测消息来确定其他节点的地址,进而确定本节点到其他节点的路径,即各个节点与其他节点交换路由信息,根据交换的路由信息来建立本节点的路由表,路由表中包括目的节点、到达目的节点的度量值(最少跳数)、去往目的节点的下一跳、以及目标节点相关序列号等信息。
在相关技术中,各节点间需要定期交换路由更新信息,以维护和更新路由表。在传输数据时,当前节点在接收到数据时,通过查找自身的路由表来确定数据从源节点到目的节点的路径,将数据转发至去往目的节点的下一跳,即下一节点。
在户外骑行的场景下,用户通过音频对讲设备进行音频数据传输,由于各节点都在移动变化,整个网络拓扑结构会非常频繁地变化。如果使用路由协议来传输数据时,各节点需要频繁发送探测消息来建立和维护路由表,如此会产生更大的信令开销。且探测消息占用网络信道的时间更长,导致网络信道的利用率低,网络时延增大,进而导致数据转发效率降低。
基于此,本申请实施例提供了一种数据传输方法,在该方法中无线自组织网络可以不采用路由协议的方式传输数据,如此可以消除路由表的建立和维护开销,进而提高无线网络信道的利用率和数据传输效率。
本公开实施例提供的数据传输方法可以应用于蓝牙MESH网络,蓝牙MESH网络中的节点设备可以是头盔对讲耳机、手持对讲设备。参见表1,蓝牙MESH网络的层次构架为:低功耗蓝牙技术(Bluetooth Low Energy,BLE)层、承载层、网络层、传输下层、传输上层、接入层、基础模型层、模型层。其中,BLE层为低功耗蓝牙连接层,实现节点之间的无线通信连接,是实现MESH网络的基础。承载层定义如何使用底层BLE协议栈传输网络PDU(Protocol DataUnit,协议数据单元)。承载方式分为2种:广播承载和GATT(GenericAttributeProfile,普通属性协议)承载。网络层定义各种消息的地址类型、格式,完成数据的网络寻址和转发。
传输下层主要负责网络中传送的PDU的分片和重组。传输上层负责对上层应用数据进行加密、解密和认证。接入层定义应用的数据格式,以及如何使用传输层的服务(网络服务)。同时能够定义、控制在传输层中的数据加密和解密过程,并对于传输层送达的数据进行验证。基础模型层实现应用层与自组织网络协议的适配,定义其中的消息、状态等属性。模型层:在蓝牙自组织网络中,模型层是实现各类应用功能的基础。
表1 网络层结构
图1是本申请实施例提供的一种数据传输方法的示意性流程图。该方法应用于自组织网络中的第一节点,如图1所示,该方法包括:
步骤101,获取第一节点的周围节点信息和第二节点的周围节点信息;周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值。
在示例中,自组织网络中的两个相邻节点基于相同的通信协议传输通信数据,第一节点属于第二节点的一级邻居节点,第二节点属于第一节点的一级邻居节点。
对于第一节点,第一节点的周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值,示例地,第一节点存在M个一级邻居节点,第i节点为第一节点的M个一级邻居节点中的某个一级邻居节点,第i节点的一级邻居节点即为第一节点的二级邻居节点。因此,周围节点信息(节点关系)包括一级节点关系和二级节点关系,一级节点关系为当前节点和一级邻居节点之间的关系,二级节点关系为一级邻居节点和当前节点的各二级邻居节点之间的关系。
在得到一级邻居节点的地址、当前节点与一级邻居节点之间的通信链路质量值后,将一级邻居节点的地址和当前节点与一级邻居节点之间的通信链路质量值一一对应,生成一级节点关系。该一级节点关系具体地可以以表格的形式表示,本申请实施例对一级节点关系的表示类型不作限定。
图2是本申请实施例提供的一级节点关系的示意图。如图2所示,该一级关系以表格形式表示,NodeAddress表示一级邻居节点的物理地址,LQI表示当前节点与一级邻居节点之间的通信链路质量值,LQI值越大表示该链路的通信质量越好。从图2可以看到该当前节点存在4个一级邻居节点,每个一级邻居节点的物理地址和当前节点与该一级邻居节点之间的通信链路质量值一一对应。
图3是本申请实施例提供的一种网络拓扑的结构示意图;在图3每个圆表示1个节点,圆中的数字表示节点的序号,其中,序号1对应Node1,序号2对应Node2,序号3对应Node3,序号4对应Node4,序号5对应Node5,序号6对应Node6。
在本公开实施例中,第一节点(Node1)的周围节点包括Node2、Node3、Node5、Node6;第二节点(Node2)的周围节点包括Node1、Node5、Node6。参见表2和表3,第一节点的周围节点信息包括第一节点和第一节点的一级邻居节点间的通信链路质量值;第二节点的周围节点信息包括第二节点和第二节点的一级邻居节点间的通信链路质量值。
表2 第一节点(Node1)的周围节点信息
Node1周围节点的节点标识 Node1周围节点的物理地址 Node1和Node1周围节点间的通信链路质量
Node2 Ox00100001 200
Node3 Ox00202311 201
Node5 Ox003032F0 230
Node6 0x0030F001 200
表3 第二节点(Node2)的周围节点信息
Node2周围节点的节点标识 Node2周围节点的物理地址 Node2和Node2周围节点间的通信链路质量
Node1 0x00101234 200
Node5 Ox003032F0 175
Node6 0x0030F001 135
步骤102,根据第一节点的周围节点信息和第二节点的周围节点信息,确定目标节点的信息。
在示例中,当前节点为第一节点,由于第一节点属于第二节点的周围节点,因此第一节点可以接收到第二节点广播的数据包。为区分第一节点、第二节点、目标节点的关系,将目标节点定义为以下两种情况:
情况1:目标节点不属于第二节点的周围节点信息中的节点。对于情况1,第一节点(Node1)的周围节点包括Node2、Node3、Node5、Node6,第二节点(Node2)的周围节点包括Node1、Node5、Node6。在此情况下,目标节点为Node3。
情况2:目标节点和第二节点间的通信链路质量小于第一预设值。
图4是本申请实施例提供的一种网络拓扑的结构示意图;由图4可见,第二节点(Node2)的周围节点包括Node1、Node5、Node6。第二节点(Node2)和Node1、Node5、Node6间的通信链路质量值分别为200、175、135。
步骤103,响应于接收到第二节点的数据包时,根据目标节点的信息和第一节点的数据缓存信息对第二节点的数据包进行转发;第一节点的缓存数据中不包含第二节点的数据包。
应理解,第一节点的缓存数据中不包含第二节点的数据包,说明第一节点首次接收到第二节点的数据包。
对于情况1,目标节点不属于第二节点的周围节点信息中的节点。第一节点(Node1)的周围节点包括Node2、Node3、Node5、Node6,第二节点(Node2)的周围节点包括Node1、Node5、Node6。在第二节点(Node2)的周围节点中,Node3不属于第一节点(Node1)的周围节点;因此,第二节点(Node2)在接收到第一节点(Node1)的数据包时,需要由第一节点(Node1)将第二节点(Node2)的数据包进行广播,这样,Node3可以在广播通信范围内接收到第一节点(Node1)的数据包。
对于情况2,目标节点和第二节点间的通信链路质量小于第一预设值,第一预设值为150。参见图4,第二节点(Node2)的周围节点包括Node1、Node5、Node6,第二节点(Node2)和Node1、Node5、Node6间的通信链路质量值分别为200、175、135。在此情况下,目标节点为Node6。由于第二节点(Node2)和Node6间的通信链路质量值小于第一预设值,因此存在数据包丢失的风险,这种情况下,需要由第一节点(Node1)将第二节点(Node2)的数据包进行广播,这样,Node6可以在广播通信范围内接收到第一节点(Node1)的数据包。
在一种可能的实现方式中,获取第二节点的周围节点信息,包括以下步骤:接收第二节点的广播消息,广播消息包括第二节点的周围节点信息;间隔预设时间周期广播第一节点的周围节点信息。其中,预设时间周期可以预先设置,本申请实施例对此不作限定。
在本公开实施例中,每个节点间隔预设时间周期广播当前节点的周围节点信息。因此,第一节点在接收到第二节点的广播消息,可以获取第二节点的周围节点信息,将第二节点的周围节点信息存储在第一节点的存储器中。
其中,无线自组织网络中每个节点都会周期性向外广播自己的一级邻居节点信息,周期性接收其他节点广播的一级邻居节点信息,以生成每个节点的一级节点关系,该一级邻居节点包括每个节点能够接收到通信信号的至少一个节点。当某一节点接收到另一节点广播的一级邻居节点信息,即表示另一节点为该节点的一级邻居节点。
对于当前节点(第一节点),当前节点会周期性向外广播自己的一级邻居节点信息,周期性接收其他节点广播的一级邻居节点信息,以生成当前节点的节点关系(周围节点信息)。因此,当第二节点发送广播信息时,第一节点如果能够接收到该广播消息,则表明第一节点为第二节点的一级邻居节点。
在一种可能的实现方式中,第一节点存在M个一级邻居节点,获取第一节点的周围节点信息,包括以下步骤:测量第一节点和第j节点间的通信链路质量值,得到M个测量结果;根据M个测量结果得到第一节点的周围节点信息;第j节点属于M个一级邻居节点中的任一个节点;通信链路质量值为接收信号强度值。
在示例中,参见表4,第一节点存在3个一级邻居节点,获取第一节点的周围节点信息,包括以下步骤:测量第一节点和每个一级邻居节点间的通信链路质量值,得到3个测量结果;根据3个测量结果得到第一节点的周围节点信息;通信链路质量值为接收信号强度值。
表4 第一节点(Node1)的周围节点信息
第j节点的节点标识 Node2 Node3 Node5 Node6
第j节点的物理地址 0x00100001 Ox00202311 Ox003032F0 0x0030F001
Node1和第j节点间的通信链路质量 200 201 230 200
具体地,当前节点可以向外发送探测消息,如果网络信道中存在某些节点能够接收到该探测消息,则确定这些节点为当前节点的一级邻居节点。即,当前节点可以向其一级邻居节点发送探测消息。这些一级邻居节点也向当前节点发送回复消息,这样,在当前节点接收到该回复消息后,即可确定当前节点的一级邻居节点都有哪些节点,获取能唯一标识这些节点的地址,该地址具体地包括媒体接入控制(Media Access Control,MAC)地址,即物理地址。
相应地,在当前节点接收到回复消息后,当前节点还可以确定当前节点与一级邻居节点之间的通信链路质量值。通信链路质量值表示当前节点与一级邻居节点之间的网络通信能力,通信链路质量值越高,当前节点与一级邻居节点之间的网络通信能力越强。
其中,通信链路质量值可以通过射频收发器测量得到。该通信链路质量值可以用当前节点接收的信号强度值来表示,也可以用信道能量来表示,也可以用当前节点在一段时间内收发数据的成功率来表示,也可以用其他测量数据来表示,这些测量数据都可以通过射频收发器测量得到。当然,还可以用这些测量数据的综合计算结果来表示。
作为示例,可以基于每个测量数据的重要性给相应测量数据赋以权重值,在通过射频收发器测量得到多个测量数据后,根据每个测量数据和相应测量数据的权重确定一个综合计算结果,将该综合计算结果作为通信链路质量值。本申请实施例对通信链路质量值的表示方式不作限定。
在一种可能的实现方式中,目标节点不属于第二节点的周围节点信息中的节点;根据第一节点的周围节点信息和第二节点的周围节点信息,确定目标节点的信息,包括以下步骤:根据第一节点的周围节点信息得到第一集合;根据第二节点的周围节点信息得到第二集合;根据第一集合和第二集合的计算结果确定目标节点的信息。这种情况下,目标节点不属于第二节点的周围节点信息中的节点。
在无线自组织通信网络中,各节点在转发数据包时,只能将数据包转发至自身节点可通信范围内的节点,即只有该节点的一级邻居节点能接收到该节点转发的数据包。所以如果当前节点的一级邻居节点中存在某一节点a,而发送节点的一级邻居节点中不存在该节点a,则说明该节点a未能接收到数据包,此时当前节点则需要将数据包进行转发,以保证节点a能够接收到数据包。
对于第一节点的周围节点信息,该周围节点信息中包括第一节点的各一级邻居节点的唯一标识,可以根据这些唯一标识形成数值的集合,即根据第一节点的周围节点信息得到第一集合A,相应地,根据第二节点的周围节点信息得到第二集合B,确定第一集合A和第二集合B的交集A∩B,确定第一集合A与A∩B的差,即,确定A-A∩B,如果A-A∩B存在某节点,则将该节点作为目标节点,该目标节点属于未能接收到第二节点转发的数据包的节点。
例如,第一节点3的第一集合A包括节点2,5,6,4,第二节点2的第二集合B包括节点1,5,6,3,则第一集合A和第二集合B的交集A∩B包括节点5和6,第一集合A与A∩B的差包括节点2和4,节点2是数据包的发送节点,忽略节点2,因此节点4即为目标节点,后续第二节点可以将数据包转发至节点4。
具体地,如果发送节点的一级邻居节点的地址(第二节点的周围节点信息)中不存在候选节点,候选节点为当前节点的一级节点关系中除发送节点外任一个一级邻居节点,则确定数据包需要转发;如果发送节点的一级邻居节点的地址中存在候选节点,则基于候选节点与发送节点之间的链路质量,确定数据包是否需要转发。其中,发送节点的邻居节点信息包括:发送节点的一级邻居节点的地址、以及一级邻居节点与发送节点之间的链路质量。
由于各节点在转发数据包时,只能将数据包转发至自身节点可通信范围内的节点,即只有该节点的一级邻居节点能接收到该节点转发的数据包。因此,当前节点可以确定发送节点的一级邻居节点的地址中是否存在候选节点的地址。如果发送节点的一级邻居节点的地址中不存在候选节点的地址,说明候选节点未能接收到发送节点转发的数据包,则确定数据包需要转发。此时候选节点也可以称为目标节点。
如果发送节点的一级邻居节点的地址中存在候选节点的地址,则需要判断发送节点是否安全地将数据包转发至候选节点。因此,可以基于候选节点与发送节点(第二节点)之间的链路质量,确定数据包是否需要转发。
在一种可能的实现方式中,根据第一节点的周围节点信息和第二节点的周围节点信息,确定目标节点的信息,包括以下步骤:根据第二节点的周围节点信息确定第一预设值,第一预设值为第二节点的周围节点信息中通信链路质量值的平均值;根据第二节点的周围节点信息和第一预设值,在第一节点的一级邻居节点中确定目标节点。
其中,可以确定第二节点的一级节点关系中,第二节点与第二节点的一级邻居节点之间的通信链路质量值的平均值,得到第一预设值,第一预设值可以作为第二节点与其他节点间转发数据包的安全链路质量值;根据第一节点的一级邻居节点和第二节点的一级邻居关系的交集,即确定第一集合和第二集合的交集中的节点,确定该交集中的各节点与第二节点间的通信链路质量值与第一预设值的大小关系,如果存在某一节点与第二节点间的通信链路质量值小于第一预设值,则说明该节点很有可能未接收到第二节点转发的数据包,因此在这种情况下,第一节点需要将数据包转发至该节点(目标节点)。
具体地,基于候选节点与发送节点(第二节点)之间的通信链路质量值,确定数据包是否需要转发的实现过程包括以下步骤:如果候选节点与发送节点之间的通信链路质量值小于第一预设值,确定数据包需要转发;如果候选节点与发送节点之间的通信链路质量值大于第一预设值,确定数据包不需要转发。
通常,当某两个节点之间的通信链路质量值大于安全链路质量值时,可以认为该链路的传输是安全的,即认为这两个节点能够安全传输数据包。上述第一预设值即为安全链路质量值。安全链路质量值可以是第二节点与第二节点的一级邻居节点之间的通信链路质量值的平均值,该安全链路质量也可以预先设置,如根据多次实验确定网络中能够安全传输数据包的链路质量的最低值,将该最低值作为第一预设值。
因此,如果候选节点与发送节点之间的通信链路质量值小于第一预设值,则说明该链路的传输存在数据包丢失的风险,候选节点很有可能未成功接收到发送节点转发的数据包。因此在这种场景下,当前节点需要转发数据包,以使候选节点能安全接收到数据包。此时候选节点也可以称为目标节点。如果候选节点与发送节点之间的链路质量大于预设阈值,则说明该链路的传输是安全的,候选节点已成功接收到发送节点转发的数据包。因此在这种场景下,当前节点就不需要再转发数据包。
在一种可能的实现方式中,根据目标节点的信息对数据包进行转发的实现过程包括以下步骤:在第一节点的一级邻居节点中确定是否存在目标节点;在存在目标节点且第一节点的缓存数据中不包含第二节点的数据包的情况下,根据目标节点的节点信息,将数据包转发至目标节点;或者,在存在目标节点且第一节点的缓存数据中不包含第二节点的数据包的情况下,广播第二节点的数据包。
由于目标节点是需要转发的节点,因此可以在第一节点的一级邻居节点(一级节点关系)中确定是否存在目标节点,如果存在目标节点,则说明该目标节点未接收到第二节点转发的数据包,因此可以将数据包转发至目标节点。如果第一节点的一级邻居节点中不存在目标节点,则说明第一节点的一级节点关系中的每个节点均接收到第二节点转发的数据包,因此不再对数据包进行转发。
在本申请实施例中,当前节点可以基于一级邻居节点的节点信息,在本地建立两级的邻居节点关系,后续只需要基于这两级的邻居节点关系,来对数据进行传输。由于本申请实施例只需要建立两级的邻居节点关系,网络信道中探测消息的数据量较小,因此对网络信道的占用时间比较小,信道的利用率会提高。而且,网络信道的利用率提高时,网络信道中可以有更多用于数据包传输的时间,这样数据包发送时的延迟也会减小,即本申请实施例可以减小网络延迟。
在确定数据包不需要转发的情况下,在一些实施例中,当前节点可以将该数据包进行解析,通过扬声器等装置进行播放。
在确定数据包需要转发的情况下,在一些实施例中,当前节点可以以广播形式转发数据包,以使目标节点能够安全接收到数据包。
下面将结合图4所示的网络拓扑结构图,对本申请实施例提供的基于节点关系转发数据包的方法进行解释说明。
图4是本申请实施例提供的网络拓扑的结构示意图,如图4所示,该网络中包括6个节点,每两个节点之间的通信链路质量值用LQI表示,假定安全LQI值(第一预设值)为150。从图4可以得知,节点1的周围节点包括节点2、节点3、节点5、节点6;节点2的周围节点包括节点1、节点5、节点6;节点3的周围节点包括节点1、节点5、节点6、节点4;节点4的周围节点包括节点3;节点5的周围节点包括节点1、节点2、节点3;节点6的周围节点包括节点1、节点2、节点3。每两个节点之间的LQI值可以参见图4中的LQI指示值。
假如节点1为数据包的源节点,如图4所示,节点1的一级邻居节点包括:节点2、节点5、以及节点6,节点1与节点2之间的LQI值为200,节点1与节点5之间的LQI值为100,节点1与节点6之间的LQI值为100,由于安全LQI值为150,因此,节点1转发的数据包,只有节点2能安全接收到节点1转发的数据包,节点5和节点6有可能接收到节点1转发的数据包,但失败率较高。而节点3和节点4由于不在节点1的一级邻居节点内,因此可能由于与节点1的距离较远导致无法接收到数据包。
在这种情况下,节点2在接收到数据包后,可以对比节点2的一级节点关系和节点1的邻居节点信息(节点1的一级节点关系),可知节点2的一级邻居节点包括节点3,而节点1的邻居节点信息中不存在节点3,因此节点2确定节点3无法接收到节点1转发的数据包。虽然节点1的邻居节点信息中包括节点5和节点6,但节点5与节点1之间的链路质量、以及节点6与节点1之间的LQI值都小于安全LQI值,因此,节点2确定节点5和节点6可能无法安全接收到节点1转发的数据包,所以节点2确定将数据包进行转发。
在节点2转发数据包后,由于节点3与节点2之间的LQI值、节点5与节点2之间的LQI值、以及节点6与节点2之间的LQI值都大于安全LQI值,因此,节点3、节点5和节点6都可以安全接收到数据包。
由于节点5和节点6与其他节点之间的LQI值相同,因此以其中一个节点为例说明,以节点5为例,当节点5接收到数据包后,对比节点5的一级节点关系和节点2的邻居节点信息(节点2的一级节点关系)可知,节点5的一级邻居节点(节点1和节点3)都能安全接收到数据包,因此节点5无需再转发数据包,节点6同理。
节点3在接收到数据包后,对比节点3的一级节点关系和节点2的邻居节点信息(节点2的一级节点关系)可知,节点3的一级邻居节点包括节点4,而节点2的邻居节点信息中不存在节点4,因此节点3确定节点4无法接收到节点2转发的数据包。所以节点3确定将数据包进行转发。
在节点3转发数据包后,由于节点4与节点3之间的LQI值大于安全LQI值,而节点5与节点3之间的LQI值、以及节点6与节点3之间的LQI值都小于安全LQI值,因此,节点4可以安全接收到数据包,节点5和节点6有可能接收到节点4转发的数据包,但失败率较高。本公开实施例提供的数据传输方法,可以降低冗余数据转发对网络信道的资源占用,整个网络用最小的转发次数就完成整个网络的数据覆盖,提高数据传输效率。
在无线自组织通信网络中,各节点在转发数据包时,只能将数据包转发至自身节点可通信范围内的节点(各节点的周围节点信息中包括的节点)。当第一节点接收到第二节点的数据包时,如果目标节点和第二节点间的通信链路质量值小于第一预设值,表明该通信链路的传输存在数据包丢失的风险,目标节点很可能未成功接收到第二节点转发的数据包。当目标节点不属于第二节点的周围节点信息中的节点时,说明目标节点未接收到第二节点转发的数据包。
在本申请实施例中,第一节点接收到第二节点的数据包时,可以在目标节点和第二节点间的通信链路质量值小于第一预设值,或者目标节点不属于第二节点的周围节点信息中的节点的情况下,根据目标节点的信息对数据包进行转发,即,本申请实施例可以基于周围节点信息进行数据包的选择性转发,降低冗余数据转发对网络信道的资源占用,提高网络信道的利用率,降低无线自组织网络的网络负载。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
上述只是针对网络信道中的一个节点,实际上网络信道中每个节点都会基于上述操作生成一级节点关系,在生成一级节点关系后,每个节点都会周期性向外广播自己的邻居节点信息,该邻居节点信息可以包括自己的一级节点关系,能够接收到的节点可以基于此生成自己本地的二级节点关系,其中,二级节点关系为一级邻居节点和当前节点的各二级邻居节点之间的关系。
在一些实施例中,当前节点基于周围节点信息生成二级节点关系的实现过程包括以下步骤:获取一级邻居节点的邻居节点信息,该邻居节点信息包括:各二级邻居节点的地址、以及各二级邻居节点与一级邻居节点之间的通信链路质量值,二级邻居节点为一级邻居节点的一级邻居节点;基于一级邻居节点和一级邻居节点的邻居节点信息,生成二级节点关系,二级节点关系包括:一级邻居节点的地址和各二级邻居节点的地址之间的对应关系、以及各二级邻居节点的地址和一级邻居节点与各二级邻居节点之间的通信链路质量值的对应关系。
对于当前节点,其一级邻居节点的一级邻居节点可能不止一个,即,当前节点的一级邻居节点周围可能存在不止一个一级邻居节点。对于当前节点的某个一级邻居节点来说,都可以按照上述方法确定该一级邻居节点的一级邻居节点的地址(各二级邻居的地址)、以及该一级邻居节点的一级邻居节点与该一级邻居节点之间的通信链路质量值(各二级邻居节点与一级邻居节点之间的通信链路质量值)。本申请实施例是以当前节点的一个一级邻居节点(第一一级邻居节点)为例进行说明。
具体地,当前节点接收到第一一级邻居节点广播的节点信息后,获取第一一级邻居节点的邻居节点信息,即得到各二级邻居的地址、以及第一一级邻居节点与各二级邻居节点之间的链路关系。
当前节点在接收到每个一级邻居节点广播的节点信息后,将每个一级邻居节点的地址和该一级邻居节点的邻居节点信息相对应,以生成二级节点关系。该二级节点关系具体地也可以以表格的形式表示,二级节点关系的表示类型可以和一级节点关系相同,也可以和一级节点关系不同,本申请实施例对此不作限定。
无线自组织网络中数据包是以广播的形式转发在网络信道中,在源节点广播第二节点的数据包后,位于源节点的通信范围内的一级邻居节点可能都会接收到该数据包,一级邻居节点再将该数据包进行转发。对于某一节点,可能存在重复接收数据包的情况。如果节点在接收到重复数据包后,将其继续转发在网络信道中,这样会增大占用网络信道的时间,导致信道利用率低。
在一些实施例中,在接收到数据包后,当前节点(第一节点)可以执行以下步骤:步骤一:基于接收到的数据包的数据信息、以及当前节点的缓存数据信息,确定数据包是否为重复数据包;步骤二:在确定数据包不是重复数据包的情况下,对数据包进行转发。
其中,数据信息包括当前节点接收的数据包的源地址、序列号、接收时间。数据包的源地址为发送该数据包的源节点的地址。序列号表征源节点发送数据包的次数。例如,源节点每隔100毫秒发送一个数据包,源节点发送的第一个数据包的序列号为1,100毫秒后发送的第二个数据包的序列号为2,即源节点每发送一个数据包,相应数据包的序列号就加1。
在每次接收到数据包时,当前节点会在本地更新数据记录表,该数据记录表包括当前节点接收到的历史数据包的数据信息。在当前节点接收到当前数据包时,通过步骤一来确定当前数据包是否为重复数据包,即基于当前数据包的数据信息和数据记录表中历史数据包的数据信息,确定当前数据包是否为重复数据包。
具体地,步骤一的实现过程包括以下步骤:如果数据记录表中不存在当前数据包的源地址,则确定数据包不是重复数据包;如果数据记录表中存在当前数据包的源地址,则基于当前数据包的接收时间和历史数据包中与当前数据包的源地址相同,且在当前数据包的接收时间之前最近一次接收的数据包的接收时间,确定数据包是否为重复数据包。
由于数据记录表中包括当前节点在当前时间之前接收的历史数据包的源地址,因此可以基于当前数据包的源地址在数据记录表中确定当前节点是否接收过当前数据包的源节点发送的数据包。
具体地,可以在数据记录表的历史数据包中查找是否存在和当前节点的源地址相同的数据包,如果历史数据包中不存在与当前节点的源地址相同的数据包,则说明当前节点在当前时间之前未接收过当前数据包的源节点发送的数据包,即当前数据包不是重复数据包。
如果历史数据包中存在与当前节点的源地址相同的数据包,则可以对比接收当前数据包的时间和上一次接收的数据包的时间之间的间隔,来判断当前节点接收的当前数据包是否是由于网络延迟导致的,进而确定当前数据包是否重复。即根据当前数据包的接收时间、以及历史数据包中与当前节点的源地址相同,且在当前数据包的接收时间之前最近一次接收的数据包的接收时间,来确定当前数据包是否为重复数据包。
为便于描述,后续中以当前时间之前最近一次接收的数据包表示与当前节点的源地址相同,且在当前数据包的接收时间之前最近一次接收的数据包。
具体地,上述根据接收的当前数据包的时间和上一次接收的数据包的时间,来确定当前数据包是否重复的实现过程包括以下步骤:如果当前数据包的接收时间(当前时间)和当前时间之前最近一次接收的数据包的接收时间之间的间隔大于预设时间间隔,则确定数据包不是重复数据包;如果当前数据包的接收时间和当前时间之前最近一次接收的数据包的接收时间之间的间隔小于预设时间间隔,且当前数据包的序列号小于当前时间之前最近一次接收的数据包的序列号,则确定数据包是重复数据包。
通常情况下,网络延迟的发生时间较短,如果当前时间和当前时间之前最近一次接收的数据包的接收时间之间的间隔很大,则确定当前节点接收的当前数据包的时间与上一次接收的数据包之前存在间隔是由于数据传输存在中断导致的,不是网络延迟导致的。
其中,预设时间间隔是预先设置的,具体地,可以根据调试日志确定网络延迟的时长,将该时长作为预设时间间隔。或者,可以根据数据包发送的时间段来确定预设时间间隔,预设时间间隔大于数据包发送的时间段。如果每隔20毫秒发送一个数据包,则预设时间间隔包括以下步骤1秒。本申请实施例对此不作限定。
具体地,如果当前时间和当前时间之前最近一次接收的数据包的接收时间之间的间隔大于预设时间间隔,可以认为在当前时间之前存在中断传输数据包的情况,因此可以确定当前节点接收的当前数据包不是重复数据包。如果当前时间和当前时间之前最近一次接收的数据包的接收时间之间的间隔小于预设时间间隔,则可以根据数据包的序列号来进一步确定当前数据包是否为重复数据包。
通常,源节点在发送数据包时,数据包的序列号不会一直增加,即源节点发送的数据包的序列号达到一定值后,数据包的序列号又会从1开始依次增加,即产生数据包序列号回环。一般情况下,数据包序列号回环一次的时间不会太小,因此,如果当前时间和当前时间之前最近一次接收的数据包的接收时间之间的间隔较小,且当前数据包的序列号小于当前时间之前最近一次接收的数据包的序列号,则可以确定当前节点接收的当前数据包不是由于数据包回环导致,可能是由于网络延迟导致的。
具体地,当前节点在接收到当前数据包,可以对比当前数据包的序列号和当前时间之前最近一次接收的数据包的序列号,如果当前数据包的序列号小于当前时间之前最近一次接收的数据包的序列号,则说明由于网络延迟导致当前节点在接收到序列号较大的历史数据包后,又重复接收到其他节点转发的较小序列号的当前数据包。此时,当前节点可以确定当前数据包为重复数据包。
另外,在接收到序列号较大的历史数据包后,又重复接收到其他节点转发的较小序列号的多个数据包,多个数据包中最后一个数据包为当前数据包,当前节点还可以将当前数据包以及多个数据包中位于当前时间之前最近预设次数接收的数据包都作为重复数据包。预设次数可以预先设置,本申请实施例对此不做限定。
作为一个示例,如果源节点每隔10毫秒发送一个数据包,当前节点在接收到当前数据包时,首先确定当前节点的数据记录表中是否存在源节点与当前数据包的源节点的地址相同的历史数据包,如果数据记录表中不存在,则确定当前数据包不是重复数据包。如果数据记录表中存在,则对比当前数据包的接收时间和与当前时间之前最近一次接收的历史数据包的接收时间之间的时间间隔,假设时间间隔为15毫秒,可以得到该时间间隔与源节点发送数据包的时间段相差较小,此时可以对比当前数据包的序列号和当前时间之前最近一次接收的数据包的序列号。假如当前时间之前最近一次接收的数据包的序列号为5000,当前数据包的序列号为4998,则可以确定由于网络延迟,导致当前节点在接收到序列号为5000的数据包后,又重复接收到序列号为4998的当前数据包,此时可以确定序列号为4998的当前数据包为重复数据包。
在确定当前数据包是重复数据包的情况下,当前节点可以将重复数据包丢弃。如此能够减少网络信道的占用率,进一步提高数据传输效率。在确定当前数据包不是重复数据包的情况下,对当前数据包进行转发。
步骤1:基于发送节点(第二节点)的地址,在当前节点的二级节点关系中确定发送节点的邻居节点信息,发送节点为当前节点的一个一级邻居节点。步骤2:基于当前节点的一级节点关系和发送节点的邻居节点信息,确定数据包是否需要转发。
当前节点在接收到数据包时,可以获取到该数据包的发送节点的地址,即当前节点的上一节点的地址(第二节点的地址)。由于当前节点的二级节点关系包括当前节点的一级邻居节点的一级邻居节点的节点信息,当前节点的一级邻居节点为发送节点,因此当前节点可以在二级节点关系中确定发送节点的邻居节点关系。
图5是本申请实施例提供的一种数据传输装置的结构示意图。示例性的,如图5所示,该装置500包括:获取模块501,用于获取第一节点的周围节点信息和第二节点的周围节点信息;周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;处理模块502,用于根据第一节点的周围节点信息和第二节点的周围节点信息,确定目标节点的信息;响应模块503,响应于接收到第二节点的数据包时,根据目标节点的信息对数据包进行转发;目标节点和第二节点间的通信链路质量值小于第一预设值,或者目标节点不属于第二节点的周围节点信息中的节点。
应理解,上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本申请实施例提供的一种网络设备的结构示意图。如图6所示,该网络设备600包括:存储器601和处理器602,其中,存储器601中存储有可执行程序代码6011,处理器602用于调用执行该可执行程序代码6011执行一种数据传输方法。
图7是本申请实施例提供的一种无线通信系统的场景示意图。如图7所示,自组织网络中包括节点701、节点702、节点703、节点704、节点705。其中,每个节点对应一个节点设备。图7中呈现的场景示意图对应户外骑行运动场景的骑行阶段,其中,节点701和节点702的距离小于安全通信距离;节点701和节点704、节点705的距离大于安全通信距离,节点704和节点702、节点705的通信距离小于安全通信距离。在安全通信距离范围内两个节点间可以建立通信连接。
在此情况下,参见图7,节点702、节点704可以作为中继节点,在接收到节点701的语言数据包时,对接收到的数据包以广播的形式进行选择性转发,因此,节点701的语言数据包可以依次传输到节点702(节点703)、节点704、节点705,实现蓝牙自组织网络的语言传输功能。
本实施例可以根据上述方法示例对网络设备进行功能模块的划分,例如,可以对应各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中,上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,该网络设备可以包括:获取模块、处理模块和响应模块。需要说明的是,上述方法实施例涉及的各个步骤的所有相关内容的可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的网络设备,用于执行上述一种数据传输方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,网络设备可以包括处理模块、存储模块。其中,处理模块可以用于对网络设备的动作进行控制管理。存储模块可以用于支持网络设备执行相互程序代码和数据等。
其中,处理模块可以是处理器或控制器,其可以实现或执行结合本申请公开内容所藐视的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等,存储模块可以是存储器。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述相关方法步骤实现上述实施例中的一种数据传输方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的一种数据传输方法。
另外,本申请的实施例提供的网络设备具体可以是芯片,组件或模块,该网络设备可包括相连的处理器和存储器;其中,存储器用于存储指令,当网络设备运行时,处理器可调用执行指令,以使芯片执行上述实施例中的一种数据传输方法。
其中,本实施例提供的网络设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据传输方法,其特征在于,所述方法应用于自组织网络中的第一节点,所述方法包括:
获取第一节点的周围节点信息和第二节点的周围节点信息;所述周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;
根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息;
响应于接收到所述第二节点的数据包时,根据所述目标节点的信息对所述数据包进行转发;所述目标节点和所述第二节点间的通信链路质量值小于第一预设值,或者所述目标节点不属于所述第二节点的周围节点信息中的节点。
2.根据权利要求1所述的方法,其特征在于,所述第一节点存在M个一级邻居节点,所述获取第一节点的周围节点信息,包括:
测量所述第一节点和第j节点间的通信链路质量值,得到M个测量结果;根据所述M个测量结果得到所述第一节点的周围节点信息;
所述第j节点属于所述M个一级邻居节点中的任一个节点;所述通信链路质量值为接收信号强度值。
3.根据权利要求1所述的方法,其特征在于,所述获取第二节点的周围节点信息,包括:
接收所述第二节点的广播消息,所述广播消息包括所述第二节点的周围节点信息;
间隔预设时间周期广播所述第一节点的周围节点信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息,包括:
根据所述第二节点的周围节点信息确定第一预设值,所述第一预设值为所述第二节点的周围节点信息中通信链路质量值的平均值;
根据所述第二节点的周围节点信息和所述第一预设值,在所述第一节点的一级邻居节点中确定目标节点。
5.根据权利要求1所述的方法,其特征在于,所述目标节点不属于所述第二节点的周围节点信息中的节点;
所述根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息,包括:
根据所述第一节点的周围节点信息得到第一集合;
根据所述第二节点的周围节点信息得到第二集合;
根据所述第一集合和所述第二集合的计算结果确定所述目标节点的信息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标节点的信息对所述数据包进行转发,包括:
在所述第一节点的一级邻居节点中确定是否存在所述目标节点;
在存在所述目标节点且所述第一节点的缓存数据中不包含所述第二节点的数据包的情况下,根据所述目标节点的节点信息,将所述数据包转发至所述目标节点;
或者,在存在所述目标节点且所述第一节点的缓存数据中不包含所述第二节点的数据包的情况下,广播所述第二节点的数据包。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标节点的信息对所述数据包进行转发,包括:
在所述第一节点的一级邻居节点中确定是否存在所述目标节点;
在不存在所述目标节点的情况下,不对所述数据包进行转发。
8.一种数据传输装置,其特征在于,所述装置包括:
获取模块,用于获取第一节点的周围节点信息和第二节点的周围节点信息;所述周围节点信息包括第i节点和第i节点的一级邻居节点间的通信链路质量值;
处理模块,用于根据所述第一节点的周围节点信息和所述第二节点的周围节点信息,确定目标节点的信息;
响应模块,用于响应于接收到所述第二节点的数据包时,根据所述目标节点的信息对所述数据包进行转发;所述目标节点和所述第二节点间的通信链路质量值小于第一预设值,或者所述目标节点不属于所述第二节点的周围节点信息中的节点。
9.一种网络设备,其特征在于,所述网络设备包括:
存储器,用于存储可执行程序代码;
处理器,用于从所述存储器中调用运行所述可执行程序代码,使得所述网络设备执行如权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1至7中任意一项所述的方法。
CN202311346587.7A 2023-10-18 2023-10-18 数据传输方法、装置、网络设备及存储介质 Active CN117098161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311346587.7A CN117098161B (zh) 2023-10-18 2023-10-18 数据传输方法、装置、网络设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311346587.7A CN117098161B (zh) 2023-10-18 2023-10-18 数据传输方法、装置、网络设备及存储介质

Publications (2)

Publication Number Publication Date
CN117098161A true CN117098161A (zh) 2023-11-21
CN117098161B CN117098161B (zh) 2024-01-05

Family

ID=88783685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311346587.7A Active CN117098161B (zh) 2023-10-18 2023-10-18 数据传输方法、装置、网络设备及存储介质

Country Status (1)

Country Link
CN (1) CN117098161B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543022A (zh) * 2021-07-26 2021-10-22 广州慧睿思通科技股份有限公司 发射功率的确定方法、装置、对讲机、设备及存储介质
CN117425131A (zh) * 2023-12-19 2024-01-19 西安蜂语信息科技有限公司 语音数据传输方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003111A1 (en) * 2001-04-20 2004-01-01 Masahiro Maeda Protocol and structure for self-organizing network
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
EP2262188A1 (en) * 2009-06-12 2010-12-15 Hitachi Ltd. Method and apparatus for disseminating a data packet via multi-hop communication in a communication network
CN102761931A (zh) * 2012-06-29 2012-10-31 南京大学 异步占空比无线传感器网络中进行动态数据传输的方法
CN104780582A (zh) * 2015-01-30 2015-07-15 杭州电子科技大学 一种利用网络编码和链路相关性的多包洪泛方法
US20170207995A1 (en) * 2016-01-18 2017-07-20 Samsung Electronics Co., Ltd. Method, apparatus and system of selecting routing in asymmetric link
KR20180134222A (ko) * 2017-06-08 2018-12-18 전자부품연구원 무인 이동체의 예측 위치, 링크 품질 및 토폴로지 정보를 활용한 애드혹 라우팅 방법
CN111787591A (zh) * 2019-04-03 2020-10-16 电信科学技术研究院有限公司 一种邻居发现方法及节点
CN111869243A (zh) * 2018-03-15 2020-10-30 科派克系统公司 无线通信系统的方法
CN112954769A (zh) * 2021-01-25 2021-06-11 哈尔滨工程大学 基于强化学习的水下无线传感器网络路由方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003111A1 (en) * 2001-04-20 2004-01-01 Masahiro Maeda Protocol and structure for self-organizing network
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
EP2262188A1 (en) * 2009-06-12 2010-12-15 Hitachi Ltd. Method and apparatus for disseminating a data packet via multi-hop communication in a communication network
CN102761931A (zh) * 2012-06-29 2012-10-31 南京大学 异步占空比无线传感器网络中进行动态数据传输的方法
CN104780582A (zh) * 2015-01-30 2015-07-15 杭州电子科技大学 一种利用网络编码和链路相关性的多包洪泛方法
US20170207995A1 (en) * 2016-01-18 2017-07-20 Samsung Electronics Co., Ltd. Method, apparatus and system of selecting routing in asymmetric link
KR20180134222A (ko) * 2017-06-08 2018-12-18 전자부품연구원 무인 이동체의 예측 위치, 링크 품질 및 토폴로지 정보를 활용한 애드혹 라우팅 방법
CN111869243A (zh) * 2018-03-15 2020-10-30 科派克系统公司 无线通信系统的方法
CN111787591A (zh) * 2019-04-03 2020-10-16 电信科学技术研究院有限公司 一种邻居发现方法及节点
CN112954769A (zh) * 2021-01-25 2021-06-11 哈尔滨工程大学 基于强化学习的水下无线传感器网络路由方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙伟;安进;房亚群;: "基于ETX链路质量的方向贪婪转发地理路由", 计算机工程与设计, no. 11 *
汪红霞;: "移动Ad hoc网基于链路质量和局部拓扑的机会路由协议", 长春大学学报, no. 02 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543022A (zh) * 2021-07-26 2021-10-22 广州慧睿思通科技股份有限公司 发射功率的确定方法、装置、对讲机、设备及存储介质
CN117425131A (zh) * 2023-12-19 2024-01-19 西安蜂语信息科技有限公司 语音数据传输方法、装置、电子设备和存储介质
CN117425131B (zh) * 2023-12-19 2024-03-01 西安蜂语信息科技有限公司 语音数据传输方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN117098161B (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
CN117098161B (zh) 数据传输方法、装置、网络设备及存储介质
KR101193284B1 (ko) 다중-레이트 피어 발견 방법들 및 장치들
JP4751867B2 (ja) メッシュネットワークの集中制御のための装置
US6751196B1 (en) Apparatus and method for peer-to-peer link monitoring of a wireless network with centralized control
US20170019833A1 (en) Methods and devices for sending or receiving routing information, and system for processing routing information
JP5140151B2 (ja) 重複セルを発見する方法
TW200939813A (en) Method and apparatus for managing wireless communication network radio resources
US10716048B2 (en) Detecting critical links in bluetooth mesh networks
US11743173B2 (en) Independent redundant path discovery for Bluetooth mesh
KR20050104409A (ko) 애드-훅 접속에 의해 확장되는 셀룰러 무선 통신시스템에서 정보를 전송하기 위한 방법 및 기지국
KR20140088375A (ko) 무선 통신 시스템에서 기지국 간 무선 링크 복구를 위한 방법 및 장치
KR101645978B1 (ko) 애드 혹 네트워크에서의 동적 라우팅 방법 및 그를 위한 네트워크 장치
CN110831006B (zh) 自组网系统及其数据传输方法
Abdellatif et al. Service oriented D2D efficient communication for post-disaster management
CN110996266B (zh) 自组网系统的多播组数据传输方法
Tan et al. A distributed and dynamic data gathering protocol for sensor networks
Gruber et al. Ad hoc routing for cellular coverage extension
Sun et al. A novel spectrum-aware routing protocol for multi-hop cognitive radio ad hoc networks
Lipman et al. Optimized flooding algorithms for ad hoc networks
US11246081B2 (en) Detecting critical links in bluetooth mesh networks
CN113259922B (zh) 紧急业务转发的通信方法、系统、设备及存储介质
CN117320109A (zh) 网络通信方法、装置、电子设备和存储介质
CN117675687A (zh) 面向大规模分层分簇集群网络的韧性抗毁路由方法和系统
KR20110114998A (ko) 애드-혹 네트워크 경로 설정 방법
Zhou et al. ACK signal based on-demand routing algorithm in Cognitive Radio Networks

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