CN114679768B - 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 - Google Patents
一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 Download PDFInfo
- Publication number
- CN114679768B CN114679768B CN202210210764.8A CN202210210764A CN114679768B CN 114679768 B CN114679768 B CN 114679768B CN 202210210764 A CN202210210764 A CN 202210210764A CN 114679768 B CN114679768 B CN 114679768B
- Authority
- CN
- China
- Prior art keywords
- communication bandwidth
- current
- communication
- packet
- data packet
- 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
- 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
-
- 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
- H04W28/09—Management thereof
- H04W28/0958—Management thereof based on metrics or performance parameters
- H04W28/0967—Quality of Service [QoS] parameters
- H04W28/0983—Quality of Service [QoS] parameters for optimizing bandwidth or throughput
-
- 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
-
- 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)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及蓝牙通信的技术领域,尤其是涉及一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备。该方法包括:在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽。本申请解决了现有BLE通信设备的通信带宽浪费的技术问题。
Description
技术领域
本申请涉及蓝牙通信的技术领域,尤其是涉及一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备。
背景技术
低功耗蓝牙(Bluetooth Low Energy,BLE)技术随着应用需求与使用场景的不断扩展,特别是在智能家居、智慧商场和工业生产自动化管理中信标等领域的广泛应用,标准协议也在不断演化发展,最新的5.2协议版本支持BLE audio功能,具有更远的传输距离、更高的传输速率和更大的广告数据传输量,所有这些新增加的特性使得BLE在未来的应用范围和领域具有无限的想象和扩展空间。蓝牙技术作为一种去中心化的piconet自组网络,可以快速简便并安全的实现蓝牙设备间的即时通信和数据交互。
蓝牙BLE设备相对于经典蓝牙,其核心优势在于其拥有更低的运行功耗,随着BLE应用范围的扩展,特别是BLE audio在嵌入式耳机等设备中的应用,其低功耗控制和要求将会更加严格。
现有的蓝牙BLE连接设备是以连接间隔为单位的连接事件进行通信,每个连接事件的可通信长度在相互连接的两个BLE设备间是不透明的,正是这种不透明的机制,可能导致连接中的BLE通信设备间造成一定的通信带宽浪费。
发明内容
为此,本申请的实施例提供了一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备,能够解决现有BLE通信设备的通信带宽浪费的技术问题,具体技术方案内容如下:
第一方面,本申请的实施例提供一种低功耗蓝牙通信带宽动态调整方法,所述方法包括:
在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;
根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽。
优选的,所述实时监测当前连接事件的通信双方的数据传输量包括:
统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量。
优选的,所述完整数据包包含至少一个子数据包,以子数据包的ID标识连续发送和/或接收的完整数据包的起始包和/或结束包。
优选的,以ID为第一ID的子数据包为连续传输的完整数据包的内容数据包,以ID为第二ID的数据包标识连续传输的完整数据包的起始包和/或结束包。
优选的,当接收到ID为第一标识的子数据包,当该子数据包为空包时,该子数据包为当前连续发送和/或接收的完整数据包的结束包。
优选的,所述统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量包括:
当接收到ID为第二标识对应的子数据包,开始统计连接发送和/或接收的ID为第一ID的子数据包个数,直至接收到结束包,统计结束。
优选的,若当前发送和接收的子数据包一直为空包,则数据传输量为0。
优选的,预设初始通信带宽;
若数据传输量为0,则当前通信带宽设置为初始通信带宽。
优选的,所述根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽包括:
根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽;
判断当前计算得出的通信带宽与当前连接事件的通信带宽是否相同;
若不同,调整当前连接事件的通信带宽为计算得出的通信带宽。
优选的,连接事件内蓝牙设备包括主设备和从设备;
对于主设备,初始通信带宽设为最小连接事件长度与最大连接事件长度之间的任意一个值;
对于从设备,初始通信带宽为连接间隔时间段内任意的一个值。
优选的,初始通信带宽至少为一个时隙长度。
优选的,所述方法还包括:
检测连接事件的关闭情况;
根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
优选的,所述根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽包括:
根据连接事件的关闭情况以及当前应用的通信带宽,计算当前连接事件的数据传输量在当前连接事件内正常传输所需的通信带宽;
判断该数据传输量所需的传输时间与当前应用的通信带宽的大小;
如果所需的传输时间等于当前应用的通信带宽,无需调整当前应用的通信带宽;
如果所需的传输时间大于当前应用的通信带宽,则增大当前应用的通信带宽;
如果所需的传输时间小于当前应用的通信带宽,则减小当前应用的通信带宽。
优选的,在应用计算得出的通信带宽为当前的通信带宽后,再根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
第二方面,本申请的实施例提供一种低功耗蓝牙通信带宽动态调整系统,所述系统包括:
检测模块,用于在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;
调整模块,用于根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽。
第三方面,本申请的实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任意一项所述的低功耗蓝牙通信带宽动态调整方法的步骤。
第四方面,本申请的实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述任意一项所述的低功耗蓝牙通信带宽动态调整方法的步骤。
综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
1、通过实时监测低功耗蓝牙连接设备间的通信数据量,并根据通信数据量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算通信带宽,实时调节通信带宽,从而有效提高了蓝牙BLE设备的通信传输效率,为降低蓝牙BLE设备的运行功耗提供了有利的条件;
2、通过综合动态计算的通信带宽和蓝牙BLE连接事件关闭的情况动态确定本地蓝牙BLE设备的通信带宽,从而进一步有效提高了蓝牙BLE设备的通信传输效率。
附图说明
图1是本申请其中一实施例提供的一种低功耗蓝牙通信带宽动态调整方法的流程示意图。
图2是BLE非编码PHY空中数据包结构。
图3是BLE编码PHY空中数据包结构。
图4是本申请另一实施例提供的一种低功耗蓝牙通信带宽动态调整方法的流程示意图之一。
图5是本申请另一实施例提供的一种低功耗蓝牙通信带宽动态调整方法的流程示意图之二。
图6是本申请另一实施例提供的一种低功耗蓝牙通信带宽动态调整方法的流程示意图之三。
图7是本申请一个具体例子的流程图。
图8是本申请一个具体例子中通信带宽设置合理时连接事件正常关闭与通信带宽的关系。
图9是本申请一个具体例子中通信带宽设置过大时连接事件正常关闭与通信带宽的关系。
图10是本申请一个具体例子中通信带宽设置过小时连接事件正常关闭与通信带宽的关系。
具体实施方式
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
下面结合说明书附图对本申请实施例作进一步详细描述。
蓝牙设备,即具有蓝牙功能的设备。蓝牙BLE连接设备是以连接间隔为单位的连接事件进行通信,每个连接事件的可通信长度在相互连接的两个BLE设备间是不透明的,正是这种不透明的机制,可能导致连接中的BLE通信设备间造成一定的通信带宽浪费。
对于Master(主)角色的蓝牙设备,在向对方BLE设备发起连接时,HCI指令可以指定最小和最大的连接事件长度。对于Slave(从)角色的蓝牙设备,在BLE连接建立时,并不能确定连接事件的长度大小和范围,通信带宽的大小设置具有一定的随机性。
因此对于每个连接事件的通信带宽,BLE连接设备之间就存在较大的不确定性,通信带宽设置过长可能导致带宽资源的浪费,通信带宽设置过短可能导致通信效率不高,这都可能增加BLE设备的运行功耗。
参照图1,在本申请的一个实施例中,提供一种低功耗蓝牙通信带宽动态调整方法,所述方法的主要步骤描述如下:
S1:在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;
S2:根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽。
通信双方建立BLE连接之后,通信双方的蓝牙设备均检测当前连接事件的通信双方的数据传输量,在本实施例中,检测数据传输量的方式可以为:建立通信连接的主设备将即将发送的数据量预先发送至从设备和/或从设备将即将发送的数据量预先发送至主设备,主设备将即将发送的数据量与从设备即将发送的数据量叠加,即为当前传输的数据传输量,以使通信双方获知数据传输量。在本实施方式中,可以通过统计需要发送和/或接收的有效数据的数据包长度来统计数据传输量,在其他实施方式中,也可以统计需要发送和/或接收的完整数据的数据包长度来统计数据传输量,在此不作赘述。
本实施方式以统计需要发送和/或接收有效数据的数据包长度来举例,发送和/或接收的数据的数据包格式中预设开始标识位,该标识位表示有效数据的起始位置,在数据包的结尾预设结束标识位,表示有效数据的结束位置,通过本实施方式的方法,在发送和/或接收数据的时候,可以筛除无效数据,减少数据冗余。
本实施例方法适用于通信双方任意一蓝牙设备,即可应用于主设备,也可应用于从设备。
在本实施例中,通信带宽由当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度计算获得,计算公式如下:
公式中DataLenTotal为当前动态统计到的发送与接收的数据包总长度(即数据传输量),payloadLen为单个数据包payload的最大长度,TxTime为发送一个数据包所需要的时间,根据通信速率、使用的PHY以及单次可发送数据包的最大长度可以确定,T_IFS是收发包的帧间隔时间,对于BLE是固定的150μs,TimeSlot是一个时隙时间长度,[]表示向上取整操作,BC即表示动态计算出来的通信带宽。
BI为预设的初始通信带宽,即蓝牙设备之间建立BLE连接时的通信带宽,当DataLenTotal为0,即当前统计收发的都是空包,当前蓝牙设备的通信带宽为BI。
由数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度计算获得的带宽,具有良好的实时性,考虑到蓝牙设备本身的性能且兼顾了数据发送的情况,计算结果也较为准确。
本申请能够实时监测低功耗蓝牙连接设备间的数据传输量,并根据数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算通信带宽,从而有效提高了蓝牙BLE设备的通信传输效率,为降低蓝牙BLE设备的运行功耗提供了有利的条件。
本申请实施例方案中,通过实时监测通信双方的数据传输量,根据实时计算的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度,动态计算当前实现信息完整传输以及提高宽带利用率的通信带宽,通过应用当前动态计算获得的通信带宽,实现提高通信双发信息传输的可靠性以及节省资源的效果。
可选的,在另一实施方式中,实时监测当前连接事件的通信双方的数据传输量包括:
统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量。
对于BLE通信连接事件,计算数据传输量可由统计发送和接收的完整数据包长度实现。
通过统计接收和发送的完整数据包的长度,可以较为准确的获知实际传输的数据量,不易造成数据溢出,且计算的通信宽带较为合理。
可选的,在另一实施方式中,完整数据包包含至少一个子数据包,以子数据包的ID标识连续发送和/或接收的完整数据包的起始包和/或结束包。
具体的,本申请连续发送和/或连续接收完整的数据包,即完整数据包分割为多个子数据包后,连续接收和/或发送属于同一完整数据包的子数据包的过程。在本实施方式中,将完整数据包切割为多个子数据包,且分开发送和/或接收,减少BLE连接突然中断,导致完整数据包接受失败而需要重新发送的情况。将完整数据包分段发送之后,当BLE连接突然中断,则下次重新连接的时候,可由上次发送失败的子数据包重新发送,提高数据发送速率。
本实施方式中,以子数据包内的ID标识子数据包的类型,比如说起始包、内容数据包、结束包,起始包为完整数据包的起始标识,结束包为该完整数据包的结束标识,内容数据包为该完整数据包传输的数据内容,通过ID区分子数据包的类型,接收方在读取信息时,可根据数据包的不同采取对应的处理方式。
在本实施方式中,以ID标识区分子数据包可以为在子数据包内标识不同的ID,标识数据包的类型以及数据包的顺序,在本申请的其他实施方式中,ID标识可以为其他的实现标识数据包类型的方式,在此不作赘述。
可选的,在另一实施方式中,以ID为第一ID的子数据包为连续传输的完整数据包的内容数据包,以ID为第二ID的数据包标识连续传输的完整数据包的起始包和/或结束包。
具体的,在本实施方式中,ID为LLID,该统计以LLID的值为标记开始统计。如果当前数据包为空包,则数据包的payload长度为0;如果当前为起始包,则统计到结束包,作为当前该数据包的总长度。空中数据包的格式为低功耗蓝牙标准协议定义的标准格式,见图2和图3,图2是BLE非编码PHY空中数据包结构,图3是BLE编码PHY空中数据包结构。
统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量包括:
当接收到ID为第二标识对应的子数据包,开始统计连接发送和/或接收的ID为第一ID的子数据包个数,直至接收到结束包,统计结束。
在本实施方式中,以ID为第一ID的子数据包为连续传输的完整数据包的内容数据包,以ID为第二ID的数据包标识连续传输的完整数据包的起始包和/或结束包;即起始包与结束包的标识相同,当检测到起始包时,统计开始;直到检测到下一个起始包,统计结束。
本实施方式通过两个不同的ID标识了数据包的类型,简化数据包识别的逻辑,简化程序。
以数据包上的标识来判断统计的起始时间,可以使统计的数据传输量更为准确,且减少收到的无用数据,减少数据冗余。
可选的,在另一实施方式中,当接收到ID为第一标识的子数据包,当该子数据包为空包时,该子数据包为当前连续发送和/或接收的完整数据包的结束包。
在本实施方式中,以空包对完整数据包进行分割,可以进一步有效减少数据冗余,避免接收无用数据。
可选的,若当前发送和接收的子数据包一直为空包,则数据传输量为0。
通过本实施方式的蓝牙设备,在接收到的数据为空包的时候,可以不启动统计,节省资源,将当前通信带宽应用为初始通信带宽。
参照图4,可选的,步骤S1包括:
S11:根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽;
S12:判断当前计算得出的通信带宽与当前连接事件的通信带宽是否相同;
S13:若不同,调整当前连接事件的通信带宽为计算得出的通信带宽。
具体的,在本实施方式中,增加判断当前通信带宽与动态计算得到的通信带宽是否相同的步骤,以避免出现当前通信带宽与动态计算得到的通信带宽相同,而又重新调整当前通信带宽的情况,占用了较多的资源,且为无用设置。
若当前的通信带宽与动态计算得到的通信带宽不同,若动态计算得到的通信带宽大于当前的通信带宽,则调节蓝牙设备当前的通信带宽增大;若动态计算得到的通信带宽小于当前的通信带宽,则调节蓝牙设备当前的通信带宽减小。
可选的,在另一实施方式中,连接事件内蓝牙设备包括主设备和从设备;
对于主设备,初始通信带宽设为最小连接事件长度与最大连接事件长度之间的任意一个值;
对于从设备,初始通信带宽为连接间隔时间段内任意的一个值。
初始通信带宽至少为一个时隙长度。
参照图5,可选的,在另一实施方式中,所方法还包括:
S3:检测连接事件的关闭情况;
S4:根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
具体的,在动态计算的通信带宽被应用之后,需要检测连接事件正常关闭时,所统计的完整数据包在一个连接事件间隔内是否能够正常发送完成,即可知道当前应用的通信带宽合理,以及获知当前数据传输的可靠性。
蓝牙BLE连接设备是以连接间隔为单位的连接事件进行通信,即在建立连接后,每次连接事件的持续时间均可知,即可以知道连接事件的关闭时间。
照图6,可选的,在另一实施方式中,步骤S4包括:
参S41:根据连接事件的关闭情况以及当前应用的通信带宽,计算当前连接事件的数据传输量在当前连接事件内正常传输所需的通信带宽;
S42:判断该数据传输量所需的传输时间与当前应用的通信带宽的大小;
S43:如果所需的传输时间等于当前应用的通信带宽,无需调整当前应用的通信带宽;
S44:如果所需的传输时间大于当前应用的通信带宽,则增大当前应用的通信带宽;
S45:如果所需的传输时间小于当前应用的通信带宽,则减小当前应用的通信带宽。
以当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,若发现数据在连接事件的持续时间内无法发送完全,则需要增大当前的通信带宽;若发现连接实际的持续时间大于数据所需的发送时间,则当前应用的通信带宽过大,需要减小当前的通信带宽。
本实施方式的设置,动态调节当前连接事件的通信带宽,使当前应用的通信带宽适用于当前的通信情况,对于蓝牙智能锁等通信数据量随时间变化而变化的应用场景,具有重要的现实工程意义。
可选的,在另一实施方式中,在应用计算得出的通信带宽为当前的通信带宽后,再根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
本实施方式中,根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽这样看步骤发生在动态计算获得通信带宽,并且应用动态计算得到的通信带宽应用之后,若当前的通信带宽不变,仍为初始通信带宽,则不进行检测连接事件的关闭情况,不进行根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽,节省蓝牙通信所需资源,提供通信速率。
参照图7,本实施例的一个具体例子如下:
1、建立BLE连接;
2、设置默认带宽BI(即初始通信带宽BI)。在BLE通信连接初始建立时,对连接事件可以设置一个较小的初始通信带宽BI。对于主设备,可以在最小和最大连接事件长度之间取一个合适的带宽初始值;对于从设备,可以在连接间隔时间段内选取一个合适的通信带宽初始值。通信带宽初始值至少应该为1个时隙长度,1个时隙为0.625ms,一般设置尽可能小一点。
1≤BI≤2*ConnInterval
ConnInterval表示连接事件间隔,单位为1.25ms。
3、实时统计通信数据量的变化。对于BLE连接事件,统计连续发送和/或接收的完整数据包长度。该统计以LLID的值为标记开始统计。LLID值为1(即第一ID)时,如果子数据包payload长度为0,则当前子数据包为空包,如果payload长度为非0,则该子数据包为一个L2CAP包的接续包;LLID值为2(即第二ID)时,表示当前子数据包为一个L2CAP包的起始包或一个完整的L2CAP包,在统计到出现下一个起始包或下一个空包时,为当前该L2CAP完整数据包的总长度。
比如,当发送的子数据包LLID为2时,payload长度为n1,接下来出现若干个LLID为1且payload长度为非零的子数据包,记为ni,则该发送完整数据包的总长度为:
DataLenTotalsend统计到下一个LLID为2或为1且为空包时为止,k为当前L2CAP包非空包的个数。接收完整数据包的总长度用DataLenTotalreceive表示,计算方式和发送完整数据包一样。
如果本地发送的一直是空包,则DataLenTotalsend为0;如果本地接收的一直是空包,则DataLenTotalreceive为0。
当前发送和接收完整数据包的总长度表示为:
DataLenTotal=DataLenTotalsend+DataLenTotalreceive
4、判断通信数据量(即数据传输量)是否大于0,若通信数据量等于0,则返回第2歩。
5、若通信数据量大于0,计算通信带宽。在统计完成当前发送和接收数据包的总长度之后,根据当前的通信速率、使用的PHY以及单次可以发送的最大空中数据包payload长度计算需要使用的通信带宽。计算方法如下所示:
公式(1)中DataLenTotal为当前动态统计到的发送与接收的数据包总长度,payloadLen为单个数据包payload的最大长度,TxTime为发送一个数据包所需要的时间,根据通信速率、使用的PHY以及单次可发送数据包的最大payload长度可以确定,比如,对于1Msps的非编码PHY,单次发送的最大payload为27个字节的非加密链路,TxTime为296us。T_IFS是收发包的帧间隔时间,对于BLE是固定的150μs,TimeSlot是一个时隙时间长度0.625ms,[]表示向上取整操作,BC即表示动态计算出来的通信带宽。
公式中如果当前统计收发的都是空包,则DataLenTotal为0,此时BC设置为初始通信带宽BI。
比较一般的情形,如果DataLenTotalreceive为0,DataLenTotalsend为非0,则表示本地发送了长度为非0的数据包,对方发送的是空包,(1)计算的通信带宽实际是单边带宽,要计算双边带宽,可以利用(2)公式的方法。
BC=(([DataLenTotal/payloadLen])*(TxTime+RxTime+T_IFS)-T_IFS)/TimeSlot;(2)
其中,公式中TxTime表示发送单个空中数据包的时间长度,RxTime表示接收单个空包的时间长度,对于1Msps的非编码PHY,其长度固定为80us。对于DataLenTotalreceive为非0,DataLenTotalsend为0的情形,亦可以利用公式前述进行通信带宽计算。
6、判断通信带宽是否变化,若动态计算得到的通信带宽等于初始通信带宽,即通讯带宽无变化,则不用更新通信带宽;返回第3歩。
7、若计算得到的通信带宽不等于初始通信带宽,则进行通信带宽的更新,应用计算得到的通信带宽。
8、根据连接事件关闭情况调整通信带宽。在动态计算的通信带宽被应用之后,需要检测连接事件正常关闭时,所统计的L2CAP数据包在一个连接事件间隔内是否能够正常发送完成或者达到通信带宽最大值。
如果在所设定的通信带宽时间内正常发送完成,并且实际的接收和发送完成时间占据了当前连接事件的整个通信带宽,则说明当前的通信带宽设置是合理的,见图8;如果实际的接收和发送完成时间小于当前连接事件设置的通信带宽,则可以相应适当减少通信带宽,见图9;如果实际的接收和发送完成时间由于当前连接事件设置的通信带宽过窄导致事件关闭,则可以相应增大通信带宽,见图10。直至动态调整的通信带宽在合理的范围值为止。这个通信带宽调整的过程只是微调,一般在1~3个时隙以内。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请的一个实施例中,提供一种低功耗蓝牙通信带宽动态调整系统,该低功耗蓝牙通信带宽动态调整系统与上述实施例中的低功耗蓝牙通信带宽动态调整方法一一对应。该低功耗蓝牙通信带宽动态调整系统包括;
检测模块,用于在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;
调整模块,用于根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽。
可选的,在另一实施方式中,所述实时监测当前连接事件的通信双方的数据传输量包括:统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量。
可选的,在另一实施方式中,所述完整数据包包含至少一个子数据包,以子数据包的ID标识连续发送和/或接收的完整数据包的起始包和/或结束包。
可选的,在另一实施方式中,以ID为第一ID的子数据包为连续传输的完整数据包的内容数据包,以ID为第二ID的数据包标识连续传输的完整数据包的起始包和/或结束包。
可选的,在另一实施方式中,当接收到ID为第一标识的子数据包,当该子数据包为空包时,该子数据包为当前连续发送和/或接收的完整数据包的结束包。
可选的,在另一实施方式中,所述统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量包括:当接收到ID为第二标识对应的子数据包,开始统计连接发送和/或接收的ID为第一ID的子数据包个数,直至接收到结束包,统计结束。
可选的,在另一实施方式中,若当前发送和接收的子数据包一直为空包,则数据传输量为0。
可选的,在另一实施方式中,还包括初始带宽设置模块。
所述初始带宽设置模块,用于预设初始通信带宽;若数据传输量为0,则当前通信带宽设置为初始通信带宽
可选的,在另一实施方式中,调整模块还用于,根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽;判断当前计算得出的通信带宽与当前连接事件的通信带宽是否相同;若不同,调整当前连接事件的通信带宽为计算得出的通信带宽。
可选的,在另一实施方式中,连接事件内蓝牙设备包括主设备和从设备;对于主设备,初始通信带宽设为最小连接事件长度与最大连接事件长度之间的任意一个值;对于从设备,初始通信带宽为连接间隔时间段内任意的一个值。
可选的,在另一实施方式中,初始通信带宽至少为一个时隙长度。
可选的,在另一实施方式中,还包括检测模块、动态计算模块。
检测模块,用于检测连接事件的关闭情况;
动态计算模块,用于根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
可选的,在另一实施方式中,动态计算模块,还用于根据连接事件的关闭情况以及当前应用的通信带宽,计算当前连接事件的数据传输量在当前连接事件内正常传输所需的通信带宽;判断该数据传输量所需的传输时间与当前应用的通信带宽的大小;如果所需的传输时间等于当前应用的通信带宽,无需调整当前应用的通信带宽;如果所需的传输时间大于当前应用的通信带宽,则增大当前应用的通信带宽;如果所需的传输时间小于当前应用的通信带宽,则减小当前应用的通信带宽。
可选的,在另一实施方式中,在应用计算得出的通信带宽为当前的通信带宽后,再根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
上述的低功耗蓝牙通信带宽动态调整系统各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请实施例的一个实施例中,提供一种电子设备,该电子设备可以是服务器。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘,光盘,EEPROM(Electrically-Erasable Programmable Read Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),SRAM(Static Random Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable Read-Only Memory,可编程只读存储器)。该电子设备的存储器为存储于其内部的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述实施例所述的低功耗蓝牙通信带宽动态调整方法步骤。
在本申请的一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的低功耗蓝牙通信带宽动态调整方法步骤。所述计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact DiscRead-Only Memory,只读光盘)、磁盘、软盘等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本申请所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (14)
1.一种低功耗蓝牙通信带宽动态调整方法,其特征在于,所述方法包括:
在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;
所述实时监测当前连接事件的通信双方的数据传输量包括:
统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量;
根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,计算公式如下:
公式中DataLenTotal为当前发送与接收的完整数据包总长度,payloadLen为单个数据包payload的最大长度,TxTime为发送一个数据包所需要的时间,根据通信速率、使用的PHY以及单次可发送数据包的最大长度确定,T_IFS是收发包的帧间隔时间,对于BLE是固定的150μs,TimeSlot是一个时隙时间长度,[]表示向上取整操作,BC即表示动态计算出来的通信带宽,BI为预设的初始通信带宽,即蓝牙设备之间建立BLE连接时的通信带宽,当DataLenTotal为0,即当前统计收发的都是空包,当前蓝牙设备的通信带宽为BI;并调整当前蓝牙设备的通信带宽。
2.根据权利要求1所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,所述完整数据包包含至少一个子数据包,以子数据包的ID标识连续发送和/或接收的完整数据包的起始包和/或结束包。
3.根据权利要求2所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,以ID为第一ID的子数据包为连续传输的完整数据包的内容数据包,以ID为第二ID的数据包标识连续传输的完整数据包的起始包和/或结束包。
4.根据权利要求3所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,当接收到ID为第一标识的子数据包,当该子数据包为空包时,该子数据包为当前连续发送和/或接收的完整数据包的结束包。
5.根据权利要求4所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,所述统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量包括:
当接收到ID为第二标识对应的子数据包,开始统计连接发送和/或接收的ID为第一ID的子数据包个数,直至接收到结束包,统计结束。
6.根据权利要求1所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,所述根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,并调整当前蓝牙设备的通信带宽包括:
根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽;
判断当前计算得出的通信带宽与当前连接事件的通信带宽是否相同;
若不同,调整当前连接事件的通信带宽为计算得出的通信带宽。
7.根据权利要求1所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,连接事件内蓝牙设备包括主设备和从设备;
对于主设备,初始通信带宽设为最小连接事件长度与最大连接事件长度之间的任意一个值;
对于从设备,初始通信带宽为连接间隔时间段内任意的一个值。
8.根据权利要求1所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,初始通信带宽至少为一个时隙长度。
9.根据权利要求1所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,所述方法还包括:
检测连接事件的关闭情况;
根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
10.根据权利要求9所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,所述根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽包括:
根据连接事件的关闭情况以及当前应用的通信带宽,计算当前连接事件的数据传输量在当前连接事件内正常传输所需的通信带宽;
判断该数据传输量所需的传输时间与当前应用的通信带宽的大小;
如果所需的传输时间等于当前应用的通信带宽,无需调整当前应用的通信带宽;
如果所需的传输时间大于当前应用的通信带宽,则增大当前应用的通信带宽;
如果所需的传输时间小于当前应用的通信带宽,则减小当前应用的通信带宽。
11.根据权利要求9所述的低功耗蓝牙通信带宽动态调整方法,其特征在于,在应用计算得出的通信带宽为当前的通信带宽后,再根据当前应用的通信带宽以及连接事件的关闭情况计算在当前连接事件内的数据发送情况,并依据数据发送情况动态调整当前蓝牙的通信带宽。
12.一种低功耗蓝牙通信带宽动态调整系统,其特征在于,所述系统包括:
检测模块,用于在建立BLE连接之后,实时监测当前连接事件的通信双方的数据传输量;所述实时监测当前连接事件的通信双方的数据传输量包括:统计连续发送的完整数据包的长度和接收的完整数据包的长度,计算当前发送和接收的完整数据包的总长度为数据传输量;
调整模块,用于根据当前的数据传输量、当前的通信速率、使用的PHY及单次可以发送的最大数据包长度动态计算得出通信带宽,计算公式如下:
公式中DataLenTotal为当前发送与接收的完整数据包总长度,payloadLen为单个数据包payload的最大长度,TxTime为发送一个数据包所需要的时间,根据通信速率、使用的PHY以及单次可发送数据包的最大长度确定,T_IFS是收发包的帧间隔时间,对于BLE是固定的150μs,TimeSlot是一个时隙时间长度,[]表示向上取整操作,BC即表示动态计算出来的通信带宽,BI为预设的初始通信带宽,即蓝牙设备之间建立BLE连接时的通信带宽,当DataLenTotal为0,即当前统计收发的都是空包,当前蓝牙设备的通信带宽为BI;并调整当前蓝牙设备的通信带宽。
13.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-11任意一项所述的低功耗蓝牙通信带宽动态调整方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11任意一项所述的低功耗蓝牙通信带宽动态调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210210764.8A CN114679768B (zh) | 2022-03-03 | 2022-03-03 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210210764.8A CN114679768B (zh) | 2022-03-03 | 2022-03-03 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679768A CN114679768A (zh) | 2022-06-28 |
CN114679768B true CN114679768B (zh) | 2023-10-17 |
Family
ID=82072462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210210764.8A Active CN114679768B (zh) | 2022-03-03 | 2022-03-03 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679768B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946547A (zh) * | 2012-11-20 | 2013-02-27 | 浙江银江智慧交通集团有限公司 | 一种基于视频图像取证设备运行状态的检测方法 |
CN107734537A (zh) * | 2016-08-10 | 2018-02-23 | 腾讯科技(深圳)有限公司 | 网络性能参数的测量方法、发送端及接收端 |
CN108234224A (zh) * | 2016-12-13 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 可用带宽的探测方法及装置 |
CN108738006A (zh) * | 2018-05-31 | 2018-11-02 | 出门问问信息科技有限公司 | 基于蓝牙的数据传输方法及装置 |
CN111355667A (zh) * | 2020-02-17 | 2020-06-30 | 视联动力信息技术股份有限公司 | 数据传输方法、装置、系统及计算机可读存储介质 |
CN112312369A (zh) * | 2020-09-29 | 2021-02-02 | 无锡中感微电子股份有限公司 | 一种低延迟无线音频发送和接收方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2975585A1 (en) * | 2014-02-04 | 2015-08-13 | Distrix Networks Ltd. | Bandwidth and latency estimation in a communication network |
-
2022
- 2022-03-03 CN CN202210210764.8A patent/CN114679768B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946547A (zh) * | 2012-11-20 | 2013-02-27 | 浙江银江智慧交通集团有限公司 | 一种基于视频图像取证设备运行状态的检测方法 |
CN107734537A (zh) * | 2016-08-10 | 2018-02-23 | 腾讯科技(深圳)有限公司 | 网络性能参数的测量方法、发送端及接收端 |
CN108234224A (zh) * | 2016-12-13 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 可用带宽的探测方法及装置 |
CN108738006A (zh) * | 2018-05-31 | 2018-11-02 | 出门问问信息科技有限公司 | 基于蓝牙的数据传输方法及装置 |
CN111355667A (zh) * | 2020-02-17 | 2020-06-30 | 视联动力信息技术股份有限公司 | 数据传输方法、装置、系统及计算机可读存储介质 |
CN112312369A (zh) * | 2020-09-29 | 2021-02-02 | 无锡中感微电子股份有限公司 | 一种低延迟无线音频发送和接收方法及设备 |
Non-Patent Citations (2)
Title |
---|
一种蓝牙微微网视频流媒体MAC层调度算法;刘建峰;张锦峰;覃少华;金惠华;;系统仿真学报(第20期) * |
一种蓝牙微微网视频流媒体MAC层调度算法;刘建峰等;《系统仿真学报》(20);第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114679768A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060193315A1 (en) | Beacon transmission in short-range wireless communication systems | |
US11736969B2 (en) | Micro-power wireless access method and apparatus for internet of things for power transmission and transformation equipment | |
US20080219196A1 (en) | Infrastructure offload wake on wireless lan (wowl) | |
US20030125087A1 (en) | Wireless base station device, wireless communication system, and communication control method | |
CN110572481A (zh) | 基于LoRa通信的智能化机电设备数据交互方法与系统 | |
CN113490261B (zh) | 无线通信方法、通信设备及具有存储功能的装置 | |
CN110062347B (zh) | 一种低功耗数据主动上报方法及系统 | |
RU2002104934A (ru) | Способ и устройство передачи данных по обратной линии связи в системе мобильной связи | |
WO2012058970A1 (zh) | 终端接入的控制方法、终端和系统 | |
CN110809287B (zh) | 一种LoRa系统的通讯方法 | |
Cao et al. | Performance analysis and improvement on DSRC application for V2V communication | |
CN110691375B (zh) | 一种选择方法、装置及计算机存储介质 | |
US20220397658A1 (en) | Method and device for performing uwb ranging | |
CN114679768B (zh) | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 | |
CN112187556A (zh) | 一种拥塞测量方法、网络节点 | |
US11516561B2 (en) | Method for reading fluid meters | |
WO2018082554A1 (zh) | 动态harq-ack反馈方法及装置 | |
CN110708722B (zh) | 传输速率控制方法及终端、计算机存储介质 | |
CN109845346B (zh) | 一种唤醒无线设备的方法、发送设备及接收设备 | |
CN115474264A (zh) | 发射功率调节方法、装置、终端及存储介质 | |
JP4237794B2 (ja) | フレームプロトコル・データフレームにおける一般化したスペア拡張フィールドの使用 | |
KR100804288B1 (ko) | 홈 폰 라인 네트워크에서 휴면 모드 웨이크 업 지원을 위한 방법 및 시스템과, 홈 폰 라인 제어기 | |
CN107086900B (zh) | 应对lte网络紧急事件的m2m通信接入控制优化方法 | |
CN114710255B (zh) | 一种基于蓝牙ble连接方式的数据接收方法及装置 | |
Garcia-Luna-Aceves | A state-aware persistence strategy for multiple access protocols with carrier sensing |
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 |