一种数据传输方法、数据传输装置及电子设备与流程

文档序号:21202756发布日期:2020-06-23 19:30阅读:162来源:国知局
一种数据传输方法、数据传输装置及电子设备与流程

本申请属于蓝牙技术领域,尤其涉及一种数据传输方法、数据传输装置、电子设备及计算机可读存储介质。



背景技术:

蓝牙技术是一种广泛使用的近距离无线连接技术,其仍在不断的优化中。近几年,蓝牙所推出的4.0版本加入了低功耗蓝牙的功能(bluetoothlowenergy,ble),该ble功能主要应用在对实时性要求较高,对传输速率要求比较低的场景,比如血压计、键鼠等设备。然而,当前ble的应用范围越来越广泛,甚至可以应用于大数据传输等场景中,例如,使用ble技术对外围设备固件升级等。基于此,考虑到用户对传输速率的要求越来越高,现有的ble技术已无法满足用户的需求。



技术实现要素:

本申请实施例提供了一种数据传输方法、数据传输装置、电子设备及计算机可读存储介质,可在蓝牙连接的状态下实现数据的高速传输。

第一方面,本申请实施例提供了一种数据传输方法,上述数据传输方法应用于具备蓝牙功能的电子设备,上述数据传输方法包括:

建立与蓝牙设备的蓝牙连接;

创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,其中,上述第一速率参数用于记录最大传输速率,上述第二速率参数用于指示数据传输过程中的平均传输速率,上述第一连接间隔参数用于记录与第一速率参数相关的连接间隔,上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔;

基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数;

比对上述第一速率参数及上述第二速率参数;

若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并返回执行上述基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数的步骤及后续步骤;

若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。

第二方面,本申请实施例提供了一种数据传输装置,上述数据传输装置应用于具备蓝牙功能的电子设备,上述数据传输装置包括:

连接建立单元,用于建立与蓝牙设备的蓝牙连接;

参数创建单元,用于创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,其中,上述第一速率参数用于记录最大传输速率,上述第二速率参数用于指示数据传输过程中的平均传输速率,上述第一连接间隔参数用于记录与第一速率参数相关的连接间隔,上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔;

第一更新单元,用于基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数;

参数比对单元,用于比对上述第一速率参数及上述第二速率参数;

第二更新单元,用于若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并触发执行上述第一更新单元;

连接保持单元,用于若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面中任一项上述的数据传输方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面中任一项上述的数据传输方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项上述的数据传输方法。

由上可见,本申请方案所提出的数据传输方法应用于具备蓝牙功能的电子设备,使得电子设备在建立与蓝牙设备的蓝牙连接后,创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,其中,上述第一速率参数用于指示最大传输速率,上述第二速率参数用于指示数据传输过程中的平均传输速率,上述第一连接间隔用于指示与第一速率参数相关的连接间隔,上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔,接着基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数,并比对上述第一速率参数及上述第二速率参数,若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并返回执行上述基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数的步骤及后续步骤,若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。可见,本申请方案通过动态调整连接间隔来确定能够获得最大传输速率的连接间隔参数,并在得到了该能够获得最大传输速率的连接间隔参数后,保持这一连接间隔参数进行蓝牙数据连接,以实现数据的高速传输。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的数据传输方法的实现流程示意图;

图2是本申请实施例提供的数据传输方法的逻辑图;

图3是本申请实施例提供的数据传输装置的结构框图;

图4是本申请实施例提供的电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。

实施例一

下面对本申请实施例提供的一种数据传输方法进行描述。请参阅图1,本申请实施例中的数据传输方法应用于具备蓝牙功能的电子设备,该数据穿分数方法包括:

步骤101,建立与蓝牙设备的蓝牙连接;

在本申请实施例中,为了便于区分,将具备蓝牙功能的另一电子设备记为蓝牙设备,则电子设备可以首先建立与该蓝牙设备的蓝牙连接。例如,当设备a与设备b建立蓝牙连接时,站在设备a的角度来看,设备b将被作为蓝牙设备,而设备a自身将被作为电子设备以应用本申请实施例的方案;而站在设备b的角度看,设备a将被作为蓝牙设备,而设备b自身将被作为电子设备以应用本申请实施例的方案。也即,本身实施例中的电子设备及蓝牙设备为相对概念,而非绝对概念。具体地,上述蓝牙连接指的是通过ble的acl(asynchronousconnectionless)链路所建立的蓝牙连接。

