一种单移动端与多蓝牙设备二次并发连接的方法技术

技术编号:30155646 阅读:60 留言:0更新日期:2021-09-25 15:06
本发明专利技术涉及一种单移动端与多蓝牙设备二次并发连接的方法,移动端发起多个蓝牙设备二次并发连接需求,自数据存储系统获取多个蓝牙设备的数据,开始遍历,基于预设顺序对蓝牙设备进行连接尝试,对连接失败的蓝牙设备通过差错跳跃等待机制进行跳过后,重复直至不存在未连接的蓝牙设备,设备连接结束,更新关联数据至数据存储系统。本发明专利技术解决了单移动端与多蓝牙设备二次并发连接的冲突问题与效率问题,以无扫描直连、遍历连接、差错跳跃等待和优先级设定的连接方法,根据每个设备连接的稳定性设置优先级,为下一次连接设置先后连接顺序,能够有效解决单移动端与多蓝牙设备二次并发连接的冲突问题并提高连接的稳定性与效率,缩短连接所用的时间。连接所用的时间。连接所用的时间。

【技术实现步骤摘要】
一种单移动端与多蓝牙设备二次并发连接的方法


[0001]本专利技术涉及一种蓝牙通信领域,尤其涉及一种单移动端与多蓝牙设备二次并发连接的方法。

技术介绍

[0002]用户移动端设备的快速发展,促进了数据通讯业的更新迭代。Wifi、5G通信技术的出现,提高了各类设备的通信速度。但是蓝牙作为数据通信领域最基础的通信方式,仍具有成本低、功耗低等优势,在各个领域更具备应用普遍的优势。然而,在单移动端与其它多蓝牙设备二次并发连接的场景下,连接效果不尽如人意,存在连接冲突、连接设备信息丢失、连接效率不高等现象。
[0003]在智慧办公和智能家居等领域,由于存在多种蓝牙设备与单移动端二次并发连接的场景,当用户已经使用移动端进行首次连接多个设备的操作后,若用户再进行蓝牙设备二次连接时,需要自动连接之前所有连接过的蓝牙设备。但是由于蓝牙设备处理蓝牙请求需要一定的时间,在同一时刻只能处理一个蓝牙连接请求,待处理完一个请求时再处理下一个请求。如果同一时刻接收到两个蓝牙连接请求,就会造成连接冲突,导致设备连接信息丢失的情况发生。除此之外,在连接的某个设备出现故障时,可能会陷入不断重连的死循环中,导致后续蓝牙设备连接的阻塞,从而影响用户的使用体验。

技术实现思路

[0004]鉴于上述提出的背景与技术,本专利技术的目的在于提供一种单移动端与多蓝牙设备二次并发连接的方法,实现多蓝牙设备二次并发连接的正常创建与数据通信,从而排除因为设备的数量与质量造成的一系列连接问题,提高蓝牙连接的稳定性与速度。
[0005]本专利技术提供一种单移动端与多蓝牙设备二次并发连接的方法,所述方法包括无扫描直连、设备列表遍历连接、差错跳跃等待、优先级设定、数据定量更新和系统数据处理的连接方法。
[0006]所述无扫描直连为在使用移动端设备中的应用程序进行连接时,无需提前进行扫描,由于本专利技术针对的是蓝牙多设备二次并发连接,那么在蓝牙设备的首次连接时,就需要收集蓝牙设备的设备名称、设备ID等设备信息,上传至服务器的数据存储系统;首次收集到的设备对象数据将会把设备对象的连接优先级默认设置为1,代表连接优先级最高。所有的连接设备对象组成一个多设备连接列表DataList,首次收集到的设备对象数据由于优先级默认为1,优先级最高,故直接插入在DataList的列表首位;在蓝牙二次连接时可以直接根据设备对象的ID进行直连,省去扫描蓝牙设备的时间,在设备数量较多的情况,节省时间效果更加显著。
[0007]所述设备列表遍历连接为用户可以使用移动端设备从数据存储系统拉取设备连接列表DataList数据,一个设备对象信息包括设备名称、设备连接ID与设备连接优先级Priority。若存在多个设备信息时,将会获取一个多对象数据列表DataList数据,该多对象
数据列表的初始长度为InitialListLen。该数据列表DataList里的对象已经在系统中进行过处理,即按照对象优先级的大小已进行排序。移动端设备应用将会根据每个设备对象在列表中的顺序来执行该设备对象的蓝牙连接操作,依次循环遍历,直至设备列表最后一个设备连接成功,整个蓝牙连接过程完毕。
[0008]所述差错跳跃等待为在设备列表遍历连接时,有可能会发生意外情况,如设备断电、设备蓝牙功能未开启或设备不在当前蓝牙连接范围或其它故障等各种状况。当连接请求发送给该设备时,蓝牙创建连接请求失败,将会执行差错跳跃等待,即跳过该设备的连接,并将该设备的对象数据由列表DataList首位插入至设备连接列表的末尾,等待设备连接列表DataList下一次遍历到这个设备对象时重新发起对该设备对象的蓝牙连接请求,同时该设备对象会执行优先级设定并被插入至临时对象列表TempDataList。这样做的目的在于跳过有连接故障的设备,优先连接正常的设备,加快设备的数据获取,防止因为故障设备而导致后续正常的设备的连接阻塞。如果设备对象连接成功则不会执行差错跳跃等待,该设备对象会从DataList列表中删除,并将该对象保存到临时对象列表TempDataList中。
[0009]所述优先级设定为在设备列表遍历连接时,根据设备连接的稳定性重新设置一个优先级Priority,在下一次进行多蓝牙设备二次并发连接时根据优先级大小来重新排列连接顺序,以此来实现设备连接速度的最大化。假设初始DataList列表长度为InitialListLen,当前DataList列表长度为CurrentListLen,在遍历连接时,若设备对象连接成功,则该对象优先级计算公式为:Priority=InitialListLen

