本发明涉及无线数据传输领域,特别涉及一种蓝牙与wifi切换的方法及系统。
背景技术:
随着智能硬件和移动设备的发展和普及,各种智能化设备都走进了寻常百姓家。目前大多数移动终端和智能设备上都具备了各类无线通信模块,如蓝牙模块和wifi模块,终端间通过无线通信模块实现数据传输和控制功能。蓝牙模块是通过一种短距离无线电频段进行端到端的直接通信,一般可通信的范围在十米内,wifi模块则是通信双方均连接互联网,通过服务器或者路由器来进行通信。
当前用户在进行终端间数据传输或使用控制指令控制数据接收终端时,一般只采用蓝牙或者wifi中的一种来进行。在使用蓝牙连接的情况下,当数据发送终端在距离数据接收终端十五米以上时,连接就会变得不稳定,甚至断开连接,使得数据或控制指令无法到达数据接收终端;在使用wifi连接的情况下,终端大都需要通过网络服务器或路由进行通信,在网络波动的情况下,会导致数据或控制指令需要经过比较大的延时才能到达数据接收终端,影响数据传输速度,进而影响用户体验。
现有技术中蓝牙与wifi间切换方法主要是通过对丢包率和传输数据大小等方式进行判断来控制蓝牙与wifi之间的切换,然而由于在进行蓝牙与wifi切换后,无法在切换前已传送数据的基础上进行续传,切换传输方式后所有数据均需要重传,造成较多时间的浪费。另外,对蓝牙信道和wifi信道进行评估需要花费额外的时间进行处理,无法做到流畅切换。
因此,如何实现蓝牙与wifi切换后,在已传送数据的基础上进行续传,是本领域技术人员目前需要解决的技术问题。
技术实现要素:
本发明的目的是提供一种蓝牙与wifi切换的方法及系统,能够实现蓝牙与wifi切换后,在已传送数据的基础上进行续传。
为解决上述技术问题,本发明提供一种蓝牙与wifi切换的方法及系统,该方法包括:
将需要传输的数据根据第一数据划分策略划分为若干数据块并编号;其中,所述第一数据划分策略依据所述数据的大小以及第一传输方式的传输能力设置;
选择所述第一传输方式按照编号顺序依次传输所述数据块;
判断已传输的数据块数量是否小于数据块总数量;
若已传输的数据块数量小于数据块总数量,则判断是否需要切换所述第一传输方式为第二传输方式,若需要,则切换所述第一传输方式为所述第二传输方式,并根据第二数据划分策略将切换前未被传输的数据重新划分为若干新数据块并重新编号,选择所述第二传输方式按照新编号顺序依次传输所述新数据块;其中,所述第二数据划分策略依据切换前未被传输数据的大小和所述第二传输方式的传输能力设置。
优选地,当所述第一传输方式为蓝牙传输,所述第二传输方式为wifi传输时,所述判断是否需要切换所述第一传输方式为第二传输方式,若需要,则切换所述第一传输方式为所述第二传输方式,包括:
判断蓝牙接入表中是否有所述数据接收方的所述蓝牙物理地址,若没有,则切换蓝牙传输为wifi传输;
若所述蓝牙接入表中有所述数据接收方的所述蓝牙物理地址,则判断所述数据接收方是否在蓝牙连接表中,若不在,则切换蓝牙传输为wifi传输;
若所述数据接收方在所述蓝牙连接表中,则根据接收到的蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内,若不在,则使用蓝牙发送数据等待反馈信息并累计发送次数,判断接收到所述数据接收方反馈信息的时间是否小于第一阈值,若不小于,则判断蓝牙发送数据次数是否小于第二阈值,若蓝牙发送数据次数小于所述第二阈值,则重新发送所述数据等待反馈信息并累计发送次数,若蓝牙发送数据次数不小于所述第二阈值,则切换蓝牙传输为wifi传输;其中,所述蓝牙固有信息包括接收信号强度;所述第一阈值为接收到所述数据接收方反馈信息的时间的最大允许值;所述第二阈值为所述数据发送方使用蓝牙发送数据次数的最大允许值。
优选地,当所述第一传输方式为wifi传输,所述第二传输方式为蓝牙传输时,所述判断是否需要切换所述第一传输方式为第二传输方式,若需要,则切换所述第一传输方式为所述第二传输方式,包括:
判断所述蓝牙接入表中是否有所述数据接收方的所述蓝牙物理地址,若有,则判断所述数据接收方是否在所述蓝牙连接表中,若所述数据接收方在所述蓝牙连接表中,则根据接收到的所述蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内,若在,则切换wifi传输为蓝牙传输;
若所述蓝牙设备不在合理覆盖范围内,则使用蓝牙发送所述数据等待反馈信息并累计发送次数,判断接收到所述数据接收方反馈信息的时间是否小于所述第一阈值,若小于,则切换wifi传输为蓝牙传输;
若接收到所述数据接收方反馈信息的时间不小于所述第一阈值,则判断蓝牙发送数据次数是否小于所述第二阈值,若小于,则重新发送所述数据等待反馈信息并累计发送次数。
本发明还提供一种蓝牙与wifi切换的系统,该系统包括:
数据划分及编号模块,用于将需要传输的数据根据第一数据划分策略划分为若干数据块并编号;根据第二数据划分策略将切换前未被传输的数据重新划分为若干新数据块并重新编号;其中,所述第一数据划分策略依据所述数据的大小以及第一传输方式的传输能力设置;所述第二数据划分策略依据切换前未被传输数据的大小和所述第二传输方式的传输能力设置;
第一传输模块,用于选择所述第一传输方式按照编号顺序依次传输所述数据块;
第一判断模块,用于判断已传输的数据块数量是否小于数据块总数量;
第二判断及切换模块,用于当已传输的数据块数量小于所述数据块总数量时,判断是否需要切换所述第一传输方式为所述第二传输方式,若需要,则切换所述第一传输方式为所述第二传输方式;
第二传输模块,用于选择所述第二传输方式按照新编号顺序依次传输所述新数据块。
优选地,所述第二判断及切换模块包括:
第一判断及切换子模块,用于判断蓝牙接入表中是否有所述数据接收方的蓝牙物理地址,若没有,则切换蓝牙传输为wifi传输;
第二判断及切换子模块,用于当所述蓝牙接入表中有所述接收方的蓝牙物理地址时,判断所述数据接收方是否在蓝牙连接表中,若不在,则切换蓝牙传输为wifi传输;
第三判断子模块,用于当所述数据接收方在所述蓝牙连接表中时,根据接收到的蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内;
第四判断子模块,用于当所述蓝牙设备不在合理覆盖范围内时,使用蓝牙发送所述数据等待反馈信息并累计发送次数,判断接收到所述数据接收方反馈信息的时间是否小于所述第一阈值;
第五判断及切换子模块,用于当接收到所述数据接收方反馈信息的时间不小于第一阈值时,判断蓝牙发送数据次数是否小于所述第二阈值,若蓝牙发送数据次数小于所述第二阈值,则重新发送所述数据等待反馈信息并累计发送次数,若蓝牙发送数据次数不小于第二阈值,则切换蓝牙传输为wifi传输;其中,所述蓝牙固有信息包括接收信号强度;所述第一阈值为接收到所述数据接收方反馈信息的时间的最大允许值;所述第二阈值为所述数据发送方使用蓝牙发送数据次数的最大允许值。
优选地,所述第二判断及切换模块包括:
第六判断子模块,用于判断蓝牙接入表中是否有所述数据接收方的蓝牙物理地址;
第七判断子模块,用于当所述蓝牙接入表中有所述接收方的蓝牙物理地址时,判断所述数据接收方是否在蓝牙连接表中;
第八判断及切换子模块,用于当所述数据接收方在所述蓝牙连接表中时,根据接收到的蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内,若在,则切换wifi传输为蓝牙传输;
第九判断及切换子模块,用于当所述蓝牙设备不在合理覆盖范围内时,使用蓝牙发送所述数据等待反馈信息并累计发送次数,判断接收到所述数据接收方反馈信息的时间是否小于所述第一阈值,若小于,则切换wifi传输为蓝牙传输;
第十判断及切换子模块,用于当接收到所述数据接收方反馈信息的时间不小于第一阈值时,判断蓝牙发送数据次数是否小于第二阈值,若小于,则重新发送所述数据等待反馈信息并累计发送次数。
本发明所提供的一种蓝牙与wifi切换的方法,根据传输方式的传输能力将数据切分为若干数据块并编号后进行传输,若切换传输方式,重新将数据划分为若干新数据块并编号后继续传输未被传输的数据块,便于在切换前已传送数据的基础上进行续传。
显然,本发明所提供的技术方案会根据所述数据的大小以及第一传输方式的传输能力将需要发送的数据切分为若干数据块并编号后进行传输,一旦切换了传输方式,就能够根据切换前未被传输数据的大小和所述第二传输方式的传输能力将切换前未被传输的数据重新划分为若干新数据块并重新编号,选择所述第二传输方式按照新编号顺序依次传输所述新数据块,便于在切换前已传送数据的基础上进行续传,避免了切换传输方式后所有数据均需要重传,造成较多时间的浪费,同时依据传输数据的大小以及传输方式的传输能力将数据划分为若干数据块有效地提高了数据传输过程中的传输效率。本申请同时还提供了一种蓝牙与wifi切换的系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种蓝牙与wifi切换方法的流程图;
图2为图1所提供的一种蓝牙与wifi切换方法中s104的一种实际表现方式的流程图;
图3为图1所提供的一种蓝牙与wifi切换方法中s104的另一种实际表现方式的流程图;
图4为本发明实施例所提供的一种蓝牙与wifi切换的虚拟系统的结构图;
图5为本发明实施例所提供的一种蓝牙与wifi切换的实体系统的结构图。
具体实施方式
本发明的核心是提供一种蓝牙与wifi切换的方法及系统,该方法能够实现蓝牙与wifi切换后,在已传送数据的基础上进行续传,从而有效地提高了数据传输过程中的传输效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种蓝牙与wifi切换的方法的流程图。
其具体包括以下步骤:
s101:将需要传输的数据根据第一数据划分策略划分为若干数据块并编号;
当数据发送方接收到需要传输数据的命令后,对需要传输的数据进行划分,数据划分的方式可以有多种,例如,可以对数据均匀划分,也可对数据不均匀划分,尽管数据划分的方式不同,但是最后总是要得到将数据划分为一个以上的数据块的目的,只要能够达到该目的,其中具体的实现方式与途径并不做具体限定。
上文提到的第一数据划分策略可依据实际情况制定,一般可根据需要传输的数据的大小及所第一传输方式的传输能力设置对应的数据划分策略,例如,若发送的数据大小为1gb,选用蓝牙传输方式为第一传输方式时,由于蓝牙传输方式的传输速度较低,可以将数据切分成100份,每份10mb;若选用wifi传输方式为第一传输方式时,由于wifi传输方式的传输速度相对较高,则可将数据切分为10份,每份100mb。该数据划分策略会根据切换的传输方式进行动态变化,在这里,发明人提供一个数据划分公式:
d_num=d/b
其中,d_num为数据块数量,d为发送数据大小,b为与d和当前传输方式的传输能力有关的变量。
当然,这仅为本发明提供的一种数据划分策略,本发明对数据划分策略不作限定。
将数据划分后得到的数据块进行编号,编号的意义有两个,一是能够对每一个数据块做标记,方便数据发送方识别和区分;二是能够客观直白的显示出已传输数据块的数量。
s102:选择第一传输方式按照编号顺序依次传输数据块;
第一传输方式,顾名思义,就是数据传送方在本次传输切换过程中将使用的第一种传输方式,此处的第一只是动作行为上的第一,既可以选择蓝牙传输为第一传输方式,也可以选择wifi传输为第一传输方式,并不是特指哪一传输方式为第一传输方式。
一般的,为便于后续比较过程的实现,第一传输方式按照编号从小到大的顺序传输数据块,当然,也可按照其他顺序传输,本发明对此不做过多限定。
s103:判断已传输的数据块数量是否小于数据块总数量;
这里所说的判断可以是在每一个数据块传输完成后进行,当然也可根据数据块数量以及。根据步骤s102中的按照编号从小到大的顺序传输数据块,数据发送方可直接比较已传输的数据块的最大编号与数据块的总数量的大小,方便比较过程的实现。例如,需传输的数据块总数量为100个,将其依次标记为1,2,3,…,99,100,按照从小到大的顺序进行传输,当编号为n的数据块传输完毕时,若要判断已传输的数据块数量是否小于数据块总数量,可直接判断编号n是否小于100。当然,也可选择其他的比较方式,本发明对此不做过多限定。
根据判断结果决定是否进行后面的步骤,若已传输的数据块数量不小于数据块总数量,则表明所有数据块均传输过去,需要传输的数据已全部传输完毕,执行过程结束;若已传输的数据块数量小于数据块总数量,则表明还存在没有被传输的数据块,需要传输的数据未全部传输,进入步骤s104。
s104:判断是否需要切换第一传输方式为第二传输方式;
本步骤建立在经过s103的比较判断后,得出需要传输的数据未全部传输的情况下。判断是否需要切换第一传输方式为第二传输方式可根据蓝牙传输方式和wifi传输方式的具体属性来判断。第二传输方式与第一传输方式意义相仿,在此不再赘述。
根据判断结果决定是否切换传输方式,若需要切换,进入步骤s105,若不需要切换,进入步骤s107。
s105:切换第一传输方式为第二传输方式,并根据第二数据划分策略将切换前未被传输的数据重新划分为若干新数据块并重新编号;
一般的,为进一步提高传输效率,在根据判断结果决定切换传输方式后,数据发送发可根据切换前未被传输数据的大小和第二传输方式的传输能力将未被传输的数据重新划分为若干新数据块并重新编号,选择第二传输方式按照新编号顺序依次传输新数据块。例如,第一传输方式为蓝牙传输,第二传输方式为wifi传输,需传输的数据块总数量为100个,当第40个数据块传输完毕时,需切换蓝牙传输为wifi传输,则数据发送方会根据剩余数据的大小和wifi传输的传输能力,将剩余数据重新划分为6个数据块,编号为1,2,3,4,5,6,选择wifi传输方式按照编号从小到大的顺序依次传输6个数据块。
s106:选择第二传输方式按照新编号顺序依次传输新数据块
s107:继续使用第一传输方式按照编号顺序依次传输未被传输的数据块。
进一步的,为使本发明更实用,可在切换为第二传输方式进行传输后,重复s103至s107的步骤,直至数据全部传输完毕,具体过程在此不再赘述。
基于上述技术方案,本发明实施例提供的蓝牙与wifi切换的方法会将需要发送的数据切分为若干数据块并编号后进行传输,一旦切换了传输方式,能够按照编号顺序依次传输切换传输方式前未被传输的数据块,便于在切换前已传送数据的基础上进行续传,而且依据数据大小及传输方式的传输能力对数据进行划分,这样既能够发挥最优的传输效率,又能够有针对性的增加或减少判断次数,从而有效地提高了数据传输过程中的传输效率。
下面请参见图2和图3,图2和图3均为图1所示流程图中s104的一个具体实施方式流程图。
本实施例是针对上一实施例的s104,是对s104描述的内容做出了具体实现方式的描述。下面为图2所示的流程图,此时第一传输方式为蓝牙传输,第二传输方式为wifi传输,其具体包括以下步骤:
s201:判断蓝牙接入表中是否有数据接收方的蓝牙物理地址;
若蓝牙接入表中有数据接收方的蓝牙物理地址,则进入步骤s202,若没有,则进入步骤s208。
s202:判断数据接收方是否在蓝牙连接表中;
在s201的前提下,判断数据接收方是否在蓝牙连接表中,若在,则进入步骤s203,若不在,则进入步骤s208。
s203:根据接收到的蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内;
在s202的前提下,判断蓝牙设备是否在合理覆盖范围内,若在,则进入步骤s207,若不在,则进入步骤s204。上文提到的蓝牙固有信息包括接收信号强度等。
s204:使用蓝牙发送数据等待反馈信息并累计发送次数;
s205:判断接收到数据接收方反馈信息的时间是否小于第一阈值;
在s204的前提下,判断接收到数据接收方反馈信息的时间是否小于第一阈值,若小于,则进入步骤s207,若不小于,则进入步骤s206;这里提到的第一阈值为接收到数据接收方反馈信息的时间的最大允许值,第一阈值可由技术人员自行设置,以满足实际情况的需求。
s206:判断数据发送方使用蓝牙发送数据次数是否小于第二阈值;
在s205的前提下,判断数据发送方使用蓝牙发送数据次数是否小于第二阈值,若小于,则进入步骤s204,若不小于,则进入步骤s208;这里提到的第二阈值为数据发送方使用蓝牙发送数据次数的最大允许值,第二阈值同第一阈值一样,可由技术人员自行设置,以满足实际情况的需求。
s207:继续使用蓝牙传输;
s208:切换蓝牙传输为wifi传输。
下面为图3所示的流程图,此时第一传输方式为wifi传输,第二传输方式为蓝牙传输,其具体包括以下步骤:
s301:判断蓝牙接入表中是否有数据接收方的蓝牙物理地址;
若蓝牙接入表中有数据接收方的蓝牙物理地址,则进入步骤s302,若没有,则进入步骤s308。
s302:判断数据接收方是否在蓝牙连接表中;
在s301的前提下,判断数据接收方是否在蓝牙连接表中,若在,则进入步骤s303,若不在,则进入步骤s308。
s303:根据接收到的蓝牙固有信息,判断蓝牙设备是否在合理覆盖范围内;
在s302的前提下,判断蓝牙设备是否在合理覆盖范围内,若在,则进入步骤s307,若不在,则进入步骤s304。
s304:使用蓝牙发送数据等待反馈信息并累计发送次数;
s305:判断接收到数据接收方反馈信息的时间是否小于第一阈值;
在s304的前提下,判断接收到数据接收方反馈信息的时间是否小于第一阈值,若小于,则进入步骤s307,若不小于,则进入步骤s306。
s306:判断数据发送方使用蓝牙发送数据次数是否小于第二阈值;
在s305的前提下,判断数据发送方使用蓝牙发送数据次数是否小于第二阈值,若小于,则进入步骤s304,若不小于,则进入步骤s308。
s307:切换wifi传输为蓝牙传输;
s308:继续使用wifi传输数据。
下面请参见图4,图4为本申请所提供的一种蓝牙与wifi切换的虚拟系统的结构示意图。
该系统可以包括:
数据划分及编号模块100,用于将需要传输的数据根据第一数据划分策略划分为若干数据块并编号;根据第二数据划分策略将切换前未被传输的数据重新划分为若干新数据块并重新编号;其中,第一数据划分策略依据数据的大小以及第一传输方式的传输能力设置;第二数据划分策略依据切换前未被传输数据的大小和第二传输方式的传输能力设置;
第一传输模块200,用于选择第一传输方式按照编号顺序依次传输数据块;
第一判断模块300,用于判断已传输的数据块数量是否小于数据块总数量;
第二判断及切换模块400,用于当已传输的数据块数量小于数据块总数量时,判断是否需要切换第一传输方式为第二传输方式,若需要,则切换第一传输方式为第二传输方式;
第二传输模块500,用于选择第二传输方式按照新编号顺序依次传输新数据块。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面请参见图5,图5为本申请所提供的一种蓝牙与wifi切换的实体系统的结构示意图。
该系统可以包括:
数据发送方600,包括图4中所有模块,用于划分数据块并将数据块传输到数据接收方;
数据接收方700,用于接收数据块;将数据块拼接为完整数据;
云端服务器800,用于存储云端资源和获取连接该云端的设备状态;当数据发送方使用wifi进行数据传输时,将该数据转发给数据接收方。
以上系统中的各个组成部分的具体工作过程可以为:
数据发送方依据数据的大小以及第一传输方式的传输能力将需要传输的数据划分为若干数据块并编号;通过蓝牙传输方式按照预设顺序依次传输数据块到数据接收方;判断已传输的数据块数量是否小于数据块总数量;当已传输的数据块数量小于数据块总数量时,判断是否需要切换蓝牙传输方式为wifi传输方式,若需要,则切换蓝牙传输方式为wifi传输方式;依据切换前未被传输数据的大小和第二传输方式的传输能力将切换传输方式前未被传输的数据重新划分为若干新数据块并重新编号,通过wifi传输方式按照新编号顺序依次传输切换新数据块到云端服务器,云端服务器将新数据块传输到数据接收方。继续判断是否需要切换传输方式,若需要,则切换传输方式继续传输,直至所有数据全部传输完毕。
数据接收方通过数据拼接模块将接收到的数据块按照编号拼接为完整数据,传输过程结束。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本发明所提供的蓝牙与wifi切换的方法及系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。