步骤102,创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数;

在本申请实施例中,可以在上述电子设备本地的缓存区域创建若干个参数,包括第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,并在创建完成后对这些参数进行初始化,其中,上述第一速率参数用于记录最大传输速率,上述第二速率参数用于指示当前传输速率,上述第一连接间隔参数用于记录与第一速率参数相关的连接间隔(connectioninterval,ci),上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔。具体地,上述第一速率参数、第二速率参数及第一连接间隔参数均被初始化为0,而上述第二连接间隔参数则被初始化为一预设的连接间隔参数最小值,该连接间隔参数最小值通常情况下为7.5毫秒(ms),当然,也可以由研发人员或用户将上述第二连接间隔参数最小值设定为其它数值,此处不作限定。

步骤103,基于上述连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数;

在本申请实施例中,ble技术在两个设备的连接中使用跳频机制,这两个设备使用特定的信道发送和接收数据,然后每个连接间隔后切换物理信道。受内存大小的影响,设备无法在连接间隔内无限发包,因此连接间隔的大小直接影响了传输速率:在连接间隔太小的情况下,数据没发完就要跳频;在连接间隔太大的情况下,空口时间占比大,会造成带宽的浪费。因而,合适的连接间隔能够实现跳频及带宽之间的平衡,提高传输速率。基于此,本申请实施例将第二连接间隔参数初始化为连接间隔参数最小值,从该连接间隔参数最小值开始,在预设的时间长度内与上述蓝牙设备进行数据传输,以获得这一时间长度内的平均传输速率,并将这一时间长度内的平均传输速率赋予第二速率参数,也即,上述第二速率参数所指示的平均传输速率,具体指的是在最近的一个数据传输周期内(也即前一时间长度内)的平均传输速率。可选地,上述时间长度可被设定为10秒,当然,用户或研发人员也可将上述时间长度设定为其它数值,此处不作限定。

步骤104,比对上述第一速率参数及上述第二速率参数;

在本申请实施例中,由于第一速率参数所要记录的是到当前时刻为止,蓝牙连接的数据传输过程中的最大传输速率,因而,此时可以将上述一速率参数及上述第二速率参数进行比对,以确定上述第一速率参数是否需要更新。

步骤105,若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并返回执行上述基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数的步骤及后续步骤;

在本申请实施例中,如果通过比对发现上述第一参数小于上述第二速率参数,也即,这种情况下,在最近的一个数据传输周期内的平均传输速率大于当前所记录的最大传输速率,则此时需要基于上述第二速率参数对上述第一速率参数进行更新,具体为将上述第二速率参数的值赋予上述第一速率参数。除了上述第一速率参数之外,由于第一连接间隔参数记录的是与第一速率参数相关的连接间隔,因而,可以将上述第二连接间隔参数的值赋予上述第一连接间隔参数,以实现第一连接间隔参数的更新;并且,考虑到下一时间长度内需要采用一个新的连接间隔进行数据传输,因而,可以基于预设的连接间隔单位值,对上述第二连接间隔参数进行更新,具体表现为将更新前的第二连接间隔参数的值加上连接间隔单位值,得到更新后的第二连接间隔参数,其中,该连接间隔单位值优选为1.25ms。需要注意的是,本步骤中,必须先更新第一连接间隔参数,再更新第二连接间隔参数。

考虑到平均传输速率随着连接间隔的增长往往呈现先增长后减小的规律,在达到理论最大传输速率之前,随着连接间隔的增长,平均传输速率也不断增长,此时通过平均传输速率对第一速率参数进行更新,可使得该第一速率参数不断逼近上述理论最大传输速率。因而,在第一速率参数的变化趋势仍处于增长的阶段时,每次完成对上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数的更新后,都返回执行步骤103及后续步骤。

步骤106,若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。

