CN113423099B - 蓝牙广播事件调度方法、装置及蓝牙设备 - Google Patents
蓝牙广播事件调度方法、装置及蓝牙设备 Download PDFInfo
- Publication number
- CN113423099B CN113423099B CN202110688173.7A CN202110688173A CN113423099B CN 113423099 B CN113423099 B CN 113423099B CN 202110688173 A CN202110688173 A CN 202110688173A CN 113423099 B CN113423099 B CN 113423099B
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- event
- broadcast
- priority
- time
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0446—Resources in time domain, e.g. slots or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
-
- 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
本发明公开了一种蓝牙广播事件调度方法、装置及蓝牙设备,该方法包括:确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间。可见,本发明实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种蓝牙广播事件调度方法、装置及蓝牙设备。
背景技术
随着人民生活现代化程度的提高,对于通信技术的需求也日渐增加,以低成本且近距离为特点的蓝牙数据传输技术逐渐受到市场青睐,成为被广泛使用的无线连接通信技术之一。
但现有的蓝牙数据传输技术,在解决不同的蓝牙数据传输事件同时占用蓝牙数据物理层而导致的事件冲突问题时,一般采用分别使能或关闭不同的蓝牙数据传输事件,来避免同时执行,但其这种解决方案效率太低,且没有考虑不同蓝牙数据传输事件的特性,因此现有技术存在一定缺陷,亟待解决。
发明内容
本发明所要解决的技术问题在于,提供一种蓝牙广播事件调度方法、装置及蓝牙设备,可以通过预设的优先级关系,从目标时间段中确定出没有更高优先级冲突事件存在的时间区间来进行蓝牙广播,以对蓝牙广播事件进行调度,从而实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
为了解决上述技术问题,本发明第一方面公开了一种蓝牙广播事件调度方法,所述方法包括:
确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;所述蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级;
根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;
将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间。
作为一种可选的实施方式,在本发明第一方面中,所述事件类型包括蓝牙发起态扫描事件、蓝牙连接事件、蓝牙广播事件和蓝牙扫描事件中的一种或多种。
作为一种可选的实施方式,在本发明第一方面中,所述蓝牙数据传输事件优先级顺序包括:
所述蓝牙连接事件的优先级高于所述蓝牙广播事件;和/或,
所述蓝牙广播事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙连接事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙发起态扫描事件的优先级高于所述蓝牙扫描事件或所述蓝牙广播事件;和/或;
所述蓝牙连接事件的优先级高于所述蓝牙发起态扫描事件。
作为一种可选的实施方式,在本发明第一方面中,所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间,包括:
对于任一所述可广播时间区间,将该可广播时间区间的起始时刻确定为所述蓝牙广播事件的起始执行时刻。
作为一种可选的实施方式,在本发明第一方面中,所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间之前,所述方法还包括:
对于任一所述可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的所述非广播优先事件所对应的传输准备时长;
将该可广播时间区间的时长与所述传输准备时长的差,确定为该可广播时间区间的新的时长。
作为一种可选的实施方式,在本发明第一方面中,所述传输准备时长包括软件准备时长、硬件准备时长和射频准备时长中的一种或多种。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
获取来自目标BLE设备的历史传输记录;
根据所述历史传输记录中的多个历史传输准备时长,确定出所述传输准备时长。
本发明第二方面公开了一种蓝牙广播事件调度装置,所述装置包括:
第一确定模块,用于确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;所述蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级;
第二确定模块,用于根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;
第三确定模块,用于将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间。
作为一种可选的实施方式,在本发明第二方面中,所述事件类型包括蓝牙发起态扫描事件、蓝牙连接事件、蓝牙广播事件和蓝牙扫描事件中的一种或多种。
作为一种可选的实施方式,在本发明第二方面中,所述蓝牙数据传输事件优先级顺序包括:
所述蓝牙连接事件的优先级高于所述蓝牙广播事件;和/或,
所述蓝牙广播事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙连接事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙发起态扫描事件的优先级高于所述蓝牙扫描事件或所述蓝牙广播事件;和/或;
所述蓝牙连接事件的优先级高于所述蓝牙发起态扫描事件。
作为一种可选的实施方式,在本发明第二方面中,所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述第三确定模块将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间的具体方式,包括:
对于任一所述可广播时间区间,将该可广播时间区间的起始时刻确定为所述蓝牙广播事件的起始执行时刻。
作为一种可选的实施方式,在本发明第二方面中,所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述装置还包括第一时长确定模块,用于:
对于任一所述可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的所述非广播优先事件所对应的传输准备时长;
将该可广播时间区间的时长与所述传输准备时长的差,确定为该可广播时间区间的新的时长。
作为一种可选的实施方式,在本发明第二方面中,所述传输准备时长包括软件准备时长、硬件准备时长和射频准备时长中的一种或多种。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
第二时长确定模块,用于获取来自目标BLE设备的历史传输记录,根据所述历史传输记录中的多个历史传输准备时长,确定出所述传输准备时长。
本发明第三方面公开了另一种蓝牙广播事件调度装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面公开的蓝牙广播事件调度方法中的部分或全部步骤。
本发明实施例第四方面公开了一种蓝牙设备,其包括蓝牙广播事件调度装置,所述蓝牙广播事件调度装置用于执行本发明实施例第一方面公开的蓝牙广播事件调度方法中的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;所述蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级;根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间。可见,本发明可以通过预设的优先级关系,从目标时间段中确定出没有更高优先级冲突事件存在的时间区间来进行蓝牙广播,以对蓝牙广播事件进行调度,从而实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种蓝牙广播事件调度方法的流程示意图;
图2是本发明实施例公开的一种蓝牙广播事件调度装置的结构示意图;
图3是本发明实施例公开的另一种蓝牙广播事件调度装置的结构示意图;
图4是本发明实施例公开的蓝牙广播事件发包失败的时序示意图;
图5是本发明实施例公开的蓝牙自适应广播模式和蓝牙普通广播模式的时序对比示意图;
图6是本发明实施例公开的蓝牙自适应广播模式发包成功的时序示意图;
图7是本发明实施例公开的传输准备时长的时序示意图;
图8是本发明实施例公开的事件调度装置的具体实施方案的软硬件框架示意图;
图9是本发明实施例公开的事件调度装置的具体实施方案的软件实现流程示意图;
图10是本发明实施例公开的事件调度装置的具体实施方案的数据传输时序示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种蓝牙广播事件调度方法、装置及蓝牙设备,可以通过预设的优先级关系,从目标时间段中确定出没有更高优先级冲突事件存在的时间区间来进行蓝牙广播,以对蓝牙广播事件进行调度,从而实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种蓝牙广播事件调度方法的流程示意图。其中,图1所描述的方法可以应用于相应的蓝牙控制设备、蓝牙控制终端、蓝牙控制服务器中,且该服务器可以是本地服务器,也可以是云服务器,本发明实施例不做限定。其中,本发明中所描述的方法可以应用于蓝牙不同代际版本的技术,优选的,其可以应用在蓝牙4.0的BLE(Bluetooth Low Energy,低功耗蓝牙)技术中。如图1所示,该蓝牙广播事件调度方法可以包括以下操作:
101、确定预计在目标时间段内执行的至少一个非广播优先事件。
本发明实施例中,非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件。
本发明实施例中,蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级。可选的,事件类型包括蓝牙发起态扫描事件、蓝牙连接事件、蓝牙广播事件和蓝牙扫描事件中的一种或多种。
本发明实施例中,目标时间段可以为当前时间段,也可以为未来的某一时间区间,本发明不作限定。可选的,本发明实施例中所述的预计在目标时间段执行,可以为对应的蓝牙数据传输事件的计划执行时间起点在目标时间段内,也可以为对应的蓝牙数据传输事件计划执行时间段包括所述目标时间段的部分或全部,还可以为对应的蓝牙数据传输事件正在执行且其计划执行持续时间与所述目标时间段有交集,本发明不做限定。
102、根据至少一个非广播优先事件的预计执行时间,从目标时间段中确定出可广播空闲时间段。
本发明实施例中,可广播空闲时间段为目标时间段内未被非广播优先事件的预计执行时间区间占据的时间区间。
103、将可广播空闲时间段,确定为蓝牙广播事件的执行时间区间。
可见,实施本发明实施例所描述的方法可以通过预设的优先级关系,从目标时间段中确定出没有更高优先级冲突事件存在的时间区间来进行蓝牙广播,以对蓝牙广播事件进行调度,从而实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
在一个可选的实施方式中,蓝牙数据传输事件优先级顺序可以包括:
蓝牙连接事件的优先级高于蓝牙广播事件;和/或,
蓝牙广播事件的优先级高于蓝牙扫描事件;和/或,
蓝牙连接事件的优先级高于蓝牙扫描事件;和/或,
蓝牙发起态扫描事件的优先级高于蓝牙扫描事件或蓝牙广播事件;和/或;
蓝牙连接事件的优先级高于蓝牙发起态扫描事件。
本发明实施例中,蓝牙数据传输事件优先级顺序可以为上述多种优先级关系的任意一个或多个组合,也可以被直接定位上述所有优先级关系的组合,也即:蓝牙连接事件>蓝牙发起态扫描事件>蓝牙广播事件>蓝牙扫描事件。其中,本发明中的蓝牙发起态扫描事件应与蓝牙扫描事件区分开来,蓝牙发起态扫描事件应被定义为蓝牙设备在发起态状态下为建立蓝牙连接而进行的扫描广播包行为,而蓝牙扫描事件应被定义为蓝牙设备在扫描态状态下进行的扫描广播包行为。
优选的,蓝牙发起态扫描事件为发起态下的BLE扫描行为,具体为BLE设备在建立BLE连接前会进入发起态,在该发起态下BLE设备进行的扫描广播包行为。
优先的,蓝牙扫描事件为BLE设备在扫描态下的扫描广播行为,例如BLE Mesh(低功耗蓝牙组网)技术中的BLE设备的消极扫描行为。
优选的,蓝牙连接事件为BLE连接。优选的,蓝牙广播事件为BLE广播行为,例如BLEMesh(低功耗蓝牙组网)技术中的BLE设备的BLE非定向广播行为。
本发明实施例中,将蓝牙数据传输事件优先级顺序设定为上述顺序的理由为,在蓝牙数据传输技术中,如BLE Mesh技术中,蓝牙扫描需要开启以最大化蓝牙设备的数据接收能力,而蓝牙广播的发包决定了蓝牙设备的数据发送能力,也影响着蓝牙设备的主动通信能力,而蓝牙设备的主动通信能力显然优先级要高于被动通信能力,因此,蓝牙广播事件的优先级应该高于蓝牙扫描事件。另一方面,与蓝牙广播事件不同,蓝牙连接事件在执行时,意味着必须在确定的时间点上进行数据传输,否则会出现数据重传率提升甚至蓝牙连线断开的情况,因此蓝牙连接事件应当具备最高的优先级,以保证蓝牙功能的稳定。另一方面,蓝牙发起态扫描事件是蓝牙设备在建立蓝牙连接前的发起扫描行为,其是建立蓝牙连接的基础,因此,蓝牙发起态扫描事件的优先级应大于除蓝牙连接事件之外的其他事件,并可选的小于或等于蓝牙连接事件,以保证其执行不被中断。
可见,该可选的实施方式,能够实现建立起一种合理且高效的蓝牙数据传输事件优先级策略,并以此来进行冲突蓝牙数据传输事件的调度,从而辅助实现更灵活的蓝牙扫描,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
上述可选的实施方式提出的优先级顺序,其可以用于调度多个冲突的蓝牙数据传输事件,例如在更高优先级的冲突事件需要被调度时,可以直接暂停当前的低优先级的事件,但其仍然存在未能解决由于蓝牙广播事件优先级低于蓝牙连接事件而出现的发包失败的问题。
具体的,由于蓝牙广播事件优先级比蓝牙连接事件低,当蓝牙连接事件发生与蓝牙广播事件在使用蓝牙物理层上的分时冲突时,蓝牙广播事件将无法被调度,导致蓝牙广播事件无法在限定时间内发出广播包。如图4所示,蓝牙应用需要在T0到T5期间发出2个蓝牙广播事件包,由于蓝牙广播事件发包期间存在高优先级的蓝牙连接事件(蓝牙连接事件的执行时间长度与其收发包情况有关)导致蓝牙广播事件无法在T0以及T4时刻被调度,在T0到T5限定时间内发包失败。
因此为了解决这一问题,本发明实施例提出了蓝牙广播事件的执行时间区间的确定方式,这一方法下,蓝牙广播事件不再以广播时间间隔作为广播规律,而是将目标时间段内没有被更高优先级的事件占据的时间区间均确定为可以执行广播的区间,从而使得蓝牙广播事件对蓝牙物理层的利用率最大化。
在另一个可选的实施方式中,可广播空闲时间段可以包括有多个可广播时间区间,至少两个可广播时间区间之间存在时间间隔,步骤103中的,将可广播空闲时间段,确定为蓝牙广播事件的执行时间区间,具体包括:
对于任一可广播时间区间,将该可广播时间区间的起始时刻确定为蓝牙广播事件的起始执行时刻。
上述设置是为了使得蓝牙广播事件的起始执行时刻不再受到广播间隔的限制,而是直接定位至目标时间段内蓝牙物理层不再被高优先级所占用的时间点,从而能够最大程度上提高对蓝牙物理层的利用率,以及避免出现广播发包失败的情况。
本可选的实施方式的一种具体的实施方案可以参照图5和图6,其为应用在BLEMesh技术中的一种BLE自适应广播模式,可见其调度BLE广播时,若发现其遇到与较高优先级发生某时刻使用BLE PHY的分时冲突时,BLE广播的时间瞄点可以延至BLE PHY被高优先级的事件使用BLE PHY结束后的时刻重新进行调度,循环这一过程直到BLE广播在无需冲突避让的时间点使用BLE PHY。其次,在自适应广播模式下,advinterval与advDelay的参数取值可以是任意值不受协议限定,也即广播间隔不再是固定的值,同时,自适应BLE广播就是根据BLE PHY分时冲突自适应到合适的时间点进行BLE广播发包,使得BLE广播可以在BLEPHY空闲的时刻进行使用,避免了广播发包失败并减少了BLE广播发包延迟。如图5所示可以看出BLE自适应广播与普通广播的区别,BLE自适应广播中,广播间隔不再固定,这一区别解决了图7的问题,且如图6所示,采用了自适应广播模式的BLE设备,在T0到T5期间成功发送了BLE Mesh应用所需发送的2个BLE广播包。
可见,通过实施该可选的实施方式,可以将该可广播时间区间的起始时刻确定为蓝牙广播事件的起始执行时刻,从而可以确定出更加合理的广播启动时间锚点,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
在又一个可选的实施方式中,步骤103中的,将可广播空闲时间段,确定为蓝牙广播事件的执行时间区间之前,该方法还包括:
对于任一可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的蓝牙数据传输事件所对应的传输准备时长;
将该可广播时间区间的时长与传输准备时长的差,确定为该可广播时间区间的新的时长。
优选的,该传输准备时长为蓝牙数据传输事件在执行前需要预留的准备时长,其可以为某些软硬件为实施蓝牙数据传输事件所做出的准备操作耗费的时间,该传输准备时长可以包括软件准备时长、硬件准备时长和射频准备时长中的一种或多种。在该可选的实施方式的一种具体的实施方案中,考虑到对BLE PHY的使用时间存在定量的时间偏差Δt,当某一个BLE事件结束时到另一个事件开始前存在一些软硬件的预留时间,使得另一个事件在空口中反映出的占用BLE PHY的时间点与上一个事件结束时间的时间点之差就是这个时间偏差Δt,如图7所示,BLE连接事件需要在空口中进行收发包时间点为T2,按照自适应扫描模式,扫描事件需要在T2时停止使用BLE PHY,但在实际技术方案实施中,扫描事件需要在T2之前T1时刻结束使用BLE PHY使得Δt=(T2-T1),该Δt也可以认为连接事件在空口中进行收发包前,预留使用BLE PHY的时间,但实际中可能是由软件调度的时长、硬件链路控制时长、RF准备时长等多种时间之和,Δt的组成和大小与具体技术方案的实施有关,在实现中需要反复确定该值,避免BLE PHY的使用不符合预期。
可见,通过实施该可选的实施方式,可以结合传输准备时长对可广播事件区间的时长做进一步的调整,从而可以确定出更加合理的广播时间区间,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
在又一个可选的实施方式中,该方法还包括:
获取来自目标BLE设备的历史传输记录;
根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长。
可选的,上述传输准备时长的确定,可以通过获取来自目标BLE设备的历史传输记录,并根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长,例如计算多个历史传输准备时长的平均值或中位数或最大值,以作为传输准备时长。
可见,通过实施该可选的实施方式,可以根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长,从而可以确定出更加准确的传输准备时长,有助于保证蓝牙传输具有充分的准备时间,从而提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
本发明实施例还公开了一种包括可以用于执行上述调度方法的软硬件架构和软件流程的技术实施方案,包括从BLE Mesh应用到BLE PHY使用技术细节以及BLE Mesh应用配置参数、参数使用方法、参数量化方法,以此实现BLE PHY的分时高效利用以及在特定环境、特定的BLE Mesh拓扑结构下,使得BLE Mesh网络中数据传送的可靠性。
该技术实施方案的实现方法包括以下几部分:
第一部分:如图8所示为该技术实施方案实现所采用的软硬件框架图,图中展示了几个主要组成部分,分别是BLE Mesh应用、BLE协议栈、软件调度器、硬件链路控制器和BLEPHY。
其中,BLE Mesh应用可以为如BLE Mesh智能家居控制中的人机交互程序以达到控制某种家电设备的应用程序,BLE协议栈可以为BLE Mesh协议栈、BLE GAP(BLE GenericAccess Profile,BLE通用访问配置文件)或BLE GATT(BLE Generic Attribute Profile,BLE通用属性配置文件),软件调度器的主要作用是按照上述实施例中的优先级策略,配置并控制硬件链路控制器使其在特点的时间点使用BLE PHY进行链路层数据收发,而硬件链路控制器负责包括括链路层数据包管理,时序控制,物理层链路配置参数,有线/无线硬件交互接口管理的物理链路管理。
第二部分:结合图9,简述该技术实施方案的整体软件实现流程:
一、应用程序启动(包括协议栈启动,BLE控制器启动);
二、应用程序使能BLE控制器进入自适应广播模式和自适应扫描模式(通过厂商自定义HCI指令进行配置);
三、应用程序设置协议栈参数(如设置网络法发包间隔和重传个数);
四、应用程序使能BLE扫描进入数据接收(BLE控制器在软件调度器的作用下,以自适应扫描模式,高占空比使用BLE PHY,以最大能力进行接收);
五、将应用收发包处理程序、协议栈数据包收发程序、软件调度器、链路控制器、中断控制器、BLE PHY放入一个自循环的收发包处理流程之中,共同完成BLE Mesh网设备工作职能。
第三部分:详叙第二部分的流程步骤五,以说明软硬件协作的细节以体现上述实施例所述的蓝牙数据传输事件的调度方法的实现方法以及实现该方法完成高效的PHY分时利用的过程,以此实现BLE Mesh收发的性能最优化在技术实现方案中的运用。软件调度器模块由调度列表,软件优先级策略,调度算法组成,调度列表管理当前的BLE事件,如某时刻T0所在BLE PHY正在被某个事件使用,如果BLE PHY是不可强占的,那么BLE软件调度器将置其标志位表示禁止调度,直到被BLE PHY使用的事件被释放,BLE PHY结束使用时会通过中断控制器通知调度器软件,调度器软件将清除BLE PHY被占用的标志,并遍历调度列表,使用调度优先级策略以及调度算法来选出下一个可使用BLE PHY的BLE事件,首先,调度器读取当前时间点T1,并从调度列表中找到离当前最近的连接时间瞄点T2的连接事件,如果T2存在,使得条件1“(T2-T1-Tsw-Thw)>=Twinscanmin(即BLE扫描事件对应的最小的扫描窗口)”成立,如果调度列表中找到广播事件其预设需要使用BLE PHY的时间为T3,如果存在T3,使得条件2“(T3-T1-Tsw-Thw)>=Twinscanmin”成立,那么BLE扫描将在T1+Tsw+Thw时刻使用BLE PHY,其中的(Tsw+Thw)为上述实施例中所述的传输准备时长,在这里Tsw表示的是软件调度器预计从T1时刻开始到控制链路管理器进行调度的软件时长,Thw表示的是硬件链路控制器开始执行调度命令到BLE PHY在空口收发包的时长。而BLE扫描的时长为T2-T1-Tsw-Thw、T3-T1-Tsw-Thw、以及Twinscan(也即上述实施例中所述的最大扫描时长)三者中的最小值。下一个使用BLE PHY是否为BLE广播或BLE连接也是要经过调度列表,调度算法,调度策略三者的演算得出,该演算的细节符合上述实施例中指出的自适应广播模式。其次,当调度软件选择出将要使用BLE PHY的事件Event1时,调度软件需要读取当前的时间T0与调度事件预设需要在空口中收发包的时间T1,当T1-T0>Thw时,调度软件通过寄存器控制链路控制器执行Event1的硬件调度使用BLE PHY,如果当T1-T0<=Thw时,调度软件需要放弃本次调度并重新执行调度选择,例如对于BLE连接事件出现这种情况,BLE连接事件的连接瞄点时间需要调整为连接事件的下一个瞄点时间。最后,BLE PHY执行完BLE事件的空口收发包行为后又再一次通过中断控制器返回到调度模块重新执行调度。BLE Mesh应用可以通过开关BLE广播,或者开关BLE扫描来改变调度模块中的调度列表,从而达到改变BLE Mesh收发包的行为。如图10所示便是该技术实施方案实施后的一种具体的时序实例。
第四部分:关于BLE Mesh应用配置参数及参数量化方法和使用方法。BLE Mesh可以通过改变扫描参数中的scan window,来改变自适应扫描模式的最大扫描窗口值Twinscan,在不可抢占时的BLE PHY中,该Twinscan大小将会影响到BLE广播发包延迟,BLEMesh应用可以通过改变BLE该参数来控制BLE广播发包延迟。BLE Mesh可以通过改变mesh协议栈网络的发包间隔和发包重传个数来获得相对可靠的Mesh数据传输。假设在一个定量的干扰环境中,布置着一些定量BLE Mesh设备,这些设备彼此之间都可以收到对方的BLE的无线信号,并且这些设备以一定频率发包,如20ms间隔进行发包,其中任意两个设备间的最小接收成功率为P,那么这个环境中保证可靠传输的重传次数为(1/P+1)。
可选的,针对上述技术实施方案,可以使用两套分别的蓝牙物理层和蓝牙射频模块,来分别实现蓝牙的数据包接收和数据包发送。
可选的,本发明实施例中所述的调度方法的实现可以是一种软件进行链路控制的调度方案,也可以是一种硬件的仲裁装置,本发明不做限定。
可选的,本发明实施例中所述的调度方法所针对的冲突蓝牙数据传输事件所占用的蓝牙数据传输物理资源,可以是物理层资源,例如BLE PHY资源,也可以是其他资源,比如在经典蓝牙/增强数据率蓝牙/低功耗蓝牙的双模控制器中的经典蓝牙物理层资源冲突或者与无线局域网共存时使用的射频资源分时冲突等。可选的,本发明实施例中所述的调度方法可以用于BLE控制器芯片、经典蓝牙/增强数据率蓝牙/低功耗蓝牙控制器芯片,或者,经典蓝牙/增强数据率蓝牙/低功耗蓝牙+无线局域网的二合一双模芯片中。
本发明在应用在BLE Mesh技术时,从提高BLE Mesh设备自身的收发性能为设计出发点,不需要修改BLE Mesh协议栈,较为通用,且可以解决BLE Mesh分时使用BLE PHY所产生的问题。具体的,BLE Mesh的底层通信方式虽然是基于BLE广播信道来实现的,但BLEMesh与普通的BLE应用却有很大的不同,对BLE广播信道数据传输要求更高,特别是当分时使用BLE PHY的能力不足,本发明的优化改进具有很强针对性及普遍意义。
实施例二
请参阅图2,图2是本发明实施例公开的一种蓝牙广播事件调度装置的结构示意图。其中,图2所描述的装置可以应用于相应的蓝牙控制设备、蓝牙控制终端、蓝牙控制服务器中,且该服务器可以是本地服务器,也可以是云服务器,本发明实施例不做限定。其中,本发明中所描述的装置可以应用于蓝牙不同代际版本的技术,优选的,其可以应用在蓝牙4.0的BLE(Bluetooth Low Energy,低功耗蓝牙)技术中。如图2所示,该装置可以包括:
第一确定模块201,用于确定预计在目标时间段内执行的至少一个非广播优先事件。
本发明实施例中,非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件。
本发明实施例中,蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级。可选的,事件类型包括蓝牙发起态扫描事件、蓝牙连接事件、蓝牙广播事件和蓝牙扫描事件中的一种或多种。
本发明实施例中,目标时间段可以为当前时间段,也可以为未来的某一时间区间,本发明不作限定。可选的,本发明实施例中所述的预计在目标时间段执行,可以为对应的蓝牙数据传输事件的计划执行时间起点在目标时间段内,也可以为对应的蓝牙数据传输事件计划执行时间段包括所述目标时间段的部分或全部,还可以为对应的蓝牙数据传输事件正在执行且其计划执行持续时间与所述目标时间段有交集,本发明不做限定。
第二确定模块202,用于根据至少一个非广播优先事件的预计执行时间,从目标时间段中确定出可广播空闲时间段。
本发明实施例中,可广播空闲时间段为目标时间段内未被非广播优先事件的预计执行时间区间占据的时间区间。
第三确定模块203,用于将可广播空闲时间段,确定为蓝牙广播事件的执行时间区间。
可见,实施本发明实施例所描述的装置可以通过预设的优先级关系,从目标时间段中确定出没有更高优先级冲突事件存在的时间区间来进行蓝牙广播,以对蓝牙广播事件进行调度,从而实现了更加灵活的蓝牙广播功能,且有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
在一个可选的实施方式中,蓝牙数据传输事件优先级顺序可以包括:
蓝牙连接事件的优先级高于蓝牙广播事件;和/或,
蓝牙广播事件的优先级高于蓝牙扫描事件;和/或,
蓝牙连接事件的优先级高于蓝牙扫描事件;和/或,
蓝牙发起态扫描事件的优先级高于蓝牙扫描事件或蓝牙广播事件;和/或;
蓝牙连接事件的优先级高于蓝牙发起态扫描事件。
本发明实施例中,蓝牙数据传输事件优先级顺序可以为上述多种优先级关系的任意一个或多个组合,也可以被直接定位上述所有优先级关系的组合,也即:蓝牙连接事件>蓝牙发起态扫描事件>蓝牙广播事件>蓝牙扫描事件。其中,本发明中的蓝牙发起态扫描事件应与蓝牙扫描事件区分开来,蓝牙发起态扫描事件应被定义为蓝牙设备在发起态状态下为建立蓝牙连接而进行的扫描广播包行为,而蓝牙扫描事件应被定义为蓝牙设备在扫描态状态下进行的扫描广播包行为。
优选的,蓝牙发起态扫描事件为发起态下的BLE扫描行为,具体为BLE设备在建立BLE连接前会进入发起态,在该发起态下BLE设备进行的扫描广播包行为。
优先的,蓝牙扫描事件为BLE设备在扫描态下的扫描广播行为,例如BLE Mesh(低功耗蓝牙组网)技术中的BLE设备的消极扫描行为。
优选的,蓝牙连接事件为BLE连接。优选的,蓝牙广播事件为BLE广播行为,例如BLEMesh(低功耗蓝牙组网)技术中的BLE设备的BLE非定向广播行为。
本发明实施例中,将蓝牙数据传输事件优先级顺序设定为上述顺序的理由为,在蓝牙数据传输技术中,如BLE Mesh技术中,蓝牙扫描需要开启以最大化蓝牙设备的数据接收能力,而蓝牙广播的发包决定了蓝牙设备的数据发送能力,也影响着蓝牙设备的主动通信能力,而蓝牙设备的主动通信能力显然优先级要高于被动通信能力,因此,蓝牙广播事件的优先级应该高于蓝牙扫描事件。另一方面,与蓝牙广播事件不同,蓝牙连接事件在执行时,意味着必须在确定的时间点上进行数据传输,否则会出现数据重传率提升甚至蓝牙连线断开的情况,因此蓝牙连接事件应当具备最高的优先级,以保证蓝牙功能的稳定。另一方面,蓝牙发起态扫描事件是蓝牙设备在建立蓝牙连接前的发起扫描行为,其是建立蓝牙连接的基础,因此,蓝牙发起态扫描事件的优先级应大于除蓝牙连接事件之外的其他事件,并可选的小于或等于蓝牙连接事件,以保证其执行不被中断。
可见,该可选的实施方式,能够实现建立起一种合理且高效的蓝牙数据传输事件优先级策略,并以此来进行冲突蓝牙数据传输事件的调度,从而辅助实现更灵活的蓝牙扫描,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
上述可选的实施方式提出的优先级顺序,其可以用于调度多个冲突的蓝牙数据传输事件,例如在更高优先级的冲突事件需要被调度时,可以直接暂停当前的低优先级的事件,但其仍然存在未能解决由于蓝牙广播事件优先级低于蓝牙连接事件而出现的发包失败的问题。
具体的,由于蓝牙广播事件优先级比蓝牙连接事件低,当蓝牙连接事件发生与蓝牙广播事件在使用蓝牙物理层上的分时冲突时,蓝牙广播事件将无法被调度,导致蓝牙广播事件无法在限定时间内发出广播包。如图4所示,蓝牙应用需要在T0到T5期间发出2个蓝牙广播事件包,由于蓝牙广播事件发包期间存在高优先级的蓝牙连接事件(蓝牙连接事件的执行时间长度与其收发包情况有关)导致蓝牙广播事件无法在T0以及T4时刻被调度,在T0到T5限定时间内发包失败。
因此为了解决这一问题,本发明实施例提出了蓝牙广播事件的执行时间区间的确定方式,这一方法下,蓝牙广播事件不再以广播时间间隔作为广播规律,而是将目标时间段内没有被更高优先级的事件占据的时间区间均确定为可以执行广播的区间,从而使得蓝牙广播事件对蓝牙物理层的利用率最大化。
作为一种可选的实施方式,可广播空闲时间段可以包括有多个可广播时间区间,至少两个可广播时间区间之间存在时间间隔,第三确定模块203将可广播空闲时间段,确定为蓝牙广播事件的执行时间区间的具体方式,包括:
对于任一可广播时间区间,将该可广播时间区间的起始时刻确定为蓝牙广播事件的起始执行时刻。
上述设置是为了使得蓝牙广播事件的起始执行时刻不再受到广播间隔的限制,而是直接定位至目标时间段内蓝牙物理层不再被高优先级所占用的时间点,从而能够最大程度上提高对蓝牙物理层的利用率,以及避免出现广播发包失败的情况。
本可选的实施方式的一种具体的实施方案可以参照图5和图6,其为应用在BLEMesh技术中的一种BLE自适应广播模式,可见其调度BLE广播时,若发现其遇到与较高优先级发生某时刻使用BLE PHY的分时冲突时,BLE广播的时间瞄点可以延至BLE PHY被高优先级的事件使用BLE PHY结束后的时刻重新进行调度,循环这一过程直到BLE广播在无需冲突避让的时间点使用BLE PHY。其次,在自适应广播模式下,advinterval与advDelay的参数取值可以是任意值不受协议限定,也即广播间隔不再是固定的值,同时,自适应BLE广播就是根据BLE PHY分时冲突自适应到合适的时间点进行BLE广播发包,使得BLE广播可以在BLEPHY空闲的时刻进行使用,避免了广播发包失败并减少了BLE广播发包延迟。如图5所示可以看出BLE自适应广播与普通广播的区别,BLE自适应广播中,广播间隔不再固定,这一区别解决了图7的问题,且如图6所示,采用了自适应广播模式的BLE设备,在T0到T5期间成功发送了BLE Mesh应用所需发送的2个BLE广播包。
可见,通过实施该可选的实施方式,可以将该可广播时间区间的起始时刻确定为蓝牙广播事件的起始执行时刻,从而可以确定出更加合理的广播启动时间锚点,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
作为一种可选的实施方式,可广播空闲时间段可以包括有多个可广播时间区间,至少两个可广播时间区间之间存在时间间隔,该装置还包括第一时长确定模块,用于:
对于任一可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的非广播优先事件所对应的传输准备时长;
将该可广播时间区间的时长与传输准备时长的差,确定为该可广播时间区间的新的时长。
优选的,该传输准备时长为蓝牙数据传输事件在执行前需要预留的准备时长,其可以为某些软硬件为实施蓝牙数据传输事件所做出的准备操作耗费的时间,该传输准备时长可以包括软件准备时长、硬件准备时长和射频准备时长中的一种或多种。在该可选的实施方式的一种具体的实施方案中,考虑到对BLE PHY的使用时间存在定量的时间偏差Δt,当某一个BLE事件结束时到另一个事件开始前存在一些软硬件的预留时间,使得另一个事件在空口中反映出的占用BLE PHY的时间点与上一个事件结束时间的时间点之差就是这个时间偏差Δt,如图7所示,BLE连接事件需要在空口中进行收发包时间点为T2,按照自适应扫描模式,扫描事件需要在T2时停止使用BLE PHY,但在实际技术方案实施中,扫描事件需要在T2之前T1时刻结束使用BLE PHY使得Δt=(T2-T1),该Δt也可以认为连接事件在空口中进行收发包前,预留使用BLE PHY的时间,但实际中可能是由软件调度的时长、硬件链路控制时长、RF准备时长等多种时间之和,Δt的组成和大小与具体技术方案的实施有关,在实现中需要反复确定该值,避免BLE PHY的使用不符合预期。
可见,通过实施该可选的实施方式,可以结合传输准备时长对可广播事件区间的时长做进一步的调整,从而可以确定出更加合理的广播时间区间,有助于提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
作为一种可选的实施方式,该装置还包括:
第二时长确定模块,用于获取来自目标BLE设备的历史传输记录,根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长。
可选的,上述传输准备时长的确定,可以通过获取来自目标BLE设备的历史传输记录,并根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长,例如计算多个历史传输准备时长的平均值或中位数或最大值,以作为传输准备时长。
可见,通过实施该可选的实施方式,可以根据历史传输记录中的多个历史传输准备时长,确定出传输准备时长,从而可以确定出更加准确的传输准备时长,有助于保证蓝牙传输具有充分的准备时间,从而提高蓝牙数据传输的效率,以及蓝牙数据传输资源的利用率。
本发明实施例还公开了一种包括可以用于执行上述调度方法的软硬件架构和软件流程的技术实施方案,包括从BLE Mesh应用到BLE PHY使用技术细节以及BLE Mesh应用配置参数、参数使用方法、参数量化方法,以此实现BLE PHY的分时高效利用以及在特定环境、特定的BLE Mesh拓扑结构下,使得BLE Mesh网络中数据传送的可靠性。
该技术实施方案的实现方法包括以下几部分:
第一部分:如图8所示为该技术实施方案实现所采用的软硬件框架图,图中展示了几个主要组成部分,分别是BLE Mesh应用、BLE协议栈、软件调度器、硬件链路控制器和BLEPHY。
其中,BLE Mesh应用可以为如BLE Mesh智能家居控制中的人机交互程序以达到控制某种家电设备的应用程序,BLE协议栈可以为BLE Mesh协议栈、BLE GAP(BLE GenericAccess Profile,BLE通用访问配置文件)或BLE GATT(BLE Generic Attribute Profile,BLE通用属性配置文件),软件调度器的主要作用是按照上述实施例中的优先级策略,配置并控制硬件链路控制器使其在特点的时间点使用BLE PHY进行链路层数据收发,而硬件链路控制器负责包括括链路层数据包管理,时序控制,物理层链路配置参数,有线/无线硬件交互接口管理的物理链路管理。
第二部分:结合图9,简述该技术实施方案的整体软件实现流程:
一、应用程序启动(包括协议栈启动,BLE控制器启动);
二、应用程序使能BLE控制器进入自适应广播模式和自适应扫描模式(通过厂商自定义HCI指令进行配置);
三、应用程序设置协议栈参数(如设置网络法发包间隔和重传个数);
四、应用程序使能BLE扫描进入数据接收(BLE控制器在软件调度器的作用下,以自适应扫描模式,高占空比使用BLE PHY,以最大能力进行接收);
五、将应用收发包处理程序、协议栈数据包收发程序、软件调度器、链路控制器、中断控制器、BLE PHY放入一个自循环的收发包处理流程之中,共同完成BLE Mesh网设备工作职能。
第三部分:详叙第二部分的流程步骤五,以说明软硬件协作的细节以体现上述实施例所述的蓝牙数据传输事件的调度方法的实现方法以及实现该方法完成高效的PHY分时利用的过程,以此实现BLE Mesh收发的性能最优化在技术实现方案中的运用。软件调度器模块由调度列表,软件优先级策略,调度算法组成,调度列表管理当前的BLE事件,如某时刻T0所在BLE PHY正在被某个事件使用,如果BLE PHY是不可强占的,那么BLE软件调度器将置其标志位表示禁止调度,直到被BLE PHY使用的事件被释放,BLE PHY结束使用时会通过中断控制器通知调度器软件,调度器软件将清除BLE PHY被占用的标志,并遍历调度列表,使用调度优先级策略以及调度算法来选出下一个可使用BLE PHY的BLE事件,首先,调度器读取当前时间点T1,并从调度列表中找到离当前最近的连接时间瞄点T2的连接事件,如果T2存在,使得条件1“(T2-T1-Tsw-Thw)>=Twinscanmin(即BLE扫描事件对应的最小的扫描窗口)”成立,如果调度列表中找到广播事件其预设需要使用BLE PHY的时间为T3,如果存在T3,使得条件2“(T3-T1-Tsw-Thw)>=Twinscanmin”成立,那么BLE扫描将在T1+Tsw+Thw时刻使用BLE PHY,其中的(Tsw+Thw)为上述实施例中所述的传输准备时长,在这里Tsw表示的是软件调度器预计从T1时刻开始到控制链路管理器进行调度的软件时长,Thw表示的是硬件链路控制器开始执行调度命令到BLE PHY在空口收发包的时长。而BLE扫描的时长为T2-T1-Tsw-Thw、T3-T1-Tsw-Thw、以及Twinscan(也即上述实施例中所述的最大扫描时长)三者中的最小值。下一个使用BLE PHY是否为BLE广播或BLE连接也是要经过调度列表,调度算法,调度策略三者的演算得出,该演算的细节符合上述实施例中指出的自适应广播模式。其次,当调度软件选择出将要使用BLE PHY的事件Event1时,调度软件需要读取当前的时间T0与调度事件预设需要在空口中收发包的时间T1,当T1-T0>Thw时,调度软件通过寄存器控制链路控制器执行Event1的硬件调度使用BLE PHY,如果当T1-T0<=Thw时,调度软件需要放弃本次调度并重新执行调度选择,例如对于BLE连接事件出现这种情况,BLE连接事件的连接瞄点时间需要调整为连接事件的下一个瞄点时间。最后,BLE PHY执行完BLE事件的空口收发包行为后又再一次通过中断控制器返回到调度模块重新执行调度。BLE Mesh应用可以通过开关BLE广播,或者开关BLE扫描来改变调度模块中的调度列表,从而达到改变BLE Mesh收发包的行为。如图10所示便是该技术实施方案实施后的一种具体的时序实例。
第四部分:关于BLE Mesh应用配置参数及参数量化方法和使用方法。BLE Mesh可以通过改变扫描参数中的scan window,来改变自适应扫描模式的最大扫描窗口值Twinscan,在不可抢占时的BLE PHY中,该Twinscan大小将会影响到BLE广播发包延迟,BLEMesh应用可以通过改变BLE该参数来控制BLE广播发包延迟。BLE Mesh可以通过改变mesh协议栈网络的发包间隔和发包重传个数来获得相对可靠的Mesh数据传输。假设在一个定量的干扰环境中,布置着一些定量BLE Mesh设备,这些设备彼此之间都可以收到对方的BLE的无线信号,并且这些设备以一定频率发包,如20ms间隔进行发包,其中任意两个设备间的最小接收成功率为P,那么这个环境中保证可靠传输的重传次数为(1/P+1)。
可选的,针对上述技术实施方案,可以使用两套分别的蓝牙物理层和蓝牙射频模块,来分别实现蓝牙的数据包接收和数据包发送。
可选的,本发明实施例中所述的调度方法的实现可以是一种软件进行链路控制的调度方案,也可以是一种硬件的仲裁装置,本发明不做限定。
可选的,本发明实施例中所述的调度方法所针对的冲突蓝牙数据传输事件所占用的蓝牙数据传输物理资源,可以是物理层资源,例如BLE PHY资源,也可以是其他资源,比如在经典蓝牙/增强数据率蓝牙/低功耗蓝牙的双模控制器中的经典蓝牙物理层资源冲突或者与无线局域网共存时使用的射频资源分时冲突等。可选的,本发明实施例中所述的调度方法可以用于BLE控制器芯片、经典蓝牙/增强数据率蓝牙/低功耗蓝牙控制器芯片,或者,经典蓝牙/增强数据率蓝牙/低功耗蓝牙+无线局域网的二合一双模芯片中。
本发明在应用在BLE Mesh技术时,从提高BLE Mesh设备自身的收发性能为设计出发点,不需要修改BLE Mesh协议栈,较为通用,且可以解决BLE Mesh分时使用BLE PHY所产生的问题。具体的,BLE Mesh的底层通信方式虽然是基于BLE广播信道来实现的,但BLEMesh与普通的BLE应用却有很大的不同,对BLE广播信道数据传输要求更高,特别是当分时使用BLE PHY的能力不足,本发明的优化改进具有很强针对性及普遍意义。
实施例三
请参阅图3,图3是本发明实施例公开的另一种蓝牙广播事件调度装置的结构示意图。如图3所示,该装置可以包括:
存储有可执行程序代码的存储器301;
与存储器301耦合的处理器302;
处理器302调用存储器301中存储的可执行程序代码,执行本发明实施例一公开的蓝牙广播事件调度方法中的部分或全部步骤。
实施例四
本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一公开的蓝牙广播事件调度方法中的部分或全部步骤。
实施例五
本发明实施例公开了一种蓝牙设备,其包括蓝牙广播事件调度装置,该蓝牙广播事件调度装置用于执行本发明实施例一的蓝牙广播事件调度方法中的部分或全部步骤。可选的,该蓝牙设备的具体实现方案,可以参照实施例一或二中公开的技术实施方案中的细节,在此不再赘述。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种蓝牙广播事件调度方法、装置及蓝牙设备所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (9)
1.一种蓝牙广播事件调度方法,其特征在于,所述方法包括:
确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;所述蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级;
根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔;
对于任一所述可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的所述非广播优先事件所对应的传输准备时长;
将该可广播时间区间的时长与所述传输准备时长的差,确定为该可广播时间区间的新的时长;
将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间。
2.根据权利要求1所述的蓝牙广播事件调度方法,其特征在于,所述事件类型包括蓝牙发起态扫描事件、蓝牙连接事件、蓝牙广播事件和蓝牙扫描事件中的一种或多种。
3.根据权利要求2所述的蓝牙广播事件调度方法,其特征在于,所述蓝牙数据传输事件优先级顺序包括:
所述蓝牙连接事件的优先级高于所述蓝牙广播事件;和/或,
所述蓝牙广播事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙连接事件的优先级高于所述蓝牙扫描事件;和/或,
所述蓝牙发起态扫描事件的优先级高于所述蓝牙扫描事件或所述蓝牙广播事件;和/或;
所述蓝牙连接事件的优先级高于所述蓝牙发起态扫描事件。
4.根据权利要求3所述的蓝牙广播事件调度方法,其特征在于,所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间,包括:
对于任一所述可广播时间区间,将该可广播时间区间的起始时刻确定为所述蓝牙广播事件的起始执行时刻。
5.根据权利要求1所述的蓝牙广播事件调度方法,其特征在于,所述传输准备时长包括软件准备时长、硬件准备时长和射频准备时长中的一种或多种。
6.根据权利要求5所述的蓝牙广播事件调度方法,其特征在于,所述方法还包括:
获取来自目标BLE设备的历史传输记录;
根据所述历史传输记录中的多个历史传输准备时长,确定出所述传输准备时长。
7.一种蓝牙广播事件调度装置,其特征在于,所述装置包括:
第一确定模块,用于确定预计在目标时间段内执行的至少一个非广播优先事件;所述非广播优先事件为预设的蓝牙数据传输事件优先级顺序中优先级高于蓝牙广播事件的任一蓝牙数据传输事件;所述蓝牙数据传输事件优先级顺序用于限定多个事件类型的蓝牙数据传输事件之间的优先级;
第二确定模块,用于根据所述至少一个非广播优先事件的预计执行时间,从所述目标时间段中确定出可广播空闲时间段;所述可广播空闲时间段为所述目标时间段内未被所述非广播优先事件的预计执行时间区间占据的时间区间;
第三确定模块,用于将所述可广播空闲时间段,确定为所述蓝牙广播事件的执行时间区间;所述可广播空闲时间段可以包括有多个可广播时间区间,至少两个所述可广播时间区间之间存在时间间隔,所述装置还包括第一时长确定模块,用于:
对于任一所述可广播时间区间,确定该可广播时间区间的下一时间区间欲执行的所述非广播优先事件所对应的传输准备时长;
将该可广播时间区间的时长与所述传输准备时长的差,确定为该可广播时间区间的新的时长。
8.一种蓝牙广播事件调度装置,其特征在于,所述装置适用于智能卡,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-6任一项所述的蓝牙广播事件调度方法。
9.一种蓝牙设备,其特征在于,其包括蓝牙广播事件调度装置,所述蓝牙广播事件调度装置用于执行如权利要求1-6任一项所述的蓝牙广播事件调度方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110464386 | 2021-04-28 | ||
CN2021104643861 | 2021-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113423099A CN113423099A (zh) | 2021-09-21 |
CN113423099B true CN113423099B (zh) | 2022-12-02 |
Family
ID=77789646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110688173.7A Active CN113423099B (zh) | 2021-04-28 | 2021-06-21 | 蓝牙广播事件调度方法、装置及蓝牙设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113423099B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114050851B (zh) * | 2021-10-20 | 2023-04-07 | 珠海全志科技股份有限公司 | 支持多天线收发通道的蓝牙通信方法、装置及存储介质 |
CN114938542B (zh) * | 2022-04-26 | 2023-10-27 | 珠海极海半导体有限公司 | Ble协议栈多链路管理方法、芯片和系统 |
CN116249096A (zh) * | 2022-12-30 | 2023-06-09 | 海尔优家智能科技(北京)有限公司 | 用于蓝牙事件的调度方法及终端设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708691A (zh) * | 2019-09-30 | 2020-01-17 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643463B1 (en) * | 2002-08-08 | 2010-01-05 | Qualcomm Incorporated | Method and apparatus for a dual-mode radio in a wireless communication system |
CN108124284B (zh) * | 2017-12-06 | 2022-01-18 | 歌尔科技有限公司 | 一种蓝牙数据传输方法和装置 |
CN110972120B (zh) * | 2018-09-29 | 2023-05-16 | 安凯(广州)微电子技术有限公司 | 一种低功耗蓝牙设备多链路管理方法、系统及装置 |
-
2021
- 2021-06-21 CN CN202110688173.7A patent/CN113423099B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708691A (zh) * | 2019-09-30 | 2020-01-17 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113423099A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113423099B (zh) | 蓝牙广播事件调度方法、装置及蓝牙设备 | |
CN113498049B (zh) | 蓝牙数据传输事件调度方法、装置及蓝牙设备 | |
US10660087B2 (en) | Radio communication system, radio communication apparatus, radio communication method, and computer program | |
US7630334B2 (en) | Radio communication system, radio communication device, radio communication method, and computer program | |
US9380577B2 (en) | Method and device for collaborative data communication in a radio network | |
CN113423098B (zh) | 蓝牙扫描事件调度方法、装置及蓝牙设备 | |
US11089609B2 (en) | Smart radio arbiter with conflict resolution based on timing predictability | |
CN108605354A (zh) | 一种传输资源的获取方法及用户终端 | |
US10292052B2 (en) | Access method and device | |
WO2013068925A2 (en) | Method and apparatus for controlling wireless devices | |
WO2012092762A1 (zh) | 一种终端物理层资源分配方法及系统 | |
US10681187B2 (en) | Dynamic scheduling of a single radio executing multiple wireless protocols | |
Friedrich et al. | WRTMAC: A MAC proposal for 802.11 networks in factory automation. | |
CN114050851B (zh) | 支持多天线收发通道的蓝牙通信方法、装置及存储介质 | |
CN106465426A (zh) | 无线通信设备、无线通信方法以及计算机程序 | |
WO2024009451A1 (ja) | 無線装置及び無線通信方法 | |
US20240244675A1 (en) | Channel access method for rapid transmission of data in communication system | |
Souil et al. | A new adaptive MAC protocol with QoS support for heterogeneous wireless sensor networks | |
JP7045466B2 (ja) | スケジュール送信の改善 | |
CN105704842A (zh) | 一种事件驱动的无线传感器网络实时mac协议 | |
US20210058279A1 (en) | Optimized performance with mixed media access protocols | |
CN116671220A (zh) | 一种业务调度方法及装置 | |
CN116321533A (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 |