一种基于环境感知的蓝牙与Wifi切换方法及传输设备与流程

文档序号:12501531阅读:382来源:国知局
一种基于环境感知的蓝牙与Wifi切换方法及传输设备与流程

本发明涉及无线数据传输技术领域,尤其涉及一种基于环境感知的蓝牙与Wifi切换方法及传输设备。



背景技术:

WiFi和蓝牙都是广泛应用的无线网络数据传输手段,目前,70%的移动手机上配备了蓝牙,80%的智能手机配备了WiFi。在很多应用场景中两种技术都可以替换使用,但不同的无线数据传输协议在数据传输速率、功耗、传输距离等方面具有不同的特点。

蓝牙技术包括传统蓝牙、高速蓝牙、低功耗蓝牙技术三种,提供低功耗、低延迟、低数据传输速率的无线通信。以BLE(Bluetooth Low Energy,低功耗蓝牙)为例,传输距离60~100m,在2.4G频段最大数据传输速率250kbps,完成一次连接,即扫描其它设备、建立链路、发送数据、认证和适当地结束,总共只需3ms。在功耗方面,终端节点用单节钮扣电池(如3V、220mAh的CR2032)工作几个月甚至几年。

WiFi面向高速数据传输。应用最为广泛的IEEE 802.11系列802.11n理论速率最高可达600Mbps(业界主流为300Mbps),覆盖范围可以扩大到好几平方公里。IEEE 802.11ac,理论上可以提供高达每秒1Gbit的数据传输能力。WiFi的功耗远远高于蓝牙,通常采用节能管理模块实现更高的能耗效率。具备PSM(Power Save Mode)模式的WiFi通过在空闲期的休眠来实现节能。射频周期性地检测接入点是否有数据包缓存,当缓存数据量触发PSM阈值,将由休眠状态切入活跃状态。活跃状态的功耗是休眠状态的20倍左右,通过在AP缓存数据包的方式,一方面节省了耗能,另一方面增加了额外的100-300ms延时。这种模式下,具有两个极端,更低的功耗,则更高的额外延时;更低的额外延时,则更高的功耗。

一方面,在移动终端中无线通信是主要的能耗源头之一,相比WiFi,蓝牙的功耗效率比WiFi更高,但提供的带宽更窄,对于大文件的传输具有显著的发送时延。另一方面,WiFi能提供较高的数据传输速率,但能耗大,且功耗与延时之间难以平衡。值得注意的是,网络数据的异构性具有某种模式,不同的网络服务类型对带宽的需求不一样。例如,典型的在线视频观看服务,带宽呈突发式脉冲状,带宽要求高达3Mb/s,适合利用WiFi的高速优势;而对于在线语音通话,带宽相对固定,低于100Kb/s,这种低带宽需求使用用蓝牙能耗效率更高。典型的智能手机网页浏览等或社交聊天等服务,带宽需求低于1Mb/s,蓝牙更合适。因此,需要面向网络数据的异构性,探讨一种低功耗、低延时的通信策略。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种可根据蓝牙连接状态和数据流量,自动选择蓝牙或Wifi进行数据传输,具有低功耗,低延时,高速率等优点,可以Wifi与蓝牙之间无缝切换的基于环境感知的蓝牙与Wifi切换方法及传输设备。

为解决上述技术问题,本发明提出的技术方案为:一种基于环境感知的蓝牙与Wifi切换方法,包括:

S1.获取蓝牙设备的环境参数,判断所述蓝牙设备是否满足数据传输需求,是则跳转到步骤S2,否则跳转到步骤S4;

S2.预测传输数据流量,并计算传输数据流量的传输数据率,当所述传输数据率小于预设的切换阈值时,跳转到步骤S3,否则跳转到步骤S4;

S3.通过蓝牙设备进行数据传输;

S4.将传输设备由蓝牙设备切换至Wifi设备,通过Wifi设备进行数据传输。

作为本发明的进一步改进,步骤S1中所述环境参数包括蓝牙网络的网络延时、丢包率和接收信号强度;当同时满足网络延时小于预设的延时门槛值、且所述丢包率小于预设的丢包门槛值、且所述接收信号强度大于预设的信号强度门槛值时,判断蓝牙设备满足数据传输需求,否则判断蓝牙设备不满足数据传输需求。

作为本发明的进一步改进,步骤S2中所述传输数据流量预测的具体步骤包括:

S2.1.获取历史数据流量;

S2.2.根据所述历史数据流量,通过自回归模型预测传输数据流量。