在本申请实施例中,一旦发现上述第一速率参数大于或等于上述第二速率参数,则可认为当前的第二连接间隔参数所对应的传输速率已进入下降的阶段,此时,可知前次的第二连接间隔参数(也即当前的第一连接间隔参数)所对应的传输速率(也即当前的第一速率参数)最逼近理论最大传输速率。因而,这时候可基于当前的第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接,也即,后续均基于当前的第一连接间隔参数与蓝牙设备进行数据传输。

为了方便理解,请查阅图2,图2示出了上述步骤101至步骤106的逻辑图。

可选地,为了提升本申请实施例的处理效率,在上述步骤101之后,上述数据传输方法还包括:

检测上述电子设备是否为初次与上述蓝牙设备建立蓝牙连接;

相应地,上述创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,包括:

若上述电子设备为初次与上述蓝牙设备建立蓝牙连接,则创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数;

若上述电子设备非初次与上述蓝牙设备建立蓝牙连接,则获取上述蓝牙设备的设备识别码,并基于上述设备识别码在上述电子设备的本地查找与上述设备识别码相关联的第一连接间隔参数,以基于上述第一连接间隔参数实现与上述蓝牙设备的数据传输。

在本申请实施例中,只有在上述电子设备是初次与上述蓝牙设备建立蓝牙连接的情况下,才需要创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数;进一步地,在初次通过蓝牙连接进行数据传输的过程中,还可以获取上述蓝牙设备的设备识别码,并对最后确定的上述第一连接间隔参数(也即最逼近理论最大传输速率的连接间隔参数)与上述设备识别码建立关联关系,将上述关联关系存储于上述电子设备的本地。这样一来,后续电子设备再与同一蓝牙设备建立蓝牙连接时,即可直接通过该蓝牙设备的设备识别码在本地查找相关联的第一连接间隔参数,以基于上述第一连接间隔参数实现与上述蓝牙设备的数据传输。例如,设备a与设备b初次连接时,设备a通过上述步骤101至步骤106,确定第一连接间隔参数为x1,也即,在该第一连接间隔参数x1下,设备a与设备b的传输速率最高,设备a会将该设备b与该第一连接间隔参数x1关联起来存储于本地;后续设备a再次与设备b连接时,直接通过本地查找到与设备b关联的第一连接间隔参数x1,并基于该第一连接间隔参数x1所指示的连接间隔与设备b进行数据传输。可见,通过这一方式,可以一定程度的减轻蓝牙设备的处理压力,避免每一次与其它设备进行蓝牙连接时都重新查找能够达到最大传输速率的连接间隔,帮助电子设备与蓝牙设备之间的数据传输快速达到最大传输速率。

可选地,除了动态调节连接间隔以获得最大传输速率之外,还可以通过其它方式提升传输速率,则在上述建立与蓝牙设备的蓝牙连接之后,上述数据传输方法还包括:

检测上述电子设备及上述蓝牙设备是否支持预设的第一蓝牙版本;

若上述电子设备及上述蓝牙设备均支持预设的第一蓝牙版本,则通过设定预设的第一标志位启动高速编码功能,以实现物理层的高速编码,并通过设定预设的第二标志位启动数据长度扩展功能;

若上述电子设备和/或上述蓝牙设备不支持预设的第一蓝牙版本,则检测上述电子设备及上述蓝牙设备是否支持预设的第二蓝牙版本,其中,上述第二蓝牙版本低于上述第一蓝牙版本;

若上述电子设备及上述蓝牙设备均支持预设的第二蓝牙版本,则通过设定上述第二标志位启动数据长度扩展功能。