CurrentListLen若设备对象连接失败,则该对象优先级计算公式为:Priority=InitialListLen设备对象的优先级Priority不会超过初始DataList列表长度InitialListLen。无论设备对象连接结果为成功还是失败,优先级Priority数据都将与设备对象数据一起保存至临时对象列表TempDataList。
[0010]所述数据定量更新为在设备对象进行蓝牙连接时,当出现异常连接情况时,会将其连接失败次数FailCount记录下来。当失败次数达到应用程序设定的阈值时,应用程序将会将临时对象列表TempDataList更新上传至数据存储系统进行保存,然后将应用程序中的FailCount变量清零。这样做的目的是为了防止设备连接列表DataList中某个设备出现持续性故障,从而导致蓝牙循环连接过程无法停止时,仍然可以将临时对象列表TempDataList更新至数据存储系统,防止数据丢失。
[0011]所述系统数据处理为数据存储系统接收到应用程序上传的临时对象列表TempDataList数据后,将会对TempDataList数据进行分析处理。即数据存储系统接收到TempDataList数据时,将根据TempDataList数据的设备对象中的优先级重新进行排序,优先级越小,排列顺序越前,优先级越大,排列顺序越后。若两个设备对象的优先级相等,则相邻排序,相邻的前后顺序无关紧要。以此类推,完成TempDataList数据中所有设备对象的排序,形成新的设备列表DataList数据。在下次应用程序执行多蓝牙设备二次并发连接请求获取设备列表数据时,将这个新排列的DataList数据返回给应用程序。
[0012]具体来说,本专利技术提供了一种单移动端与多蓝牙设备二次并发连接的方法,所述方法包括以下步骤:
步骤1:移动端发起多个蓝牙设备二次并发连接需求;步骤2:移动端自数据存储系统获取多个蓝牙设备的数据,开始遍历;步骤3:基于预设顺序对蓝牙设备进行连接尝试,若成功则直接进行下一步,否则对连接失败的蓝牙设备通过差错跳跃等待机制进行跳过后,进行下一步;步骤4:若还存在未连接的蓝牙设备,返回步骤3,否则设备连接结束,更新关联数据至数据存储系统。
[0013]优选地,所述步骤1中,连接需求为无扫描设备直连。
[0014]优选地,所述步骤2中,移动端通过应用程序从服务器的数据存储系统中获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单移动端与多蓝牙设备二次并发连接的方法,其特征在于:所述方法包括以下步骤:步骤1:移动端发起多个蓝牙设备二次并发连接需求;步骤2:移动端自数据存储系统获取多个蓝牙设备的数据,开始遍历;步骤3:基于预设顺序对蓝牙设备进行连接尝试,若成功则直接进行下一步,否则对连接失败的蓝牙设备通过差错跳跃等待机制进行跳过后,进行下一步;步骤4:若还存在未连接的蓝牙设备,返回步骤3,否则设备连接结束,更新关联数据至数据存储系统。2.根据权利要求1所述的一种单移动端与多蓝牙设备二次并发连接的方法,其特征在于:所述步骤1中,连接需求为无扫描设备直连。3.根据权利要求1所述的一种单移动端与多蓝牙设备二次并发连接的方法,其特征在于:所述步骤2中,移动端通过应用程序从服务器的数据存储系统中获取当前移动端对应的历史设备连接列表数据DataList。4.根据权利要求3所述的一种单移动端与多蓝牙设备二次并发连接的方法,其特征在于:所述步骤3中,连接包括以下步骤:步骤3.1.1:取出DataList对象列表中的设备对象的设备数据,所述设备数据包括设备名称、设备ID与设备优先级;步骤3.1.2:创建对应设备ID的蓝牙连接请求;步骤3.1.3:连接成功,在DataList对象列表中删除该设备对象数据;步骤3.1.4:计算该设备对象的优先级,该设备对象的优先级等于初始DataList列表长度InitialListLen减去当前DataList列表长度CurrentListLen;步骤3.1.5:将该设备对象插入或更新至临时设备连接列表TempDataList;若临时设备连接列表中没有与该设备对象同设备名称和设备ID的设备对象,则直接插入,否则保持该设备对象在临时设备连接列表TempDataList中的位置不变,将目标设备对象的优先级数据更新为步骤3.1.4计算的优先级数据。5.根据权利要求4所述的一种单移动端与多蓝牙设备二次并发连接的方法,其特征在于:对于任一设备,设备优先级所有对象首次设置默认...

【专利技术属性】
技术研发人员:姚信威赵凯齐楚锋邢伟伟李强姚远
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1