作为本发明的进一步改进,步骤S3的具体步骤包括:当所述传输数据率大于预设的蓝牙模式选择阈值时,通过蓝牙设备以高速传输模式进行数据传输,否则通过蓝牙设备以低速模式进行数据传输。

作为本发明的进一步改进,步骤S4所述将传输设备由蓝牙设备切换至Wifi设备在MAC层实现,具体实现步骤为:在MAC层,将数据包中的发送方的蓝牙MAC地址替换为Wifi规范的源MAC地址,将数据包中接收方的蓝牙MAC地址替换为Wifi规范的目的MAC地址。

作为本发明的进一步改进,所述步骤S3中通过蓝牙设备进行数据传输和所述步骤S4中通过Wifi设备进行数据传输均通过相同的SOCKET实现。

作为本发明的进一步改进,在步骤S3中通过蓝牙设备进行数据传输之前,还包括成本核算步骤S3A:计算以蓝牙设备进行数据传输的蓝牙成本,当所述蓝牙成本大于预设的切换成本阈值时,跳转至步骤S4,否则执行步骤S3,通过蓝牙设备进行数据传输。。

作为本发明的进一步改进,在所述步骤S1之前,还包括步骤S0:获取并判断数据发送需求,当具有数据发送需求时,跳转至步骤S1,否则继续执行步骤S0。

一种基于环境感知的蓝牙与Wifi切换传输设备,包括环境感知模块、切换决策模块、蓝牙模块和Wifi模块;

所述环境感知模块用于获取蓝牙设备的环境参数、预测传输数据流量并计算传输数据率,并将环境参数和传输数据率发送至切换决策模块;

所述切换决策模块用于选择通过蓝牙设备传输数据或者通过Wifi设备传输数据;

所述蓝牙模块用于根据所述这切换决策模块的决策结果进行数据传输;

所述Wifi模块用于根据所述这切换决策模块的决策结果进行数据传输。

作为本发明的进一步改进,所述切换决策模块中还包括成本核算模块,用于计算以蓝牙设备进行数据传输的蓝牙成本。

与现有技术相比,本发明的优点在于:

1、本发明具有蓝牙与Wifi两种数据传输方式,并通过自动感知蓝牙连接状态及数据流量,自动选择蓝牙或Wifi进行数据传输,对数据率、连接品质的波动具有快速自适应性特点,同时具备低功耗,低延时,高速率等优点。

2、本发明的蓝牙与Wifi切换在MAC层实现,在蓝牙与Wifi切换过程中,不需要中断现有socket连接,从而实现蓝牙与Wifi之间的无缝切换。

3、本发明采用l2cap包进行网络质量检测,并且只在有数据需要发送时才进行网络质量检测,因网络质量检测带来的额外能量开销很小,能耗低。

附图说明

图1为本发明具体实施例流程示意图。

图2为本发明具体实施例结构示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例的基于环境感知的蓝牙与Wifi切换方法,包括:S1.获取蓝牙设备的环境参数,判断蓝牙设备是否满足数据传输需求,是则跳转到步骤S2,否则跳转到步骤S4;S2.预测传输数据流量,并计算传输数据流量的传输数据率,当所述传输数据率小于预设的切换阈值时,跳转到步骤S3,否则跳转到步骤S4;S3.通过蓝牙设备进行数据传输;S4.将传输设备由蓝牙设备切换至Wifi设备,通过Wifi设备进行数据传输。

在本实施例中,步骤S1中环境参数包括蓝牙网络的网络延时、丢包率和接收信号强度;当同时满足网络延时小于预设的延时门槛值、且丢包率小于预设的丢包门槛值、且接收信号强度大于预设的信号强度门槛值时,判断蓝牙设备满足数据传输需求,否则判断蓝牙设备不满足数据传输需求。网络延时和丢包率通过发送l2cap ping数据包获取,为了节省能量,通过设置一个异步定时线程,周期性的获取环境参数,获取周期可以设置为1秒。在蓝牙连接建立后,通过蓝牙设备向蓝牙连接的对端设备发送l2cap ping,共4个数据包,记录平均往返时间,通过l2cap ping获取蓝牙连接的延时和丢包率。如果ping失败,即连接不可达,或者延时超过100ms,说明接收设备已超出蓝牙射频范围,或者蓝牙设备的RSSI(接收信号强度)低于RSSIth(信号强度门槛值),则判断蓝牙设备不满足数据传输需求。由于l2cap ping数据包很小,只有44个字节,因此,获取蓝牙网络的网络延时和丢包率所引入的额外开销很小,能耗低。