在本申请实施例中,上述第一蓝牙版本具体为5.0版本,上述第二蓝牙版本具体为4.2版本,其中,5.0版本不仅支持高速编码功能,而且支持数据长度扩展功能,而4.2版本不支持高速编码功能,仅支持数据长度扩展功能(datalengthextension)。上述高速编码功能具体指的是物理层以2mb/s的速度进行编码,与未应用高速编码功能时物理层以1mb/s的速度进行编码相比,可大大提升传输速率;上述数据长度扩展功能允许ble控制器在连接状态下发送具有高达251字节的数据包,与未应用数据长度扩展功能时ble控制器的数据通道27字节的最大有效载荷相比,可大大提升传输速率。基于此,在电子设备与蓝牙设备建立蓝牙连接后,二者可交换版本号,也即,蓝牙设备向电子设备发送该蓝牙设备的版本号,电子设备向蓝牙设备发送该电子设备的版本号,并通过对对端及本端的版本号进行分析,获知对端及本端是否支持该第一蓝牙版本。若双方都支持第一蓝牙版本,则可通过设定预设的第一标志位启动高速编码功能,同时,还可通过设定预设的第二标志位启动数据长度扩展功能;若存在任一方不支持第一蓝牙版本,则继续检测双方是否支持第二蓝牙版本,在双方都支持第二蓝牙版本的情况下,可通过设定预设的第二标志位启动数据长度扩展功能。

可选地,除了动态调节连接间隔以获得最大传输速率、启动高速编码功能及启动数据长度扩展功能之外,还可以通过其它方式提升传输速率,则在上述建立与蓝牙设备的蓝牙连接之后,上述数据传输方法还包括:

获取上述蓝牙设备所支持的最大传输单元的尺寸,作为目标尺寸,上述目标尺寸用于指示上述电子设备向上述蓝牙设备所传输的数据包的大小。

在本申请实施例中,上述最大传输单元的尺寸(maximumtransmissionunitsize,mtusize)指的是整个att数据包的长度,其中,上述att数据包具体为基于ble的上层协议栈通信协议(attributeprotocol)的数据包,上述最大传输单元的尺寸的最小取值23,最大取值无规定。通常来说,最大传输单元的尺寸越大,则相应的每个数据包中的包头占比越小,这将提升数据传输的速率。基于此,在电子设备与蓝牙设备开始进行数据传输之前,可以先获取对端的最大传输单元的尺寸,在进行数据传输时,根据对端的最大传输单元的尺寸来决定所要传输的每一个数据包的大小。也即,电子设备获取蓝牙设备的最大传输单元的尺寸l1,蓝牙设备获取电子设备的最大传输单元的尺寸l2;电子设备进行数据传输时,向蓝牙设备所传输的数据包的大小为l1,蓝牙设备进行数据传输时,向电子设备所传输的数据包的大小为l2。与上述第一连接间隔参数相类似的,可在第一连接间隔参数与上述蓝牙设备的设备识别码的关联关系中,再加入上述目标尺寸,也即,形成蓝牙设备的设备识别码-第一连接间隔参数-目标尺寸的关联关系,则后续再与同一蓝牙设备进行连接时,可直接获取对应的第一连接间隔参数及目标尺寸进行数据传输。

由上可见,本申请实施例中,通过动态调整连接间隔来确定能够获得最大传输速率的连接间隔参数,并在得到了该能够获得最大传输速率的连接间隔参数后,保持这一连接间隔参数进行蓝牙数据连接,以实现数据的高速传输。除此之外,还可以交换双方所支持的最大传输单元的尺寸,并以对端所支持的最大传输单元的尺寸向对端传输数据包,也可实现数据的高速传输。进一步地,还可以在双方支持的情况下选择开启高速编码功能及数据长度扩展功能,以进一步实现数据的高速传输。

实施例二

本申请实施例二提供了一种数据传输装置,上述数据传输装置可集成于具备蓝牙功能的电子设备中。如图3所示,本申请实施例中的数据传输装置300包括:

连接建立单元301,用于建立与蓝牙设备的蓝牙连接;

参数创建单元302,用于创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,其中,上述第一速率参数用于记录最大传输速率,上述第二速率参数用于指示数据传输过程中的平均传输速率,上述第一连接间隔参数用于记录与第一速率参数相关的连接间隔,上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔;

第一更新单元303,用于基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数;

参数比对单元304,用于比对上述第一速率参数及上述第二速率参数;

第二更新单元305,用于若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并触发执行上述第一更新单元303;

连接保持单元306,用于若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。

可选地,上述数据传输装置300还包括:

连接次数检测单元,用于在上述连接建立单元301建立与蓝牙设备的蓝牙连接之后,检测上述电子设备是否为初次与上述蓝牙设备建立蓝牙连接;

相应地,上述参数创建单元302,具体用于若上述电子设备为初次与上述蓝牙设备建立蓝牙连接,则创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,若上述电子设备非初次与上述蓝牙设备建立蓝牙连接,则获取上述蓝牙设备的设备识别码,并基于上述设备识别码在上述电子设备的本地查找与上述设备识别码相关联的第一连接间隔参数,以基于上述第一连接间隔参数实现与上述蓝牙设备的数据传输。

可选地,上述数据传输装置300还包括:

设备识别码获取单元,用于获取上述蓝牙设备的设备识别码;

关联关系检测单元,用于建立上述第一连接间隔参数与上述设备识别码的关联关系;

关联关系存储单元,用于存储上述关联关系。

可选地,上述数据传输装置300还包括:

第一版本检测单元,用于在上述连接建立单元301建立与蓝牙设备的蓝牙连接之后,检测上述电子设备及上述蓝牙设备是否支持预设的第一蓝牙版本;

第一功能启动单元,用于若上述电子设备及上述蓝牙设备均支持预设的第一蓝牙版本,则通过设定预设的第一标志位启动高速编码功能,以实现物理层的高速编码,并通过设定预设的第二标志位启动数据长度扩展功能。

可选地,上述数据传输装置300还包括:

第二版本检测单元,用于在上述第一版本检测单元检测上述电子设备及上述蓝牙设备是否支持预设的第一蓝牙版本之后,若上述电子设备和/或上述蓝牙设备不支持预设的第一蓝牙版本,则检测上述电子设备及上述蓝牙设备是否支持预设的第二蓝牙版本,其中,上述第二蓝牙版本低于上述第一蓝牙版本;

第二功能启动单元,用于若上述电子设备及上述蓝牙设备均支持预设的第二蓝牙版本,则通过设定上述第二标志位启动数据长度扩展功能。

可选地,上述数据传输装置300还包括:

目标尺寸确定单元,用于在上述连接建立单元301建立与蓝牙设备的蓝牙连接之后,获取上述蓝牙设备所支持的最大传输单元的尺寸,作为目标尺寸,上述目标尺寸用于指示上述电子设备向上述蓝牙设备所传输的数据包的大小。

可选地,上述第二更新单元305,包括:

第一速率参数更新子单元,用于基于上述第二速率参数,更新上述第一速率参数;

第一连接间隔参数更新子单元,用于基于上述第二连接间隔参数,更新上述第一连接间隔参数;

第二连接间隔参数更新子单元,用于基于预设的连接间隔单位值,更新上述第二连接间隔参数。

由上可见,本申请实施例中,数据传输装置通过动态调整连接间隔来确定能够获得最大传输速率的连接间隔参数,并在得到了该能够获得最大传输速率的连接间隔参数后,保持这一连接间隔参数进行蓝牙数据连接,以实现数据的高速传输。除此之外,还可以交换双方所支持的最大传输单元的尺寸,并以对端所支持的最大传输单元的尺寸向对端传输数据包,也可实现数据的高速传输。进一步地,还可以在双方支持的情况下选择开启高速编码功能及数据长度扩展功能,以进一步实现数据的高速传输。

实施例三

本申请实施例三提供了一种电子设备,请参阅图4,本申请实施例中的电子设备4具备蓝牙功能,该电子设备包括:存储器401,一个或多个处理器402(图4中仅示出一个)及存储在存储器401上并可在处理器上运行的计算机程序。其中:存储器401用于存储软件程序以及单元,处理器402通过运行存储在存储器401的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器402通过运行存储在存储器401的上述计算机程序时实现以下步骤:

建立与蓝牙设备的蓝牙连接;

创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,其中,上述第一速率参数用于记录最大传输速率,上述第二速率参数用于指示数据传输过程中的平均传输速率,上述第一连接间隔参数用于记录与第一速率参数相关的连接间隔,上述第二连接间隔参数用于动态调整数据传输过程中所采用的连接间隔;