在本实施例中,在步骤S1之前,还可包括步骤S0:获取并判断数据发送需求,当具有数据发送需求时,跳转至步骤S1,否则继续执行步骤S0。即在蓝牙连接建立之后,对蓝牙环境参数的检测并不是一直进行的,而仅仅只在设备具有数据发送需求时才对蓝牙设备的环境参数进行检测,即只有在设备的数据发送队列不为空时,才执行步骤S1,获取蓝牙设备的环境参数。可以大大的减少设备获取环境参数的次数,从而也大大的降低的设备的能耗,更加节能。

在本实施例中,步骤S2中传输数据流量预测的具体步骤为:S2.1.获取历史数据流量;S2.2.根据历史数据流量,通过自回归模型预测传输数据流量。自回归模型如式(1)所示,

式(1)中,为预测的传输数据流量,Sk-i为历史数据流量,u为自回归模型所采用的历史数据流量样本个数,ai为自回归模型的系数。在本实施例中,采用1阶自回归模型;自回归模型的系数ai由历史数据流量通过最小二乘法计算确定,如式(2)所示,

式(2)中,ai为自回归模型的系数,Sj为历史数据流量,v为预设的预测规模参数。在本实施例中,预设的预测规模参数v取值为12,当然,也可以根据实际需要选择其它值。

在本实施例中,获取蓝牙设备的环境参数和预测传输数据流量均在用户空间中执行。

在本实施例中,当蓝牙设备满足数据传输需求,且传输数量流量的传输数据率小于预设的切换阈值时,采用蓝牙设备进行数据传输。步骤S3的具体步骤包括:当传输数据率大于预设的蓝牙模式选择阈值时,通过蓝牙设备以高速传输模式进行数据传输,否则通过蓝牙设备以低速模式进行数据传输。由于蓝牙传输相对于Wifi传输具有传输距离较短,传输速度较低,延迟低,能耗低的特点,所以对于短距离、小流量的数据,蓝牙传输比Wifi传输更有优势。在本实施例中,切换阈值设置为250Kb/s,当需要传输的数据流量的传输数据率小于250Kb/s时,则采用蓝牙设备进行数据传输,即能保证数据传输的延时满足传输需求,又能保证在传输过程中能耗最低,否则采用Wifi进行数据传输,以最小化数据传输的延时。在通过蓝牙设备进行数据传输时,进一步根据传输数据率进行判断,选择蓝牙高速或低速模式进行数据传输,从而保证在满足数据传输需求的同时能够使得蓝牙设备的功耗更低,更加节能。

在本实施例中,步骤S4将传输设备由蓝牙设备切换至Wifi设备在MAC层实现,具体实现步骤为:在MAC层,将数据包中的发送方的蓝牙MAC地址替换为Wifi规范的源MAC地址,将数据包中接收方的蓝牙MAC地址替换为Wifi规范的目的MAC地址。在数据的传输过程中,数据最终是以数据包的形式进行传输,在本实施例中,通过在MAC层将数据包中的蓝牙传输的地址信息替换为Wifi传输的地址信息,则可将数据包由蓝牙设备传输切换至由Wifi设备传输。

在本实施例中,步骤S3中通过蓝牙设备进行数据传输和步骤S4中通过Wifi设备进行数据传输均通过相同的SOCKET实现。在本实施例中,通过在MAC层开放一个l2cap socket,无论是蓝牙还是Wifi,均通过该l2cap socket进行数据传输,在需要将蓝牙切换至Wifi时,只需要将待传输的数据包中的蓝牙MAC地址替换成Wifi规范的源MAC地址和目的MAC地址,通过Wifi在l2cap socket进行数据传输即可。由于蓝牙与Wifi的切换过程在MAC层实现,并且采用同一个l2cap socket,因此,在切换过程中不需要中断现有的l2cap socket连接,可以实现在蓝牙传输与Wifi传输之间的进行快速、不中断的无缝切换,这种切换在用户层面是透明的。

在本实施例中,通过蓝牙或Wifi连接的两个设备采用相同的媒介进行数据传输,当设备选择采用蓝牙传输时,对端设备同样采用蓝牙进行数据传输,当设备选择采用Wifi传输时,对端设备同样选择采用Wifi传输。

在本实施例中,在步骤S3中通过蓝牙设备进行数据传输之前,还包括成本核算步骤S3A:计算以蓝牙设备进行数据传输的蓝牙成本,当所述蓝牙成本大于预设的切换成本阈值时,跳转至步骤S4,否则执行步骤S3,通过蓝牙设备进行数据传输。

在本实施例中,蓝牙成本包括蓝牙时间成本和蓝牙功耗成本,蓝牙时间成本通过式(3)所示公式计算,

式(3)中,tble_send为蓝牙时间成本,N为所预测的传输数据流量,Tmax为蓝牙的最大传输速率。

蓝牙功耗成本通过式(4)所示公式计算,

Eble_send=Pbletble_send (4)

式(4)中,Eble_send为蓝牙功耗成本,Pble为蓝牙的功率,tble_send为式(3)所计算得到的时间值。

在本实施例中,预设的切换成本阈值包括切换时间成本阈值和切换功耗成本阈值。在本实施例中,切换时间成本阈值和切换功耗成本阈值有两种设置方法。第一种设置方式为:切换时间成本阈值为切换时间成本,切换时间成本即将蓝牙切换至Wifi本身所需要花费的时间;切换功耗成本阈值为切换功耗成本,切换功耗成本即将蓝牙切换至Wifi本身所需要消耗的能量。第二种设置方式为:切换时间成本阈值为切换时间成本与Wifi时间成本之和,Wifi时间成本即为以Wifi传输所预测的传输数据流量所需要花费的时间;切换功耗成本阈值为切换功耗成本与Wifi功耗成本之和,Wifi功耗成本之即为以Wifi传输所预测的传输数据流量所需要消耗的能量。第二种设置方式相对于第一种设置方式,切换时间成本阈值和切换功耗成本阈值为动态值,其更加精确,保证始终选择成本最小的方式进行数据传输。

在本实施例中,可根据需要设置时间成本与功耗成本的优先级,具体可分为三种情况:其一为,时间成本优先功耗成本,即只需要满足蓝牙时间成本大于切换时间成本阈值时,跳转至步骤S4,切换至Wifi传输;其二为功耗成本优先时间成本,即只需要满足蓝牙功耗成本大于切换功耗成本阈值时,跳转至步骤S4,切换至Wifi传输;其三为时间成本与功耗成本具有相同的优先级,即需要满足蓝牙时间成本大于切换时间成本阈值,且蓝牙功耗成本大于切换功耗成本阈值时,跳转至步骤S4,切换至Wifi传输。

如图2所示,本实施例的基于环境感知的蓝牙与Wifi切换传输设备,包括环境感知模块、切换决策模块、蓝牙模块和Wifi模块;环境感知模块用于获取蓝牙设备的环境参数、预测传输数据流量并计算传输数据率,并将环境参数和传输数据率发送至切换决策模块;切换决策模块用于选择通过蓝牙设备传输数据或者通过Wifi设备传输数据;蓝牙模块用于根据这切换决策模块的决策结果进行数据传输;Wifi模块用于根据这切换决策模块的决策结果进行数据传输。切换决策模块中还包括成本核算模块,用于计算以蓝牙设备进行数据传输的蓝牙成本。在本实施例中,预设的切换成本阈值采用本发明中第二种设置方式时,成本核算模块还用于计算切换成本阈值。

在本实施例中,环境感知模块工作在用户空间,用于执行本发明方法中获取蓝牙设备的环境参数,以及预测传输数据流量,并计算传输数据流量的传输数据率的步骤。切换决策模块工作在内核层,用于根据环境感知模块环境参数和传输数据率,以及成本核算模块计算的蓝牙成本和成本阈值,决定是否在蓝牙传输与Wifi传输之间进行切换。由于环境感知模块和切换决策模块工作在不同的层,在本实施例中,环境感知模块与切换决策模块之间的数据交互通过netlink socket实现。切换决策模块可单独根据环境感知模块感知的环境参数,判断蓝牙设备是否满足数据传输需求,是则选择用蓝牙设备进行数据传输,否则选择用Wifi设备进行数据传输。还可以综合环境感知模块感知的环境参数与成本核算模块的核算结果进行选择,在通过环境参数选择用蓝牙设备进行数据传输时,进一步考虑成本核算模块的核算结果,在蓝牙成本小于预设的切换成本阈值时,选择蓝牙设备进行数据传输,否则通过Wifi设备进行数据传输。切换决策模块决定将蓝牙传输切换为Wifi传输时,将读取设备中TCP/IP栈中Wifi规范的源MAC地址和目的MAC地址,并以该地址替换传输数据包中的蓝牙MAC地址。

在本实施例中,通过感知连接状态和数据流量,可自动在蓝牙与Wifi之间进行切换,选择适当的设备进行数据传输,同时,在选择通过蓝牙进行数据传输时,还可根据数据流量的大小自动选择蓝牙高速模式或蓝牙低速模式进行数据传输,通过这种自适应的方法,不仅能够满足不同传输速率对设备的需求,同时,还很好的兼顾了对功耗的要求,同时具备低延时、低功耗、高速率的优点。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1