基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数;

比对上述第一速率参数及上述第二速率参数;

若上述第一速率参数小于上述第二速率参数,则更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,并返回执行上述基于上述第二连接间隔参数,在预设的时间长度内与上述蓝牙设备进行数据传输,通过上述时间长度内的平均传输速率更新上述第二速率参数的步骤及后续步骤;

若上述第一速率参数大于或等于上述第二速率参数,则基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在建立与蓝牙设备的蓝牙连接之后,处理器402通过运行存储在存储器401的上述计算机程序时实现还以下步骤:

检测上述电子设备是否为初次与上述蓝牙设备建立蓝牙连接;

相应地,上述创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数,包括:

若上述电子设备为初次与上述蓝牙设备建立蓝牙连接,则创建并初始化第一速率参数、第二速率参数、第一连接间隔参数及第二连接间隔参数;

若上述电子设备非初次与上述蓝牙设备建立蓝牙连接,则获取上述蓝牙设备的设备识别码,并基于上述设备识别码在上述电子设备的本地查找与上述设备识别码相关联的第一连接间隔参数,以基于上述第一连接间隔参数实现与上述蓝牙设备的数据传输。

在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,在上述基于上述第一连接间隔参数,保持与上述蓝牙设备的蓝牙连接之后,处理器402通过运行存储在存储器401的上述计算机程序时实现还以下步骤:

获取上述蓝牙设备的设备识别码;

建立上述第一连接间隔参数与上述设备识别码的关联关系;

存储上述关联关系。

在上述一种可能的实施方式作为基础而提供的第四种可能的实施方式中,在建立与蓝牙设备的蓝牙连接之后,处理器402通过运行存储在存储器401的上述计算机程序时实现还以下步骤:

检测上述电子设备及上述蓝牙设备是否支持预设的第一蓝牙版本;

若上述电子设备及上述蓝牙设备均支持预设的第一蓝牙版本,则通过设定预设的第一标志位启动高速编码功能,以实现物理层的高速编码,并通过设定预设的第二标志位启动数据长度扩展功能。

在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,在上述检测上述电子设备及上述蓝牙设备是否支持预设的第一蓝牙版本之后,处理器402通过运行存储在存储器401的上述计算机程序时实现还以下步骤:

若上述电子设备和/或上述蓝牙设备不支持预设的第一蓝牙版本,则检测上述电子设备及上述蓝牙设备是否支持预设的第二蓝牙版本,其中,上述第二蓝牙版本低于上述第一蓝牙版本;

若上述电子设备及上述蓝牙设备均支持预设的第二蓝牙版本,则通过设定上述第二标志位启动数据长度扩展功能。

在上述第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,在建立与蓝牙设备的蓝牙连接之后,处理器402通过运行存储在存储器401的上述计算机程序时实现还以下步骤:

获取上述蓝牙设备所支持的最大传输单元的尺寸,作为目标尺寸,上述目标尺寸用于指示上述电子设备向上述蓝牙设备所传输的数据包的大小。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础,或者上述第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述更新上述第一速率参数、上述第一连接间隔参数及上述第二连接间隔参数,包括:

基于上述第二速率参数,更新上述第一速率参数;

基于上述第二连接间隔参数,更新上述第一连接间隔参数;

基于预设的连接间隔单位值,更新上述第二连接间隔参数。

应当理解,在本申请实施例中,所称处理器402可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器401可以包括只读存储器和随机存取存储器,并向处理器402提供指令和数据。存储器401的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器401还可以存储设备类别的信息。

由上可见,本申请实施例中,电子设备通过动态调整连接间隔来确定能够获得最大传输速率的连接间隔参数,并在得到了该能够获得最大传输速率的连接间隔参数后,保持这一连接间隔参数进行蓝牙数据连接,以实现数据的高速传输。除此之外,还可以交换双方所支持的最大传输单元的尺寸,并以对端所支持的最大传输单元的尺寸向对端传输数据包,也可实现数据的高速传输。进一步地,还可以在双方支持的情况下选择开启高速编码功能及数据长度扩展功能,以进一步实现数据的高速传输。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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