CN115568036A - 一种应用连接方法及电子设备 - Google Patents
一种应用连接方法及电子设备 Download PDFInfo
- Publication number
- CN115568036A CN115568036A CN202211262106.XA CN202211262106A CN115568036A CN 115568036 A CN115568036 A CN 115568036A CN 202211262106 A CN202211262106 A CN 202211262106A CN 115568036 A CN115568036 A CN 115568036A
- Authority
- CN
- China
- Prior art keywords
- connection
- identifier
- connection request
- application
- wearable device
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 238000004891 communication Methods 0.000 claims abstract description 165
- 230000004044 response Effects 0.000 claims abstract description 120
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 313
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 121
- 230000006870 function Effects 0.000 description 74
- 108091006146 Channels Proteins 0.000 description 49
- 101000631760 Homo sapiens Sodium channel protein type 1 subunit alpha Proteins 0.000 description 39
- 102100028910 Sodium channel protein type 1 subunit alpha Human genes 0.000 description 39
- 230000008569 process Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000011664 signaling Effects 0.000 description 8
- 230000006386 memory function Effects 0.000 description 6
- 208000027390 severe congenital neutropenia 3 Diseases 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 101100251965 Arabidopsis thaliana RLP51 gene Proteins 0.000 description 2
- 101100203507 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SNC2 gene Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101100037543 Arabidopsis thaliana RLP55 gene Proteins 0.000 description 1
- 244000208734 Pisonia aculeata Species 0.000 description 1
- 101150094878 SNC1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- -1 and accordingly Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003860 sleep quality Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- 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
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种应用连接方法及电子设备,所述方法应用于第一设备,所述方法包括:接收第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述第一设备建立数据通信连接;在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用。以使得改善管理应用与穿戴设备连接使用的相关功能的数据安全性问题。
Description
技术领域
本申请涉及通信领域,尤其涉及一种应用连接方法及电子设备。
背景技术
随着智能穿戴的普及,穿戴设备成了很多用户的刚需。一般地,用户在使用穿戴设备的功能之前,需要先在终端设备侧下载与该穿戴设备对应的管理应用(application,app),并按照相应的指示完成穿戴设备的新账户绑定(也称蓝牙配对),在穿戴设备与app绑定、且app与穿戴设备建立通信连接后,用户可以通过该app使用穿戴设备的相关功能权限,例如智能闹钟、来电提醒、记录跑步轨迹、或记录睡眠质量等。
在一些场景中,一个穿戴设备需要支持两个功能类似的管理应用。例如,厂商针对该穿戴设备的管理应用进行大改造,开发一个新的管理应用app1,用于代替旧的管理应用app2。但厂商考虑到用户需求,和/或app1仍在开发阶段,其功能未十分完善等因素,不能弃用app2,则要求穿戴设备需要支持两个功能类似的管理应用。
然而可理解的,app1和app2中可能会存在一些数据和/或指令是互相冲突的,穿戴设备在同一时间理应只能与其中一个管理应用建立通信连接。因此,如何巧妙设计两个管理应用与穿戴设备的连接逻辑以改善数据安全性问题,成为了技术领域内重要的研究课题。
发明内容
本发明提供一种应用连接方法及电子设备,改善管理应用与穿戴设备连接使用的相关功能的数据安全性问题。
第一方面,本申请提供一种应用连接方法,所述方法应用于第一设备,所述方法包括:接收第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述第一设备建立数据通信连接;在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用。
示例性的,第一标识为与第一应用对应的通用唯一识别码(UUID)。该第一应用来源于第二设备,该第二设备与第一设备建立有初始通信连接,示例性的,第一设备为穿戴设备,第二设备为移动终端,该第二设备与第一设备具有蓝牙配对关系。第一标识对应的管理应用为与第一应用配套的、用于使用所述第一设备相关的功能权限的管理应用。
在本申请中,该第一设备至少支持与两个管理应用建立数据通信连接。示例性的,第一设备支持与新的管理应用和旧的管理应用建立数据通信连接。其中,该新的管理应用和旧的管理应用均为与该第一设备对应的管理应用。具体的,该新的管理应用与旧的管理应用的配置信息不一致。例如,该第一设备对应的厂商针对该第一设备的管理应用相关的功能和/或用户界面进行了大改造,开发了该新的管理应用,用于代替该旧的管理应用。
在本申请中,若参考标识为有效值,则该参考标识表示上一次与第一设备建立数据通信连接的历史管理应用的标识。
上述响应于第一连接请求发送第一连接响应,可以理解为响应于第一连接请求向与第一标识对应的管理应用发送第一连接请求。
示例性的,在一些其他的应用连接方法中,第一设备与新的管理应用的连接优先级高于第一设备与旧的管理应用的连接优先级。这种连接逻辑,一方面,新的管理应用与旧的管理应用与第一设备连接的优先级不一致、两个管理应用的连接或切换连接的逻辑不一致,两个管理应用分别对应一套不同的程序逻辑,在一定程度上会增大用户通过管理应用使用第一设备的难度,用户使用体验有待改善。
另外一方面,若新的管理应用和旧的管理应用均与第一设备建立过数据通信连接,那么在拉锯回连或穿戴设备重启回连的场景中,连接逻辑是穿戴设备先接收到哪个应用的连接请求就先连接哪个应用,若连接的应用不为优先级最高的那个应用(也即不为新的管理应用),则新的管理应用可以抢占连接资源,出现资源抢占、连接效率低下、性能损耗增大、亦或是回连上的管理应用不为用户想要回连的管理应用的问题。
再一方面,存在较大的安全风险。例如,用户当前通过第二设备中的旧的管理应用与第一设备连接,且用户个性化设置了进入该旧的管理应用的页面时,需要输入密码,攻击者通过一些手段拿到该第二设备后,该攻击者由于不知道该旧的管理应用的密码、无法通过该第二设备中安装的该旧的管理应用控制第一设备,但攻击者可以在该第二设备中下载安装该新的管理应用,并在该新的管理应用的页面中搜索该第一设备,并抢占旧的管理应用与第一设备的连接资源,进行通过该新的管理应用操作第一设备,从而造成用户的隐私数据泄露等问题,存在较大的数据安全风险。
又例如,用户当前通过第二设备中的旧的管理应用与第一设备连接,攻击者可以通过另外一个电子设备使用新的管理应用抢占该旧的管理应用的连接资源,如此,管理应用的连接资源无故被占用,会给用户造成困扰,严重的还会造成用户的隐私数据泄露等问题,存在较大的数据安全风险。
然而,采用本申请提供的应用连接方法,不额外设置优先级,第一设备与任意一个第一设备支持连接的管理应用连接或切换连接的逻辑均一致,以及采用参考标识用于记录穿戴设备上次连接的管理应用的标识,提供连接记忆功能,若第一标识与参考标识不一致,则拒绝连接。一方面,第一设备支持连接的管理应用之间共用一套相同的代码逻辑,降低用户掌握相关功能的难度,以及改善用户体验。
另外一方面,在拉锯回连或蓝牙重启回连的场景中,第一设备不接受与参考标识对应的管理应用不一致的管理应用发起的连接请求,改善资源抢占问题,提高第一设备与管理应用的连接效率,降低在拉锯回连或穿戴设备重启回连场景中的资源抢占给第一设备与第二设备带来的性能损耗。
另外一方面,可以避免攻击者利用优先级策略抢占穿戴设备的连接资源,改善安全性问题,降低数据安全风险,提高用户体验。
在一种可能的实现方式中,在所述接收第一连接请求之后,所述方法还包括:在所述参考标识为有效值、且所述第一标识与所述参考标识匹配的情况下,响应于所述第一连接请求发送第二连接响应,所述第二连接响应用于确认所述第一连接请求。
由此,在拉锯回连或蓝牙重启回连的场景中,穿戴设备仅会与上述参考标识中记录的管理应用连接,改善资源抢占问题,提高第一设备与管理应用的连接效率,降低数据安全风险,提高用户体验。
可理解的,第一设备可以多次执行连接到上述第一连接请求,并在一些场景下,执行在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求发送第一连接响应;在另外一些场景下,执行在所述参考标识为有效值、且所述第一标识与所述参考标识匹配的情况下,响应于所述第一连接请求发送第二连接响应。
在一种可能的实现方式中,在所述响应于所述第一连接请求发送第二连接响应之后,所述方法还包括:在第一时长内拒绝与除了所述第一标识对应的管理应用之外的其他管理应用建立数据通信连接。
可理解的,第一设备响应于第一连接请求向第一应用发送第二连接响应之后,第一应用与第一设备还需要进行一系列的信令交互,才能使得第一应用与第一设备成功建立连接,例如同步指令、参数协商、状态修改等的信令交互。
在上述一系列的信令交互的过程中,可能会存在其他管理应用向第一设备发起连接请求,可能会出现资源抢占问题。然而采用本申请提供的应用连接方法,第一设备响应于第一连接请求向第一应用发送第二连接响应之后的第一时长内,第一设备拒绝与除了第一应用之外的其他管理应用建立数据通信连接,可以进一步提高通信连接的时序稳定性、数据安全性以及用户使用体验。
在一种可能的实现方式中,第一设备在接收到恢复出厂设置或连接新管理应用(连接新手机)的功能后,将参考标识重置为无效值。
在一种可能的实现方式中,所述方法还包括:接收第二连接请求,所述第二连接请求包括第二标识,所述第二连接请求表示所述第二标识对应的管理应用请求与所述第一设备建立数据通信连接;在所述参考标识为无效值的情况下,响应于所述第二连接请求发送第二连接响应,所述第二连接响应用于确认所述第二连接请求,所述参考标识为无效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接。
在一种可能的实现方式中,在所述响应于所述第二连接请求发送第二连接响应之后,所述方法还包括:修改所述参考标识的取值为有效值。
在一种可能的实现方式中,所述修改所述参考标识的取值为有效值,包括:修改所述参考标识为所述第二标识;或者,修改所述参考标识为所述第二标识对应的服务器通道号。
示例性的,第一设备可以是在第一次开机使用后,接收到上述第二连接请求。或者,第一设备也可以在执行了恢复出厂设置的功能或执行了连接新管理应用(连接新手机)的功能之后,接收到上述第二连接请求,本文对此不做限定。
示例性的,第一设备在接收到上述第一连接请求之前,接收到上述第二连接请求,并基于该第二连接请求与第二标识对应的管理应用成功建立连接,以及将上述参考标识修改为与第二标识或与第二标识对应的服务器通道号。之后,第一设备在接收到上述第一连接请求后,若确定第一标识与参考标识不匹配,也即第一标识与第二标识不匹配,或称第一标识与第二标识对应的服务器通道号不匹配,则认为第一标识对应的管理应用不为第一设备上一次连接的管理应用,则第一设备拒绝上述第一连接请求。或者,第一设备在接收到上述第一连接请求后,若确定第一标识与参考标识匹配,也即第一标识与第二标识匹配,或称第一标识与第二标识对应的服务器通道号匹配,则认为第一标识对应的管理应用为第一设备上一次连接的管理应用,则第一设备接收该第一连接请求。
示例性的,若参考标识的取值类型为通用唯一识别码,则所述修改所述参考标识的取值为有效值,包括:修改所述参考标识为所述第二标识。若参考标识的取值类型为服务器通道号,则所述修改所述参考标识的取值为有效值,包括:修改所述参考标识为所述第二标识对应的服务器通道号。
在一种可能的实现方式中,所述第一标识为管理应用的通用唯一识别码,在所述参考标识为有效值的情况下,所述参考标识为与历史管理应用的通用唯一识别码对应的服务器通道号,所述历史管理应用为上一次与所述第一设备建立数据通信连接的管理应用。
示例性的,该历史管理应用为上述第二标识对应的管理应用。
在一种可能的实现方式中,在所述响应于所述第二连接请求发送第二连接响应之后,所述方法还包括:在第一时长内拒绝与除了所述第二标识对应的管理应用之外的其他管理应用建立数据通信连接。
由此,进一步提高通信连接的时序稳定性、数据安全性以及用户使用体验。
在一种可能的实现方式中,所述方法还包括:在所述第一标识对应的服务器通道号与所述参考标识不一致的情况下,确定所述第一标识与所述参考标识不匹配;在所述第一标识对应的服务器通道号与所述参考标识一致的情况下,确定所述第一标识与所述参考标识匹配。
具体的,第一标识为管理应用的通用唯一识别码,参考标识为历史管理应用的通用唯一识别码对应的服务器通道号,则第一标识对应的服务器通道号与参考标识不一致的情况下,确定第一标识与参考标识不匹配,反之。
示例性的,第一设备中存储有管理应用的通用唯一识别码(UUID)与服务器通道号之间的第一关联关系,第一设备可以基于该第一关联关系和第一标识,确定第一标识对应的服务器通道号,从而可以确定该第一标识对应的服务器通道号与参考标识是否一致。
一般地,通用唯一识别码(UUID)为128位的字符串,数据量较大。在本申请中,在第一设备内部采用与UUID对应的服务器通道号标识管理应用,例如参考标识具体为历史管理应用的UUID对应的服务器通道号。可理解的,服务器通道号一般为个位数,数据量较小,一方面可以为第一设备节省存储空间,另外一方面,在第一设备内部模块的通信中,若需要携带与管理应用对应的标识时,可以有效减小数据传输压力。
在一种可能的实现方式中,第一标识为管理应用的通用唯一识别码,参考标识为上述历史管理应用的通用唯一识别码。所述方法还包括:在所述第一标识与所述参考标识不一致的情况下,所述第一标识与所述参考标识不匹配;在所述第一标识与所述参考标识一致的情况下,所述第一标识与所述参考标识匹配。
在一种可能的实现方式中,所述一段时间内包括:所述第一设备被使用的整个过程、且所述第一设备未执行过恢复出厂设置和连接新管理应用的功能;或者,所述一段时间内包括:所述第一设备最近一次执行恢复出厂设置或连接新管理应用的功能之后的被使用过程。
第二方面,本申请提供一种应用连接方法,所述方法应用于第一设备,所述第一设备至少支持与两个管理应用建立数据通信连接,所述第一设备与第二设备具有配对关系,所述第二设备中安装有第一应用,所述第一应用为与所述第一设备配套的、所述第一设备支持连接的、用于使用所述第一设备的功能权限的管理应用,所述方法包括:所述第一设备接收所述第一应用发送的第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述电子设备建立数据通信连接;在参考标识为有效值、且所述参考标识表示的应用不为所述第一应用的情况下,响应于所述第一连接请求向所述第一应用发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求;所述参考标识为上一次与所述第一设备建立连接的历史管理应用的标识;所述参考标识为无效值用于表示在接收所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接;在所述参考标识为无效值的情况下,或者,在所述参考标识为有效值且所述参考标识表示所述第一应用的情况下,所述第一设备向所述第一应用发送第二连接响应,所述第二连接响应用于确认所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用。
由此,第一设备与任意一个第一设备支持连接的管理应用连接或切换连接的逻辑均一致,第一设备支持的一个或多个管理应用之间共用同一套代码逻辑,降低用户掌握相关功能的难度,改善用户体验。另外,采用参考标识用于记录穿戴设备上次连接的管理应用的标识,提供连接记忆功能,改善资源抢占问题,提高第一设备与管理应用的连接效率,降低在拉锯回连或穿戴设备重启回连场景中的资源抢占给第一设备与第二设备带来的性能损耗。
在一种可能的实现方式中,所述一段时间内包括:所述第一设备被使用的整个过程、且所述第一设备未执行过恢复出厂设置和连接新管理应用的功能;或者,所述一段时间内包括:所述第一设备最近一次执行恢复出厂设置或连接新管理应用的功能之后的被使用过程。
第三方面,本申请提供一种电子设备,所述电子设备包括蓝牙模块和微控制器;所述蓝牙模块,用于接收第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述电子设备建立数据通信连接;所述蓝牙模块,还用于向所述微控制器发送所述第一连接请求;所述微控制器,用于在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求向所述蓝牙模块发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用;所述蓝牙模块,还用于在接收到所述第一连接响应后,响应于所述第一连接请求发送所述第一连接响应。
上述电子设备,在拉锯回连或蓝牙重启回连的场景中,第一设备不接受与参考标识对应的管理应用不一致的管理应用发起的连接请求,改善资源抢占问题,提高第一设备与管理应用的连接效率,降低在拉锯回连或穿戴设备重启回连场景中的资源抢占给第一设备与第二设备带来的性能损耗。还可以避免攻击者利用优先级策略抢占穿戴设备的连接资源,改善安全性问题,降低数据安全风险,提高用户体验。另外,电子设备中的蓝牙模块主要用于接收和发送消息,不对是否接收第一连接请求做决策,而是由微控制器进行连接控制和决策。从而,蓝牙模块作为通信模块得到了解放,连接控制和决策由微控制器统一管理,架构清晰,逻辑简单。
在一种可能的实现方式中,所述微控制器,还用于在所述参考标识为有效值、且所述第一标识与所述参考标识匹配的情况下,响应于所述第一连接请求向所述蓝牙模块发送第二连接响应,所述第二连接响应用于确认所述第一连接请求;所述蓝牙模块,还用于在接收到所述第一连接响应后,响应于所述第一连接请求发送所述第一连接响应。
在一种可能的实现方式中,所述蓝牙模块,还用于接收第二连接请求,所述第二连接请求包括第二标识,所述第二连接请求表示所述第二标识对应的管理应用请求与所述第一设备建立数据通信连接;所述蓝牙模块,还用于向所述微控制器发送所述第二连接请求;所述微控制器,还用于在所述参考标识为无效值的情况下,响应于所述第二连接请求向所述蓝牙模块发送第二连接响应,所述第二连接响应用于确认所述第二连接请求,所述参考标识为无效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接;所述蓝牙模块,还用于在接收到所述第二连接响应后,响应于所述第二连接请求发送所述第二连接响应。
在一种可能的实现方式中,所述微控制器,还用于在所述响应于所述第二连接请求发送第二连接响应之后(具体为微控制器在确定与上述第一应用成功建立连接后),修改所述参考标识的取值为有效值。
在一种可能的实现方式中,所述微控制器,具体用于修改所述参考标识为所述第二标识;或者,修改所述参考标识为所述第二标识对应的服务器通道号。
在一种可能的实现方式中,所述微控制器在向所述蓝牙模块发送所述第二连接响应之后,还用于在第一时长内拒绝与除了所述第一应用之外的其他管理应用建立数据通信连接。
在一种可能的实现方式中,所述微控制器,具体用于在所述第一标识对应的服务器通道号与所述参考标识不一致的情况下,确定所述第一标识与所述参考标识不匹配;在所述第一标识对应的服务器通道号与所述参考标识一致的情况下,确定所述第一标识与所述参考标识匹配。
在一种可能的实现方式中,所述第一标识为管理应用的通用唯一识别码,在所述参考标识为有效值的情况下,所述参考标识为与历史管理应用的通用唯一识别码对应的服务器通道号,所述历史管理应用为上一次与所述第一设备建立数据通信连接的管理应用。
示例性的,上述蓝牙模块中存储有管理应用的通用唯一识别码与服务器通道号之间的第一关联关系,上述蓝牙模块在向微控制器发送第一连接请求之前,还需要确定与该第一标识对应的服务器通道号。蓝牙模块在向微控制器发送第一连接请求,具体为,向微控制器发送第一指令,该第一指令携带上述第一标识的服务器通道号,且该第一指令用于指示该第一连接请求。
可以理解的,上述第三方面提供的电子设备中包含的技术特征与第一方面中对应的方法相关,因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
第四方面,本申请实施例提供一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式、所述第二方面或第二方面的任意可能的实现方式所示的方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式、所述第二方面或第二方面的任意可能的实现方式所示的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行所述第一方面或第一方面的任意可能的实现方式、所述第二方面或第二方面的任意可能的实现方式所示的方法。
可以理解的,上述第四方面提供的芯片、第五方面提供的计算机程序产品和第六方面提供的计算机存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的应用连接方法的应用环境示意图;
图2为本申请实施例提供的一种其他应用连接方法的流程示意图;
图3为本申请实施例提供的一种其他应用连接方法的流程示意图;
图4为本申请实施例提供的一种采用其他应用连接方法app1的优先级高抢断app2与穿戴设备的连接资源的示意图;
图5为本申请实施例提供的一种在重启回连或拉锯回连场景中,采用其他应用连接方法穿戴设备处理app1、app2的连接请求的示意图;
图6为本申请实施例提供的一种采用本申请提供的应用连接方法,穿戴设备确定处理app2的连接请求的示意图;
图7为本申请实施例提供的一种在重启回连或拉锯回连场景中,采用本申请提供的应用连接方法,穿戴设备确定处理app1和app2的连接请求的示意图;
图8为本申请实施例提供又一种其他应用连接方法的流程示意图;
图9为本申请实施例提供一种采用其他应用连接方法,穿戴设备与app1、app2连接的示意图;
图10为本申请实施例提供一种应用连接方法的流程示意图;
图11为本申请实施例提供又一种应用连接方法的流程示意图;
图12为本申请实施例提供又一种应用连接方法的流程示意图;
图13为本申请实施例提供又一种应用连接方法的流程示意图;
图14为本申请实施例提供的电子设备100的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一不地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
本申请提供的应用连接方法中,两个与穿戴设备对应的功能类似的管理应用可以安装在同一个移动终端中也可以安装在两个不同的移动终端中,本文对此不做限定。
以下结合图1,详细介绍在两个管理应用安装在同一个移动终端中的场景下,本申请实施例提供的一种应用连接方法的应用环境示意图。
如图1所示,该应用环境示意图包括移动终端和穿戴设备,移动终端与穿戴设备之间建立有通信连接关系。
其中,移动终端A的设备类型或设备形态可以为移动终端或平板终端,移动终端A也可以是除了移动终端之外的其他设备类型或其他设备形态的电子设备,例如移动终端A还可以为桌面型计算机、膝上型计算机、手持计算机、或笔记本电脑等具备通信连接功能、且支持下载安装与穿戴设备对应的管理应用的电子设备,本文对此不做限定。穿戴设备可以为手环、手表等具备通信连接功能的电子穿戴设备,另外,该穿戴设备还可以是其他形态的电子设备,例如车载设备,本文对此不做限定。
移动终端A与穿戴设备之间通信方式、或称管理应用app1或管理应用app2与穿戴设备之间的通信方式,可以是蓝牙通信、通用串行总线USB通信、无线保真WIFI通信、或NFC通信,本文对此不做限定。
移动终端A中安装有app1和app2,该app1与app2均为与穿戴设备对应的管理应用。在本申请中,穿戴设备的管理应用是指与穿戴设备连接后能够使用穿戴设备的相关功能或权限的应用。例如,穿戴设备为荣耀手环,荣耀运动健康app为该荣耀手环的管理应用。
示例性的,app1或app2可以基于移动终端A与穿戴设备的蓝牙配对关系的基础上建立蓝牙串口协议(serial port profile,SPP)连接。
在本申请中,移动终端A中安装的app1和app2与穿戴设备之间建立通信连接的前提是,移动终端A与穿戴设备之间建立有初始通信连接。在图1中,移动终端A与穿戴设备之间的通信方式以蓝牙通信示出。在本申请中,若移动终端A与穿戴设备之间的通信方式为蓝牙通信,则移动终端A与穿戴设备之间建立有初始通信连接是指移动终端A与穿戴设备已完成配对。
在本申请中,上述app1和app2为与同一穿戴设备对应的管理应用,但app1与app2中具体的配置信息不一致。示例性的,该app2为旧的管理应用,该穿戴设备对应的厂商针对该穿戴设备的管理应用相关的功能和/或用户界面进行了大改造,开发了一个新的管理应用app1,用于代替该app2。但厂商考虑到用户需求和/或app1还在开发阶段时功能未十分完善等因素,不能弃用app2。例如,一些用户想体验新的app1的功能,另外一些用户想保留之前在app2上设置的个性化配置信息,基于此,厂商认为不能弃用app2。又例如,app1还处于开发阶段,功能还不是十分完善,为了在将app2过渡到app1的期间,可以给用户提供更好的服务,厂商认为还不能弃用app2,也即穿戴设备需要支持连接app1和app2。
在本申请中,穿戴设备至少支持同时与两个管理应用连接(或称绑定),然而,可理解的,app1和app2同为穿戴设备的管理应用,app1和app2中可能会存在一些数据和/或指令是互相冲突的,基于此,穿戴设备在同一时间内理应只能与app1和app2中的其中一个管理应用建立通信连接。
下面结合一些其他的应用连接方法详细说明本申请实施例中提供的应用连接方法的优势:
以管理应用与穿戴设备的通信方式为蓝牙通信为例,在一些其他的应用连接方法中,在穿戴设备需要支持连接新的管理应用app1和旧的管理应用app2中的任意一个应用的情况下,其连接逻辑是新的管理应用app1的优先级高于旧的管理应用app2的优先级,app1可以抢占app2的连接资源。
示例性的,如图2所示,移动终端安装有与手环对应管理应用app1和app2;穿戴设备中与蓝牙连接相关的模块包括蓝牙模块(bluetooth module,BT模块)和微控制器(microcontroller unit,MCU),其中BT模块主要用于执行与蓝牙通信相关的任务,MCU主要用于进行计算以及存储一些蓝牙数据。上述其他的应用连接方法可以包括:
S201,穿戴设备与移动终端已配对成功。
S202,穿戴设备当前已与app2成功连接。
S203,app1向穿戴设备中的蓝牙模块(BT模块)发送连接请求,相应地,BT模块接收该app1发送的连接请求。
也即,在穿戴设备当前与app2连接的情况下,穿戴设备接收到用户发起的连接app1的消息,也可以理解为用户想要将连接app2切换为连接app1。
S204,BT模块基于app1的优先级高于app2,确定同意与app1连接。
S205,BT模块向app1发送同意连接的请求结果,相应地,app1接收BT模块发送的该同意连接的请求结果。
S206,BT模块向app2发送断开连接的指令,相应地,app2接收BT模块发送的断开连接的指令。
S207,穿戴设备与app1成功连接。
可理解的,在穿戴设备的连接逻辑中,app1的优先级高于app2,则在当前穿戴设备与app2建立了连接的情况下,app1请求连接,则BT模块穿戴设备会同意该app1的连接请求并断开与app2的连接,也即app1可以抢占app2的连接资源,从而BT模块会向app1发送同意连接的指令,向app2发送断开连接指令,最终app1与穿戴设备成功连接。
可理解的,上述步骤S205和S206可以同时执行也可以先后执行且先后顺序不限定。
可理解的,app1和app2安装在同一个移动终端中仅为示例,上述app1和app2也可以分别安装在移动终端A和移动终端B中,本文对此不做限定。
如图3所示,在一种可能的实现方式中,上述其他的应用连接方法还可以包括:
S301,穿戴设备已与移动终端已配对成功。
S302,穿戴设备当前已与app1成功连接。
例如,参照上述步骤S201至S207,穿戴设备由连接app2切换为连接app1,则在上述步骤S207之后,穿戴设备与app1成功连接。或者,穿戴设备与app1的成功连接不是从app2切换为连接app1,而是在穿戴设备未与任一个管理应用连接的情况下,穿戴设备接收到app1的连接请求,随后app1与穿戴设备成功连接。
S303,app2向BT模块发送连接请求,相应地,BT模块接收app2发送的连接请求。
示例性的,在穿戴设备当前与app1连接的情况下,接收到连接app2的指令,也可以理解为用户想要将连接app1切换为连接app2。
S304,BT模块基于app1的优先级高于app2的优先级,确定拒绝与app2的连接。
S305,BT模块向app2发送拒绝连接。
如需连接app2,可操作手表连接新手机或恢复出厂设置,以及在app1上删除手表设备。也即若用户需要将连接的管理应用切换为app2,需要操作穿戴设备上的连接新移动终端或称连接新管理应用的功能,或在穿戴设备上执行恢复出厂设置的功能,以及在app1上删除穿戴设备(也可以理解为在app1上删除与穿戴设备的连接和配对关系)。
综上可得,该其他的应用连接方法,新的管理应用app1优先级高于旧的管理应用app2的优先级,app1可以抢占app2的连接资源,也即若用户想要从app2切换至app1,只需要在app1的相关页面发起连接穿戴设备的连接请求,然后穿戴设备就会自动将连接app2切换至连接app1;但app2不能抢占app1的连接资源,想要从app1切换至app2,则需要在穿戴设备上操作连接新移动终端的功能或在穿戴设备上执行恢复出厂设置的功能。
这种连接逻辑,一方面,app1、app2的优先级不一致、连接或切换连接的逻辑不一致,两个app分别有一套不同的操作,会增大用户掌握相关功能的难度。
另外一方面,这种连接逻辑,存在较大的安全风险。示例性的,如图4中的4a所示,移动终端B中的app2与穿戴设备已建立连接,而如图4中的4b所示,攻击者可以在通过另外一个移动终端(例如移动终端A)使用app1抢占app2的连接资源,如图4中的4c所示,由于app1的优先级更高,app1会抢占该app2的连接资源,抢占穿戴设备的使用权限。另外,如图4中的4d所示,app1抢占连接资源后,用户再使用app2向穿戴设备发起连接请求,则如图4中的4e所示,穿戴设备会拒绝该app2的连接请求,继续保持与app1的连接。如此,管理应用的连接资源无故被占用,会给用户造成困扰,若用户未及时发现连接资源被抢占的问题,会造成用户的隐私数据泄露,以及攻击者可以通过app1使用穿戴设备进行不法行为等,存在较大的数据安全风险。又例如,用户当前通过移动终端A中的旧的管理应用与穿戴设备连接,且设置了进入该旧的管理应用的页面时,需要输入密码,攻击者通过一些手段拿到该移动终端后,原本该攻击者由于不知道该旧的管理应用的密码、无法通过该移动终端中安装的该旧的管理应用控制穿戴设备,但攻击者可以在该移动终端中下载安装该新的管理应用,并在该新的管理应用的页面中搜索该穿戴设备,并抢占旧的管理应用与穿戴设备的连接资源,进行通过该新的管理应用操作穿戴色板,从而造成用户的隐私数据泄露等问题,存在较大的数据安全风险。
再一方面,假设app1与app2均与穿戴设备建立过通信连接,在拉锯回连或穿戴设备重启回连的场景中,连接逻辑是穿戴设备先接收到哪个应用的连接请求就先连接哪个应用,若连接的应用不为优先级最高的那个应用(也即不为app1),则app1可以抢占连接资源,则可能会出现资源抢占、连接效率低下、性能损耗增大的问题,还可能出现连接上的应用不是用户期望连接的应用的问题。可理解的,重启回连可以为穿戴设备侧或移动终端侧的蓝牙功能关闭再开启后,app1和app2主动向穿戴设备发起回连。具体可以为,用户点击开关蓝牙功能的操作控件,也可以是移动终端整机或穿戴设备整机重启、或关机后再开机致使其中一侧的蓝牙功能关闭后再开启,引发app1和app2主动向穿戴设备发起回连。
例如,在拉锯回连或穿戴设备重启回连的场景中,如图5中的5a所示,app1和app2均向穿戴设备发起连接请求,如图5中的5b所示,在该场景下穿戴设备在处理app1和app2的连接请求时,可能app2的连接请求处理更快,穿戴设备可能先与app2连接上;穿戴设备在已与app2连接的基础上,继续处理app1的连接请求,如图5中的5c所示,则由于app1的优先级比app2更高,穿戴设备会断开与app2的连接与app1建立。若穿戴设备上一次连接的管理应用是app1,用户本来就希望与app1连接上,则这种连接逻辑会存在资源抢占、连接效率低下、性能损耗增大的问题。而若穿戴设备上一次连接的管理应用是app2,则认为用户当前期望连接的管理应用是app2,但拉锯回连后(例如用户戴着穿戴设备远离移动终端去处理事情,使得穿戴设备和移动终端在蓝牙的极限通信范围内断开,但随后用户处理完事情后又戴着穿戴设备靠近移动终端,使得穿戴设备和移动终端的距离小于蓝牙通信范围,移动终端中的管理应用主动与穿戴设备拉锯回连)穿戴设备最终与app1连接,而不是用户期望连接的app2,出现连接上的应用不是用户期望连接的应用的问题,也可以理解为连接逻辑错误的问题。
然而,本申请提供的应用连接方法,穿戴设备支持与同一个移动终端中安装的或不同的移动终端中安装新的管理应用或旧的管理应用中的任意一项连接,穿戴设备中设置有用于记录上一次连接的管理应用的标识的参考标识;当穿戴设备接收到第一管理应用(该第一管理应用可以为新的管理应用或旧的管理应用)发送的连接请求后,穿戴设备确定上述参考标识是否为初始值;若参考标识为初始值,则穿戴设备向该第一管理应用发送同意连接的指令,并获取该第一管理应用的标识,将该参考标识赋值为该第一管理应用的标识。若参考标识不为初始值,则穿戴设备确定该第一管理应用的标识与该参考标识是否一致,若一致,则穿戴设备向该第一管理应用发送同意连接的指令,若不一致,则穿戴设备向该第一管理应用发送拒绝连接的指令。若用户希望穿戴设备连接上被拒绝连接的管理应用,则可以在穿戴设备上操作连接新移动终端(或称新管理应用)的功能或对穿戴设备进行恢复出厂设置的操作。
可理解的,当用户选定使用一个管理应用后,一般后续也仍会希望继续使用该管理应用,也即用户当前期望穿戴设备连接上的管理应用是穿戴设备上次连接使用的管理应用。基于此,在本申请提供的应用连接方法中,不为新的管理应用和旧的管理应用额外设置连接优先级,而是让穿戴设备根据接收到的用户操作确定与新的管理应用和旧管理应用中的哪一个应用连接;例如,若参考标识为初始值,穿戴设备根据用户操作接收到的首次连接请求是新的管理应用发起的,则默认穿戴设备之后仅同意该新的管理应用的连接请求。若穿戴设备根据用户操作接收到的首次连接请求是旧的管理应用发起的,则默认穿戴设备之后仅同意该旧的管理应用的连接请求,若需要更换连接逻辑,则用户可以在穿戴设备中操作连接新管理应用的功能或对穿戴设备进行恢复出厂设置的操作以及在已连接的管理应用中删除与穿戴设备的绑定关系。
采用本申请提供的应用连接方法,一方面,不额外设置优先级,新的管理应用和旧的管理应用的连接或切换连接的逻辑一致,两个app共用一套相同的操作,降低用户掌握相关功能的难度。
另外一方面,不额外设置连接优先级,提供连接记忆功能,保存穿戴设备上次连接的管理应用的标识,穿戴设备仅会同意上一次连接的管理应用的连接请求,相当于穿戴设备仅支持与一个管理应用进行通信连接。由此,改善连接资源抢占的问题,攻击者无法再利用优先级策略而抢占穿戴设备的连接资源(也即避免出现如图4所示的连接错误带来的安全风险问题),改善安全性问题,降低数据安全风险。
示例性的,如图6中的6a所示,app2已与穿戴设备建立连接后,app1向穿戴设备发送连接请求,如图6中的6b所示,穿戴设备基于上一次与穿戴设备连接的app为app2而不为app1,则拒绝app1的连接请求,不会出现优先级抢占问题。
再一方面,采用参考标识用于记录穿戴设备上次连接的管理应用的标识,提供连接记忆功能,在拉锯回连或穿戴设备重启回连的场景中,穿戴设备仅会与上述参考标识中记录的管理应用连接。在拉锯回连或重启回连的场景中,不会再出现以下问题:穿戴设备先连接的管理应用不为优先级最高的应用,而优先级更高的管理应用则可以抢占连接资源,出现资源抢占、连接效率低下、性能损耗增大的问题,也即避免出现如图5所示的回连时的资源抢占或连接错误问题。由此,改善资源抢占问题,提高连接效率,降低在拉锯回连或蓝牙重启回连场景中穿戴设备以及移动终端交互产生的性能损耗,解决在拉锯回连或穿戴设备重启回连场景中连接上的应用不是用户期望连接的应用的问题。
示例性的,如图7中的7a所示,穿戴设备上一次与app2连接,且穿戴设备与app1建立过连接,如图7中的7b所示,穿戴设备或移动终端(安装了app1和/或app2的移动终端)重启后,app1和app2与穿戴设备发生重启回连的场景中,或,app1和app2与穿戴设备拉锯回连的场景中,app1和app2均会主动向穿戴设备发送连接请求,如图7中的7c所示,穿戴设备基于app2为穿戴设备上一次连接的,app1不为穿戴设备上一次连接的,则穿戴设备同意与app2建立连接,而拒绝与app1建立连接,改善资源抢占问题,提高连接效率。
请参阅图8,图8为对图2和/或图3所示的应用连接方法进行改进后得到的另外一种其他的应用连接方法,该其他的应用连接方法可以为:
S801,穿戴设备与移动终端已配对成功。
S802,app向BT模块发送连接请求,相应地,BT模块接收app发送的该连接请求。
在如图8所示的该其他的应用连接方法中,移动终端可以为上述移动终端A或移动终端B,若移动终端为移动终端A,则app为上述app1,若移动终端为移动终端B,则app为上述app2。
S803,BT模块不处理app发送的连接请求,默认均同意与该app连接。
S804,BT模块向app发送同意连接的请求结果,相应地,app接收BT模块发送的同意连接的请求结果。
S805,app向BT模块发送appID1,相应地,BT模块接收该appID1。
示例性的,该appID1为与app对应的预设标识,例如预设的数据段中的某一bit位为1用于表示该app为新的管理应用,某一bit位为0用于表示该app为旧的管理应用。
S806,BT模块向MCU透传该appID1,相应地,MCU接收该BT模块发送的该appID1。
S807,MCU确定本地保存的appID2的值是否为初始值。
S808,若appID2为初始值,或者,appID2不为初始值且appID1与appID2的取值相同,则MCU确定同意与app连接。
也即若appID2为初始值、或appID2不为初始值且appID1与appID2的取值相同,则执行步骤S808至步骤S811。
S809,MCU向BT模块发送同意与app连接的请求结果,相应地,BT模块接收MCU发送的该同意与app连接的请求结果。
S810,BT模块向app发送同意连接的请求结果,相应地,app接收该同意连接的请求结果。
S811,app与穿戴设备连接成功,且MCU将appID2的取值赋值为该appID1。
S812,若在步骤S807中确定appID2不为初始值且appID1与appID2的取值不相同,则MCU确定断开与app连接。
也即若appID2不为初始值且appID1与appID2的取值不相同,则执行步骤S812至步骤S815。
S813,MCU向BT模块发送断开与app连接的处理结果,相应地,app接收BT模块发送的该断开与app连接的处理结果。
S814,BT模块向app发送断开连接的处理结果。
S815,app与穿戴设备连接失败,如需连接app,可操作穿戴设备连接新移动终端或恢复出厂设置。
经测试后发现,如图8所示的该其他的应用连接方法,穿戴设备与管理应用进行通信连接的时序稳定性问题和数据安全性问题有待改善。
示例性的,由于BT模块不对连接请求进行处理,且BT模块默认向请求连接的app发送同意连接的请求结果以便于app向BT模块发送appID1,则可能会存在BT模块在与一个管理应用app建立连接后,另外一个管理应用app向BT模块发送连接请求、且BT模块也会同意该另外一个管理应用app发送的连接请求,如此会由于时序稳定性差使得BT模块可能会同时与两个管理应用app连接。例如如图9中的9a所示,app1已与穿戴设备建立连接,app2向BT模块发送连接请求,如图9中的9b所示,BT模块为获取该app2的appID会默认同意与app2建立连接,则此时app1与app2均与穿戴设备连接。如图9中的9c所示,当BT模块获取到该app2的appID,确定该app2不为穿戴设备上一次连接的管理应用,MCU会确定断开与app2的连接。但是在MCU确定与其中一个app建立连接并断开另外一个app与BT模块的连接之前,图9中的9b所示的app1与app2均与穿戴设备连接的这段时间内可能会出现以下问题:(1)BT模块同时与两个管理应用连接,若其中一个管理应用为攻击者在操作,则攻击者可以利用这一间隙操作穿戴设备进行不法行为,存在较大的数据安全风险。(2)BT模块同时与两个管理应用连接,两个管理应用可能会存在相互冲突的功能配置,存在不可预知的执行错误,对设备的稳定性带来不好影响,还可能给设备带来一些不可预知的功耗。(3)BT模块同时与两个管理应用连接,但app仅会在接收到BT模块发送的同意连接的指令后向BT模块发送appID1,在BT模块与app连接建立之后,app与BT模块的数据交互不会再发送该appID1,而BT模块又同时与两个管理应用连接,则会出现BT模块无法分辨消息来自于哪个应用的问题,存在安全风险。
然而,采用本申请提供的应用连接方法,穿戴设备中建立有与支持的管理应用的UUID对应的服务器,并为该服务器分配通道号,以及记录管理应用的UUID与对应的服务器通道号码(server channel number,SCN)之间的关联关系。当穿戴设备接收到第一管理应用(app)发起的携带UUID的连接请求后,穿戴设备可以基于该UUID和该SCN确定该app期望连接的服务器。由此,穿戴设备中的BT模块在接收到app的连接请求后,不需要再向app发送同意连接以获取app的appID1,也即在步骤S803和S804中,BT模块不需要确定以及不需要再向app发送同意连接的请求结果,从而较大概率地避免出现如图9中9b所示的,穿戴设备同时与app1以及app2连接的安全性问题。
并且,在另外一些可能的实现方式中,本申请提供的应用连接方法,当穿戴设备确定同意与第一管理应用连接后,设置与预设时长对应的定时器,在该预设时长内拒绝除了该第一管理应用之外的其他管理应用的连接请求。
由此,采用本申请提供的应用连接方法,可以避免BT模块同时与app1、app2建立连接的问题,提高通信连接的时序稳定性、数据安全性、以及避免BT模块同时与app1、app2建立连接,造成的未知功耗的问题。
示例性的,以下结合图10中所示的步骤信息,详细介绍本申请提供的应用连接方法,该方法主要包括:穿戴设备中建立有与第一app的UUID对应的服务器server,第一app作为client端向BT模块发起上述连接请求(具体参照步骤S1002),BT模块基于该连接请求确定穿戴设备中建立有该第一app请求连接的服务器后,BT模块向MCU模块发送与该第一app对应的SCN1以及该连接请求(具体参照步骤S1003至S1004),MCU在确定用于记录穿戴设备上一次连接的管理应用的SCN2为初始值的情况下,或者MCU在确定该SCN2不为初始值且SCN1与SCN2一致的情况下,MCU确定同意与该第一app建立通信连接(具体参照步骤S1006至S1010,以及S1011至S1016);MCU在确定该SCN2不为初始值且SCN1与SCN2不一致的情况下,MCU确定拒绝与该第一app建立通信连接(具体参照步骤S1017至S1020)。具体的,该方法包括但不限于以下步骤:
S1001,穿戴设备与移动终端已配对成功。
可理解的,移动终端与穿戴设备进行配对是指移动终端与穿戴设备的首次通讯认证,该首次通讯认证过程可以使得移动终端与穿戴设备建立初始蓝牙通信连接,用于在一定程度上保证后续穿戴设备与移动终端中的管理应用进行蓝牙通信的安全性。
在本申请中,穿戴设备仅支持与一个移动终端配对。例如,若穿戴设备已与一个移动终端A配对,则穿戴设备不支持与除了该移动终端之外的其他移动终端(例如移动终端B)进行配对连接,若穿戴设备需要与移动终端B配对,则可以对穿戴设备执行恢复出厂设置或连接新手机的功能,以及在移动终端A中删除与穿戴设备的配对关系。
示例性的,穿戴设备与移动终端进行蓝牙配对包括:穿戴设备与移动终端基于个人身份识别(personal identification number,PIN)码建立约定的链路秘钥(link key)也可以理解为建立蓝牙通信通道,后续移动终端中的管理应用可以在该蓝牙通信通道的基础上与穿戴设备建立蓝牙串口协议(serial port profile,SPP)连接。
一般地,上层应用可以调用移动终端中提供的蓝牙对外接口中的相关函数以实现蓝牙搜索、蓝牙配对、蓝牙连接、以及蓝牙断开等蓝牙功能。也就是说,移动终端可以在蓝牙设备界面与穿戴设备建立配对关系,也可以通过移动终端中安装的管理应用app与穿戴设备建立配对关系。
示例性的,在穿戴设备执行连接新移动终端(连接新手机)的功能后,穿戴设备发送可发现可连接的非定向蓝牙广播包,若移动终端与穿戴设备属于同一厂商的电子设备,且移动终端与穿戴设备的距离足够近,则移动终端可以基于蓝牙靠近发现的技术接收到该穿戴设备发送的蓝牙广播包,并在移动终端的屏幕上弹框显示与该穿戴设备相关的信息(例如该穿戴设备的设备名称),以及提示用户输入是否与穿戴设备建立配对关系。若移动终端接收到用户输入的确定与穿戴设备配对的指令后,则移动终端默认启用第一app,跳转至第一app对应的页面(也可以是默认其他管理应用,本文对此不做限定),基于该上层应用第一app向蓝牙从设备(穿戴设备)发送蓝牙配对请求,以使得移动终端与穿戴设备进行蓝牙配对。
或者,示例性的,也可以在移动终端的蓝牙设置页面,搜索蓝牙周边设备,并在发现上述穿戴设备、且在该蓝牙设置页面接收到关于该穿戴设备的点击操作后,则移动终端默认启用第一app并跳转至第一app对应的页面。基于该上层应用第一app调用蓝牙对外接口中相应的函数向蓝牙从设备(穿戴设备)发送蓝牙配对请求,以使得移动终端与穿戴设备进行蓝牙配对。
或者,示例性的,还可以在第一app对应的页面,点击搜索设备,基于该上层应用第一app调用蓝牙对外接口中相应的函数搜索蓝牙周边设备,并在发现上述穿戴设备后,基于该上层应用第一app调用蓝牙对外接口中相应的函数向蓝牙从设备(穿戴设备)发送蓝牙配对请求,以使得移动终端与穿戴设备进行蓝牙配对。
S1002,第一app向穿戴设备中的蓝牙模块(BT模块)发送连接请求,相应地,BT模块接收第一app发送的该连接请求。
在本申请中,移动终端中安装有第一app,该第一app为与穿戴设备对应的管理应用。
示例性的,在移动终端与穿戴设备配对之后,第一app可以基于SPP协议与穿戴设备建立SPP连接,以便于通过该第一app使用穿戴设备的相关功能权限。
具体的,在移动终端与穿戴设备配对的基础上,第一app调用蓝牙对外接口与服务发现协议(service discovery protocol,SDP)对应的函数获取穿戴设备的设备信息、服务器信息,若第一app确定该穿戴设备中建立有与该第一app对应的服务器,则第一app向该穿戴设备发起SPP连接。具体的,第一app作为client端向穿戴设备发起携带UUID的连接请求,穿戴设备接收到该连接请求后,确定本机是否建立有与该UUID对应的服务器,若是,则穿戴设备基于本机预先设置的连接策略确定是否同意与该穿戴设备建立连接,其中,本申请提供的应用连接方法主要针对该穿戴设备本机预置的连接策略进行改进。若否,则穿戴设备不响应该连接请求。
示例性的,第一app可以在穿戴设备与移动终端配对好之后,主动向穿戴设备中的BT模块发送上述连接请求,或者,第一app与移动设备建立过数据通信连接之后,在穿戴设备或移动终端的蓝牙重启之后,或,穿戴设备与移动终端拉锯断连之后,第一app也可以主动向BT模块发送上述连接请求。
在本申请实施例中,穿戴设备仅支持与特定的管理应用进行蓝牙连接,在穿戴设备中存储有支持连接的管理应用的通用唯一识别码(universally unique identifier,UUID)。
在本申请实施例中,穿戴设备在开机后,会建立与支持连接的管理应用的UUID对应的服务器server,并为该server分配对应的SPP通信的通道号。例如,穿戴设备支持与app1和app2连接,app1的UUID为UUID1,app2的UUID为UUID2,则穿戴设备在开机后,建立有与该UUID1对应的服务器server1,并为该server1分配通道号,例如server1对应的通道号为3,以及建立与该UUID2对应的服务器server2,并为该sever2分配通道号,例如sever2对应的通道号为7。
可理解的,BT模块可以基于上述第一app发送的连接请求确定该第一app的UUID,进而确定穿戴设备是否支持与该第一app进行通信连接。具体的,若BT模块确定穿戴设备中建立有与该第一app的UUID对应的服务器(sever),则说明该穿戴设备支持与该第一app进行通信连接,BT模块在接收到连接请求后会继续与MCU进行交互进一步确定是否与该第一app建立通信连接。若BT模块确定穿戴设备中未建立有与该第一app的UUID对应的服务器,则说明该穿戴设备不支持与该第一app进行通信连接,则不会执行以下步骤S1003至S1020。
在本申请中,均假设穿戴设备中建立有与该第一app的UUID对应的服务器,穿戴设备支持与该第一app进行通信连接。
示例性的,第一app为app1,BT模块接收到上述连接请求后,可以确定到该app1作为客户端(client)需要连接的服务器为上述serve1。
S1003,BT模块确定与第一app对应的标识SCN1。
在本申请实施例中,BT模块中还记录有管理应用的UUID与SCN之间的第一关联关系,与第一app的UUID对应的SCN,该SCN为穿戴设备生成的或者也可以理解为穿戴设备为对应的管理应用分配的唯一标识。示例性的,第一app对应的SCN1为穿戴设备中与该第一app对应的server的通道号,例如第一app为app1,则该SCN1即为上述通道号3。可理解的,该SCN1也可以是其他预设与通道号无关的取值,本文对此不做限定。
可理解的,第一app对应的UUID一般为128位的字符串,数据量较大,而采用通道号在穿戴设备内部(BT模块和MCU之间)标识该第一app,可以有效减小数据传输压力。
示例性的,上述第一app发送的连接请求中携带UUID,BT模块可以基于该连接请求和上述第一关联关系确定与该第一app对应的SCN1。
S1004,BT模块向穿戴设备中的微控制器(MCU)发送指令A,该指令A携带该SCN1,相应地,MCU接收BT模块发送的该指令A。
在本申请实施例中,BT模块向MCU发送的上述指令A与BT模块接收到的第一app发送的上述连接请求可以相同,也可以不相同,本文对此不做限定。
示例性的,上述连接请求为包含第一app的UUID等信息的连接请求,而上述指令A可以为预设的指令,例如预设的,采用携带SCN的指令A表示该SCN对应的管理应用请求与穿戴设备建立通信连接。
在本申请实施例中,BT模块主要用于接收和发送消息,不对是否与第一app连接做决策,而是由MCU进行连接控制和决策。从而,BT模块作为通信模块得到了解放,连接控制和决策由MCU统一管理,架构清晰,逻辑简单。
S1005,MCU确定本地存储的SCN2是否为初始值。
在本申请实施例中,MCU中记录有SCN2,该SCN2用于指示穿戴设备上一次连接的管理应用的标识。
示例性的,若穿戴设备第一次开机使用后、或在最近一次执行恢复出厂设置操作后未与管理应用建立过通信连接,则SCN2的取值为初始值(例如初始值可以为null或undefined等)。
示例性的,若穿戴设备第一次开机使用后,未执行过恢复出厂设置的操作、且穿戴设备与app1建立过数据通信连接,则该SCN2的取值与该app1对应的SCN(也即SCN1)一致。或者,穿戴设备执行过恢复出厂设置的操作、且穿戴设备最近一次执行恢复出厂设置后,穿戴设备与app1建立过数据通信连接,则该SCN2的取值与该app1对应的SCN(也即SCN1)一致。
示例性的,若穿戴设备第一次开机使用后,未执行过恢复出厂设置的操作、且穿戴设备与app2建立过数据通信连接,则该SCN2的取值与该app2对应的SCN(也即SCN3)一致。或者,穿戴设备执行过恢复出厂设置的操作、且穿戴设备最近一次执行恢复出厂设置后,穿戴设备与app2建立过数据通信连接,则该SCN2的取值与该app1对应的SCN(也即SCN1)一致。
在本申请实施例中,穿戴设备本地存储的该SCN2为掉电不丢失的数据,需要采用掉电不丢失的存储空间(例如带电可擦可编程只读存储器EEPROM)存储该SCN2。可理解的,BT模块中的EEPROM存储空间非常有限,相对而言,MCU中的EEROM存储空间更多,而本申请采用MCU中的带电可擦可编程只读存储器EEPROM存储该SCN2,而不是在BT模块中消耗EEPROM存储空间存储该SCN2,可以有效减少BT模块的存储压力。
其中,若MCU确定本地保存的SCN2的值为初始值,则执行步骤S1006至S1010。若MCU确定本地保存的SCN2的值不为初始值,则执行步骤S1011。
S1006,若SCN2为初始值,则MCU确定同意与第一app连接。
也就是说,若穿戴设备第一次开机使用后、或在最近一次执行恢复出厂设置操作后未与管理应用建立过通信连接,则MCU确定同意与第一app连接。
S1007,MCU向BT模块发送同意与第一app连接的请求结果,相应地,BT模块接收MCU发送的该同意与第一app连接的请求结果。
S1008,BT模块向第一app发送同意连接的请求结果,相应地,第一app接收该同意连接的请求结果。
S1009,MCU在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内MCU拒绝除了该第一app之外的其他管理应用发起的连接请求。
示例性的,该L1时长可以为10s(秒)。或者,也可以基于样本数据中管理应用与穿戴设备成功连接所使用的时长中的最大时长确定该L1时长,本文对此不做限定。
可理解的,上述步骤S1007与S1009或上述步骤S1008与S1009可以同时执行或先后执行,且本文对其先后顺序不做限定。
MCU在确定同意与第一app连接后,设置L时长的定时器,由此,改善在穿戴设备同意与第一app的连接到穿戴设备与第一app成功连接期间,其他管理应用发起连接请求造成的时序稳定性和数据安全性问题。
在另外一些可能的实现方式中,若MCU在L1时长内接收到与第一app成功连接的信令,也即步骤S1010中穿戴设备与第一app连接成功执行完毕,且该L1时长的定时器还未结束的情况下,穿戴设备也可以提前结束或提前销毁与该L1对应的定时器,减少穿戴设备中进行的进程的数量,降低性能损耗。
在另外一些可能的实现方式中,也可以是MCU在接收到与第一app的连接请求相关的上述SCN1后(也即在步骤S1004之后)就设置L2时长的定时器,而不是在MCU确定同意与第一app的连接请求后设置上述L1时长的定时器,本文对此不做限定,该L2时长与L1时长相同或不相同(例如L2为5s)。或者,也可以是MCU在接收到上述SCN1后就设置L2时长(例如该L2为2s)的定时器,并在MCU确定同意与第一app的连接请求后结束该L2时长的定时器,设置上述L1时长的定时器。
在本申请中,设置该L1时长的定时器是可选的方案,在另外一些可能的实现方式中,基于具体需求,也可以不设置该L1时长的定时器,本文对此不做限定。
可理解的,若穿戴设备中存储的上述SCN2的取值为初始值,则按照规则穿戴设备会同意与该第一app连接,但是在穿戴设备接收到第一app的连接到穿戴设备与第一app成功连接的期间,或在穿戴设备同意与第一app连接穿戴设备与第一app成功连接的期间,穿戴设备可能会接收到第二app的连接请求,且由于一些原因,穿戴设备处理第二app的连接进程比处理第一app的连接进程更快,导致穿戴设备先与第二app连接,致使第一app的连接资源被抢断而连接失败,出现资源抢占问题,如此会存在一定的数据安全风险,例如该第二app可能是攻击者的电子设备中安装的管理应用。
而若穿戴设备在接收到关于第一app的连接请求后就设置定时器、和/或在确定同意与第一app连接后设置上述L1时长的定时器,可以改善穿戴设备接收到第一app的连接到穿戴设备与第一app成功建立连接的期间,或在穿戴设备同意与第一app连接到穿戴设备与第一app成功建立连接的期间,穿戴设备接收到其他管理应用的连接请求,导致的资源抢占问题,降低数据安全风险,提高时序稳定性和数据安全性。
S1010,穿戴设备与第一app连接成功,且MCU将SCN2的取值赋值为该SCN1。
在本申请实施例中,穿戴设备与第一app连接成功是指穿戴设备与第一app之间建立有进行数据通信的通信通道。示例性的,穿戴设备与第一app连接成功是指穿戴设备与第一app之间建立有SPP连接。
示例性的,穿戴设备与第一app之间建立通信通道具体包括:第一app与穿戴设备配对成功后,在穿戴设备中建立有与第一app对应的服务器端(也即server端);当第一app需要与穿戴设备建立连接时,第一app建立客户端(也即client端),从而穿戴设备与第一app之间可以基于TCP/IP通信协议或UDP通信协议建立该server端和该client端之间的通信连接。本文关于app1与穿戴设备成功连接、app2与穿戴设备成功连接、第一app与穿戴设备成功连接的相关涵义均与此类似。
在本申请实施例中,SCN2用于指示穿戴设备上一次连接的管理应用的标识,则在SCN2的值为初始值、且穿戴设备与第一app连接成功的情况下,则需要将SCN2的取值修改为与该SCN1一致的取值。
可选的,穿戴设备与第一app连接成功后,可以在穿戴设备侧和/或移动终端侧输出第一提示信息,该第一提示信息用于提示穿戴设备与第一app连接成功。
可理解的,第一app与穿戴设备成功连接是在移动终端与穿戴设备配对成功之后,其中,移动终端与穿戴设备完成配对是指移动终端与穿戴设备完成了首次通讯认证,第一app与穿戴设备成功连接是指app2与穿戴设备建立有可以进行数据通信的通信通道,示例性的第一app与穿戴设备之间基于SPP协议进行通信连接。
S1011,若SCN2不为初始值,则MCU确定SCN1与SCN2是否一致。
在本申请实施例中,若步骤S1005中MCU确定本地保存的SCN2的值不为初始值,则执行步骤S1011。
其中,若SCN1与SCN2的取值一致,则执行步骤S1012至S1016。若SCN1与SCN2的取值不一致,则执行步骤S1017至S1020。
S1012,若SCN1与SCN2一致,则MCU确定同意与第一app连接。
在本申请实施例中,SCN1与SCN2的取值一致,则说明穿戴设备上一次连接的管理应用即为该第一app,则MCU确定同意与该第一app连接。
具体的,若穿戴设备第一次开机使用后未执行过恢复出厂设置的操作且穿戴设备与第一app建立过数据通信连接,或者,穿戴设备执行过恢复出厂设置的操作且穿戴设备最近一次执行恢复出厂设置后,穿戴设备与第一app建立过数据通信连接,则上述SNC2即为与第一app对应的SNC1,也即SCN1与SCN2一致,从而MCU会确定同意与第一app连接。
S1013,MCU向BT模块发送同意与第一app连接的请求结果,相应地,BT模块接收MCU发送的该同意与第一app连接的请求结果。
S1014,BT模块向第一app发送同意连接的请求结果,相应地,第一app接收该同意连接的请求结果。
S1015,MCU在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内MCU拒绝除了该第一app之外的其他管理应用发起的连接请求。
示例性的,该L1时长可以为10s(秒)。或者,也可以基于样本数据中管理应用与穿戴设备成功连接所使用的时长中的最大时长确定该L1时长。
可理解的,上述步骤S1013与S1015或上述步骤S1014与S1015可以同时执行或先后执行,且本文对其先后顺序不做限定。
在另外一些可能的实现方式中,若MCU在L1时长内接收到与第一app成功连接的信令,也即步骤S1016中穿戴设备与第一app连接成功执行完毕,且该L1时长的定时器还未结束的情况下,穿戴设备也可以提前结束或提前销毁与该L1对应的定时器,减少穿戴设备中进行的进程的数量,降低性能损耗。
在本申请中,设置该L1时长的定时器是可选的方案,在另外一些可能的实现方式中,基于具体需求,也可以不设置该L1时长的定时器,本文对此不做限定。
可理解的,若SCN2不为初始值,穿戴设备与第一app的连接过程中设置上述L1定时器,可以减少穿戴设备接收到第一app的连接请求到第一app连接成功的过程中,由于穿戴设备接收到其他管理应用的连接请求,出现连接资源抢占问题而产生的性能损耗。
示例性的,若SCN2不为初始值,穿戴设备接收到第一app的连接请求到第一app连接成功的过程中,穿戴设备接收到第二app的连接请求,若假设第一app对应的SCN1与穿戴设备中存储的SCN2一致,第二app对应的SCN与穿戴设备中存储的SCN2不一致,则在穿戴设备与第一app建立连接的过程中,穿戴设备还需要同时执行确定该第二app对应的SCN与穿戴设备中存储的SCN2是否一致,若不一致则穿戴设备会拒绝与第二app的连接,等一系列的决策操作,而最终穿戴设备与第一app连接成功,穿戴设备执行的与第二app相关的任务均为无效任务,这些无效任务会给穿戴设备带来一定的性能损耗。而若在穿戴设备与第一app的连接过程中设置上述L1定时器,则可以减少或完全避免穿戴设备执行的该无效任务的任务量,减少连接资源抢占问题而产生的性能损耗。
在另外一些可能的实现方式中,也可以是MCU在接收到上述SCN1后(也即在步骤S1004之后)就设置L2时长的定时器,而不是在MCU确定同意与第一app的连接请求后设置上述L1时长的定时器,本文对此不做限定,该L2时长与L1时长相同或不相同(例如L2为5s)。或者,也可以是MCU在接收到上述SCN1后就设置L2时长(例如该L2为2s)的定时器,并在MCU确定同意与第一app的连接请求后结束该L2时长的定时器,并设置上述L1时长的定时器。
在一种可能的实现方式中,若SCN2为初始值,则穿戴设备与第一app的连接过程中设置定时器(可以为上述L1时长的定时器和/或上述L2时长的定时器);若SCN2不为初始值,则穿戴设备与第一app的连接过程中不设置上述L1定时器,也不设置上述L2时长的定时器。
在本申请实施例中,若SCN2不为初始值,则穿戴设备必然仅会同意与该SCN2对应的管理应用的连接请求。则当SCN2不为初始值时,穿戴设备在接收到第一app发送的连接请求后、和/或穿戴设备在同意与第一app连接后,可以不设置上述定时器,允许资源抢占,且最终与穿戴设备连接的始终为与SCN2对应的管理应用,可以使得在某些场景下穿戴设备更快速地与SCN2对应的管理应用连接上。
例如,假设SCN2对应的管理应用为该第一app。若穿戴设备先接收到第二app发起的连接请求,后接收到第一app发起的连接请求,则若设置定时器,MCU会在定时器结束后或在拒绝第二app的连接请求后,才能开始处理第一app发起的连接请求。而若不设置定时器,则MCU可以在接收到第一app后则立即可以开始处理该第一app的连接请求,从而可以使得穿戴设备可以更快速地与该第一app连接上。
例如,假设SCN2对应的管理应用为该第一app。若穿戴设备先接收到该第一app发起的连接请求,后接收到第二app发起的连接请求,则若不设置定时器,MCU会同时在不同的进程中分别进行第一app与穿戴设备、第二app与穿戴设备的连接决策,最终穿戴设备与第一app与成功连接,相比于设置定时器,不设置定时器的方案中,由于MCU还需要处理第二app与穿戴设备的连接决策,可能会出现处理速度降低的问题,导致穿戴设备与第一app成功连接所占用的时长可能会长一点,但影响不大,也就是说,当SCN2不为初始值时,不设置定时器的方法,其发挥的优势大于劣势。
S1016,穿戴设备与第一app连接成功。
可选的,穿戴设备与第一app连接成功后,可以在穿戴设备侧和/或移动终端侧输出第一提示信息,该第一提示信息用于提示穿戴设备与第一app连接成功。
S1017,若SCN1与SCN2不一致,则MCU拒绝与第一app连接。
具体的,若穿戴设备第一次开机使用后未执行过恢复出厂设置的操作且穿戴设备与除了第一app之外的管理应用(例如第二app)建立过数据通信连接,或者,穿戴设备执行过恢复出厂设置的操作且穿戴设备最近一次执行恢复出厂设置后,穿戴设备与第二app建立过数据通信连接,则上述SNC2即为与第二app对应的SNC3,也即SCN1与SCN2不一致,从而MCU会确定拒绝与第一app连接。
在本申请实施例中,在步骤S1011中确定SCN1与SCN2的取值不一致,则执行步骤S1017至S1020。
S1018,MCU向BT模块发送拒绝与第一app连接的请求结果,相应地,BT模块接收MCU发送的该拒绝与第一app连接的请求结果。
S1019,BT模块向第一app发送拒绝连接的请求结果,相应地,第一app向BT模块发送该拒绝连接的请求结果。
S1020,穿戴设备与第一app连接失败,如需使得穿戴设备连接第一app,可操作穿戴设备中连接新移动终端或恢复出厂设置的功能。
可选的,穿戴设备与第一app连接失败后,若用户需要使得穿戴设备连接第一app,还需要在与穿戴设备中保存的SCN2对应的管理应用中删除与该穿戴设备的配对关系和/或连接关系。
可选的,穿戴设备与第一app连接失败后,可以在穿戴设备和/或移动终端侧输出第二提示信息,该第二提示信息用于提示连接失败,还可以用于提示:如需连接第一app,可操作穿戴设备中连接新移动终端(或称新管理应用)或恢复出厂设置的功能以及在穿戴设备上次连接的移动终端中删除该穿戴设备。
在另外一种可能的实现方式中,还可以进一步减少蓝牙模块的执行任务和数据存储压力,具体的,在穿戴设备的微控制器中存储UUID与SCN之间的第一关联关系,并由微控制器基于连接请求中携带的UUID确定第一app对应的SCN,也即由微控制器执行上述步骤S1003。
在另外一种可能的实现方式中,若不考虑节省穿戴设备中BT模块的存储能力和执行能力,本申请提供的应用的连接方法中关于管理应用的连接决策也可以由BT模块执行,示例性的,如图11所示,该方法包括:
S1101,穿戴设备与移动终端已配对成功。
具体可以参照本文其他相关说明,例如上述步骤S1001,在此不再详述。
S1102,第一app向穿戴设备中的蓝牙模块(BT模块)发送连接请求,相应地,BT模块接收第一app发送的该连接请求。
具体可以参照本文其他相关说明,例如上述步骤S1002,在此不再详述。
S1103,BT模块确定与第一app对应的标识SCN1。
具体可以参照本文其他相关说明,例如上述步骤S1003,在此不再详述。
S1104,BT模块确定本地存储的SCN2是否为初始值。
在本申请实施例,SCN2用于指示穿戴设备上一次连接的管理应用的标识信息。关于SCN2的涵义具体也可以参照本文其他相关说明,例如上述步骤S1005,在此不再详述。
示例性的,BT模块中掉电不丢失的存储空间中存储有该SCN2。或者,示例性的,该SCN2也可以存储在MCU中,BT模块可以基于与MCU的交互获取该SCN2,再判断该SCN2是否为初始值。
在本申请实施例中,若BT模块确定SCN2为初始值,则执行步骤S1105至S1108。若BT模块确定SCN2不为初始值,则执行步骤S1109。
S1105,若SCN2为初始值,则BT模块确定同意与第一app连接。
S1106,BT模块向第一app发送同意连接的请求结果,相应地,第一app接收BT模块发送的该同意连接的请求结果。
S1107,BT模块在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内MCU拒绝除了该第一app之外的其他管理应用发起的连接请求。
关于L1时长,以及定时器何时结束等的相关说明,具体可以参照本文其他相关说明,例如上述步骤S1009,在此不再详述。
S1108,穿戴设备与第一app成功连接,且BT模块将SCN2的取值赋值为该SCN1。
示例性的,若BT模块中存储该SCN2,则BT模块可以自行修改该SCN2,使得该SCN2的取值与该SCN1的取值一致。
S1109,若SCN2不为初始值,则BT模块确定SCN1与SCN2是否一致。
若SCN1与SCN2一致,则BT模块执行步骤S1110至S1113。若SCN1与SCN2不一致,则BT模块执行步骤S1114至S1116。
S1110,若SCN1与SCN2一致,则BT模块确定同意与第一app连接。
S1111,BT模块向第一app发送同意连接的请求结果,相应地,第一app接收该同意连接的请求结果。
S1112,BT模块在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内MCU拒绝除了该第一app之外的其他管理应用发起的连接请求。
关于步骤S1110至S1112的相关说明可以参照上述步骤S1105至S1107的相关说明,在此不再详述。
S1113,穿戴设备与第一app连接成功。
S1114,若SCN1与SCN2不一致,则BT模块拒绝与第一app连接。
S1115,BT模块向第一app发送拒绝连接的请求结果,相应地,第一app向BT模块发送该拒绝连接的请求结果。
S1116,穿戴设备与第一app连接失败,如需使得穿戴设备连接第一app,可操作穿戴设备中连接新移动终端或恢复出厂设置的功能。
关于穿戴设备与第一app连接成功后输出第一提示信息,连接失败后输出第二提示信息的方案也同样适用于图11所示的应用连接方法,具体可以参照图10中相关步骤的说明,在此不再详述。
以下结合图12,以穿戴设备与移动终端之间的通信为蓝牙通信,移动终端中安装有管理应用第一app和管理应用第二app,穿戴设备在第一次开机之后或在最近一次恢复出厂设置之后,先后接收到第一app的连接请求和第二app的连接请求为例,详细说明本申请提供的应用连接方法。如图12所示,该应用连接方法可以分为两个阶段,在第一阶段中穿戴设备先接收到第一app发送的连接请求,穿戴设备与该第一app建立数据通信连接;在第二阶段中,在穿戴设备与第一app建立数据通信连接后,穿戴设备接收到第二app发送的连接请求,穿戴设备拒绝与第二app建立数据通信连接。具体的,包括以下步骤:
S1201,穿戴设备与移动终端已配对成功。
关于穿戴设备与移动终端的配对的具体说明可以参照上文其他相关说明,在此不再详述。
S1202,第一app向BT模块发送连接请求A,相应地,BT模块接收第一app发送的连接请求A。
在本申请实施例中,连接请求A用于表示第一app请求与穿戴设备建立数据通信连接,例如SPP连接。示例性的,连接请求A中携带第一app对应的UUID。
S1203,BT模块确定与第一app对应的标识SCN1。
示例性的,穿戴设备中建立有与支持的管理应用的UUID一一对应的服务器。BT模块基于连接请求A中携带的UUID可以确认穿戴设备中是否建立有该第一app需要访问的服务器,若是,则表示穿戴设备支持与该第一app建立连接,具体是否建立连接还需要执行以下步骤S1204至S1216确定。
示例性的,BT模块中记录有管理应用UUID与SCN的第一关联关系,该SCN可以为与该UUID对应的server对应的通道号。BT模块基于上述连接请求A中携带的UUID确定与第一app对应的SCN1。
可理解的,UUID一般为128位的字符串,数据量较大,在本申请实施例中,建立SCN与UUID之间的关联关系,采用SCN标识app,可以有效较少穿戴设备内部之间的数据交互的传输压力。
S1204,BT模块向MCU发送指令A,该指令A携带SCN1,相应地,MCU接收该指令A。
指令A携带SCN1用于表示第一app请求与穿戴设备建立连接。关于指令A的详细说明也可以参照本文其他相关说明,例如步骤S1004,在此不再详述。
在本申请实施例中,BT模块主要用于执行接收信令以及发送信令的任务,不对连接请求进行决策,而是由MCU进行连接控制和决策,连接控制和决策由MCU统一管理,架构清晰,逻辑简单。
S1205,MCU基于本地保存的SCN2为初始值,确定同意与第一app建立数据通信连接。
关于SCN2的说明可以参照本文其他相关说明,例如上述步骤S1005,在此不再详述。
S1206,MCU向BT模块发送同意与第一app建立数据通信连接的请求结果,相应地,BT模块接收该同意与第一app建立数据通信连接的请求结果。
S1207,BT模块向第一app发送同意连接的请求结果,相应地,第一app接收该同意连接的请求结果。
S1208,MCU在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内拒绝除了该第一app之外的其他管理应用发送的连接请求。
具体如何设置L1时长的定时器可以参照本文其他相关说明,例如上述步骤S1009,在此不再详述。
在本申请实施例中,MCU在确定同意与第一app连接后,设置L1时长的定时器,在该L1时长内拒绝除了该第一app之外的其他管理应用发送的连接请求,基于此,可以改善穿戴设备同意与第一app建立数据通信连接到穿戴设备与第一app成功建立连接的期间,穿戴设备接收到其他管理应用的连接请求而出现的资源抢占问题,降低数据安全风险,提高时序稳定性和数据安全性。
S1209,穿戴设备与第一app成功连接,且MCU将SCN2的取值赋值为该SCN1。
具体可以参照本文其他相关说明,例如上述步骤S1010,在此不再详述。
S1210,第二app向BT模块发送连接请求B,相应地,BT模块接收该连接请求B。
在本申请实施例中,连接请求A用于表示第二app请求与穿戴设备建立数据通信连接,例如SPP连接。
S1211,BT模块确定与所述第二app对应的标识SCN3。
示例性的,BT模块中记录有上述第一关联关系,从而BT模块基于上述连接请求B中携带的UUID确定与第二app对应的SCN3。
S1212,BT模块向MCU发送指令A,该指令A携带SCN3,相应地,MCU接收该指令A。
指令A携带SCN3用于表示第二app请求与穿戴设备建立连接。
S1213,MCU基于本地保存的SCN2不为初始值、且SCN2与SCN3不一致,确定拒绝与第二app建立数据通信连接。
在本申请实施例中,穿戴设备在步骤S1213之前已已成功与第一app建立数据通信连接,且穿戴设备中存储的SCN2的取值与第一app对应的SCN1一致,从而MCU可以基于本地保存的SCN2不为初始值、且SCN2与SCN3不一致,确定拒绝与第二app建立数据通信连接。
在本申请实施例中,穿戴设备提供连接记忆功能,拒绝不常用的管理应用的数据通信连接请求,可以进一步提高数据安全性。
S1214,MCU向BT模块发送拒绝与第二app建立数据通信连接的请求结果,相应地,BT模块接收该拒绝与第二app建立数据通信连接的请求结果。
S1215,BT模块向第二app发送拒绝连接的请求结果。
S1216,穿戴设备与第二app连接失败,如需使得穿戴设备连接第二app,可操作穿戴设备中连接新移动终端或恢复出厂设置的功能。
以下结合图12所示应用连接方法,再次结合一些其他的应用连接方法详细说明本申请实施例中提供的应用连接方法的优势:
在一些其他的应用连接方法中,在穿戴设备与管理应用的连接逻辑是,新的管理应用app1的优先级高于旧的管理应用app2的优先级,app1可以抢占app2的连接资源。
本申请实施例如图12所示提供的应用连接方法与该其他的应用连接方法中连接策略的区别可以参照如下表1所示。
表1
由此,采用本申请提供的应用连接方法,不额外设置app1与app2的连接优先级,app1与app2共用一套相同的连接逻辑,降低用户掌握相关功能的难度。攻击者无法再利用优先级策略抢占穿戴设备的连接资源,改善数据安全性问题;提供连接记忆功能,降低一次在拉锯回连或穿戴设备重启回连场景中穿戴设备以及移动终端交互产生的性能损耗,提高连接效率,以及进一步提高数据安全性;在穿戴设备同意与第一app的连接到穿戴设备与第一app成功连接期间,设置L1时长的定时器,在该L1时长内穿戴设备拒绝其他管理应用的连接请求,从而提供连接请求队列管理以及连接保护定时器,进一步提高时序稳定性和数据安全性。
以下结合图13,详细介绍本申请提供的另外一种应用连接方法。如图13所示,该应用连接方法包括:
S1301,第一设备接收第一连接请求。
在本申请实施例中,第一连接请求携带第一标识。示例性的,该第一标识为与第一应用对应的通用唯一识别码(UUID)。
在本申请实施例中,第一设备可以为穿戴设备(例如手环或手表等),第一设备也可以为车载设备,本文对此不做限定。示例性的,假设第一标识对应的第一应用来源于第二设备,则该第二设备与第一设备建立有初始通信连接,例如第二设备与第一设备建立有蓝牙配对关系。关于第一设备与第二设备具体如何建立蓝牙配对关系,可以参照上文关于移动终端与穿戴设备建立蓝牙配对关系的相关说明,例如上述步骤S1001中的相关说明,在此不再详述。
在本申请实施例中,第一设备中存储有支持连接的管理应用的UUID的第一集合。若第一设备确定上述第一标识包含于该第一集合,则第一设备确定支持与第一应用建立数据通信连接,若第一设备确定第一标识不包含于该第一集合,则第一设备确定不支持与第一应用建立数据通信连接。可理解的,第一设备接收到第一应用发送的上述第一连接请求后,若确定第一设备不支持与第一应用建立数据通信连接,则第一设备拒绝与第一应用建立数据通信连接,示例性的,第一设备不响应该第一连接请求,或者,该第一设备向第一应用发送第一连接响应,该第一连接响应也可以理解为拒绝信息,用于表示拒绝该第一连接请求。
在本申请实施例中,默认第一设备支持与第一标识对应的第一应用建立数据通信连接,该第一应用为与所述第一标识对应的能够使用第一设备相关的功能权限的管理应用。
在本申请实施例中,第一设备中建立有与支持连接的管理应用的UUID对应的服务器。示例性的,第一设备支持与app1以及app2连接,则第一设备中建立有与app1的UUID对应的服务器1和与app2对应的服务器2。第一应用向第一设备发送上述第一连接请求,可以理解为第一应用作为客户端(client端)请求与服务器端建立通信连接(具体可以为蓝牙SPP连接)。
S1302,第一设备确定本地保存的参考标识是否为无效值。
在本申请实施例中,在步骤S1302中,若参考标识为无效值则表示在接收到上述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接。若参考标识为有效值则表示在接收到第一连接请求之前的一段时间内第一设备与管理应用建立过数据通信连接。
在本申请实施例中,参考标识为掉电不丢失的数据。第一设备在接收到恢复出厂设置的指令、或连接新手机的指令后,将该参考标识重置为无效值。
在本申请实施例中,参考标识为无效值表示第一设备在接收到第一连接请求之前的一段时间内第一设备未与任意一个管理应用建立过数据通信连接。
示例性的,上述一段时间内包括:第一设备被使用的整个过程、且所述第一设备未执行过恢复出厂设置和连接新管理应用的功能。
或者,上述一段时间内包括:第一设备执行过恢复出厂设备或连接新管理应用的功能,第一设备最近一次执行恢复出厂设置或连接新管理应用的功能之后的被使用过程。例如,第一设备开机使用之后,未执行过恢复出厂设置,执行过连接新管理应用(连接新手机)的功能,则上述一段时间内是指:第一设备最后一次执行连接新管理应用的功能之后的被使用过程。例如,第一设备开机使用之后,未执行过连接新管理应用的功能,执行过恢复出厂设置,则上述一段时间内是指:第一设备最后一次执行恢复出厂设置的功能之后的被使用过程。例如,第一设备开机使用之后,执行过连接新管理应用的功能,也执行过恢复出厂设置,则上述一段时间内是指:第一设备最近一次执行了连接新管理应用或恢复出厂设置功能之后的被使用过程。例如,第一设备最近一次执行连接新管理应用的功能在最近一次执行恢复出厂设置功能之后,则上述一段时间内是指:第一设备最近一次执行了连接新管理应用之后的被使用过程。
在另外一种可能的实现方式中,上述一段时间内也可以为:第一设备未执行过恢复出厂设置或连接新管理应用的功能,第一设备在接收到第一连接请求之前的预设时长内,例如该预设时长为一个月。或者,上述一段时间内还可以为:第一设备执行过恢复出厂设置或连接新管理应用的功能,第一设备最近一次执行恢复出厂设置或连接新管理应用的功能之后的预设时长内,例如第一设备最近一次执行恢复出厂设置或连接新管理应用的功能之后的一个月内。
示例性的,参考标识为无效值是指参考标识的取值为初始值,且该初始值不为管理应用的标识。例如,该初始值为null或undefined等,或者,该初始值为无意义的字符串,例如该初始值为000等,本文对此不做限定。
在本申请实施中,参考标识为有效值表示在接收到第一连接请求之前的一段时间内第一设备与管理应用建立过数据通信连接。若参考标识为有效值,则参考标识表示上一次与第一设备建立数据通信连接的一个历史管理应用的标识。关于一段时间内的说明,可以参照上文相关说明。
示例性的,若第一设备被使用的整个过程中、第一设备未执行过恢复出厂设置和连接新管理应用的功能,且与app1建立过数据通信连接,则该参考标识为该app1对应的标识(参考标识为有效值,有效值为该app1对应的标识)。若第一设备在第一次开机使用后,执行过恢复出厂设置或和连接新管理应用的功能,且最近一次执行恢复出厂设置或连接新管理应用的功能之后,第一设备与app1建立过数据通信连接,则该参考标识为该app1对应的标识(参考标识为有效值,有效值为该app1对应的标识)。
第一设备确定本地保存的参考标识为有效值的情况下,执行步骤S1303,第一设备确定本地保存的参考标识为无效值的情况下,执行步骤S1305。
S1303,第一设备确定第三标识与参考标识是否匹配。
在本申请实施例中,第一设备接收到第一连接请求后,确定本地保存的参考标识为有效值的情况下,则确定第三标识与参考标识是否匹配。
在本申请实施例中,第三标识与第一标识相关,例如,若参考标识表示的是管理应用的SCN,则第三标识为与第一标识对应的SCN。若参考标识表示的是管理应用的UUID,则第二表示为该第一标识。
可理解的,第一设备确定第三标识与参考标识是否匹配,也可以理解为,第一设备确定参考标识所指示的应用是否为第一应用,若参考标识所指示的应用为第一应用,则第三标识与参考标识匹配,若参考标识所指示的应用不为第一应用,则第三标识与参考标识不匹配。
示例性的,第三标识为与第一标识(第一应用的UUID)对应的SCN,参考标识为与上述历史管理应用的UUID对应的SCN。若第一应用的UUID对应的SCN与历史管理应用的UUID对应的SCN一致,则确定第三标识与参考标识匹配;若第一应用的UUID对应的SCN与历史管理应用的UUID对应的SCN不一致,则确定第三标识与参考标识不匹配。
示例性的,第三标识为上述第一标识(也即第一应用的UUID),参考标识为与历史管理应用的UUID。若第一应用的UUID与历史管理应用的UUID一致,则确定第三标识与参考标识匹配。若第一应用的UUID与历史管理应用的UUID不一致,则确定第三标识与参考标识不匹配。
第一设备在确定第三标识与参考标识不匹配的情况下,执行步骤S1304;第一设备在确定第三标识与参考标识匹配的情况下,执行步骤S1305。
S1304,第一设备响应于第一连接请求发送第一连接响应。
在本申请实施例中,第一设备接收到第一应用发送的上述第一连接请求,确定支持与第一应用建立数据通信连接,且确定第三标识与参考标识不匹配的情况下,向第一应用发送第一连接响应。
在本申请实施例中,第一连接响应也可以理解为拒绝信息,用于拒绝第一连接请求,也即第一设备拒绝与第一应用建立数据通信连接。
示例性的,该第一连接响应具体可以为蓝牙通信协议中预设的用于表示拒绝连接请求的消息。例如,可以为“NO”、“reject”等,具体以通信协议为准,本文对此不做限定。
在一种可能的实现方式中,第一设备确定拒绝与第一应用建立连接的情况下,第一设备也可以不做任何响应,也即第一设备不向第一应用发送第一连接响应。示例性的,在蓝牙通信协议中规定,若第一设备接收到第一连接请求后的预设时长内,未对该第一连接请求作出响应,则表示第二设备拒绝与第一设备建立连接。第一应用在该预设时长结束后均未接收到第一设备针对该第一连接请求作出的响应,则第一应用确定与该第一设备请求连接失败。
S1305,第一设备响应于第一连接请求发送第二连接响应。
在本申请实施例中,第二连接响应也可以理解为包括确认信息,用于确认上述第一连接请求,或称用于确定接受上述第一连接请求,第一设备同意与第一应用建立数据通信连接。
示例性的,该第二连接响应具体可以为蓝牙通信协议中预设的用于表示同意连接请求的消息。例如,可以为“YES”、“agree”等,具体以通信协议为准,本文对此不做限定。
可理解的,第一设备向第一应用发送第二连接响应之后,第一应用接收到该第二连接响应之后,还会继续与第一设备进行一系列信令交互,例如第一应用与第一设备进行同步指令、参数协商、状态修改等相关的信令交互,以使得第一设备与第一应用成功建立连接。在本申请中,默认的,第一设备向第一应用发送第二连接响应之后,第一设备会与第一应用可以成功建立数据通信连接。
上述第一设备响应于第一连接请求发送第二连接响应,可以理解为,第一设备响应于第一连接请求向第一应用发送第二连接响应。示例性的,第一设备响应于第一连接请求基于第一设备与第二设备中的第一应用建立的SPP连接,向该第二设备中的蓝牙模块发送第二连接响应,该第二设备中的蓝牙模块再向该第一应用转发该第二连接响应。其中,在该SPP连接中,第一应用为client端,第一设备为server端。
在一种可能的实现方式中,第一设备在向第一应用发送第二连接响应之后,所述方法还包括:第一设备在第一时长内拒绝与除了第一应用之外的其他管理应用建立数据通信连接。例如,第一设备在确定同意与第一应用建立连接之后,或者,第一设备在向第一应用发送第二连接响应之后,设置与第一时长对应的定时器,在该定时器结束之前拒绝与除了第一应用之外的其他管理应用建立数据通信连接,给第一设备同意与第一应用建立连接到第一设备与第一应用成功建立连接的过程预留一定的处理时间。
S1306,若参考标识为无效值,第一设备将参考标识修改为有效值。
在本申请实施例中,在第一设备向第一应用发送第二连接响应之后,第一设备还将参考标识修改为有效值。
具体的,在第一设备向第一应用发送第二连接响应之后,且第一设备确认已与第一应用成功建立通信连接后,第一设备将参考标识修改为有效值。
示例性的,将参考标识修改为第三标识,该第三标识与第一标识(第一标号为第一应用的UUID)相关。
可选的,第一设备为支持连接的管理应用建立的服务器分配有服务器通道号(SCN),也可以理解为第一设备中存储有管理应用的UUID与SCN之间的关联关系。上述参考标识为与上述历史管理应用的UUID对应的SCN,上述第三标识为与第一标识对应的SCN。也就是说,有效值包括与第一标号对应的服务器通道号,在第一设备向第一应用发送第二连接响应之后,第一设备将参考标识修改为与该第一标识对应的服务器通道号。
或者,可选的,参考标识为与历史管理应用对应的UUID,上述第三标识为第一标识本身。也就是说,有效值包括该第一标识,在第一设备向第一应用发送第二连接响应之后,第一设备将参考标识修改为上述第一标识。
在本文另外一些描述中,第二连接响应也称为第一请求结果,第一时长也称为L时长;若参考标识为有效值且为上述历史管理应用对应的SCN,则参考标识也称SCN2,参考标识为无效值也称为SCN2为初始值。
关于第一时长、UUID、SCN、SCN2等的说明可以参照本文其他实施例的相关描述,例如图11中的相关说明,在此不再详述。
示例性的,请参阅图14,以电子设备100作为本文所描述的第一设备或称穿戴设备为例,描述第一设备或称穿戴设备的结构示意图。
电子设备100可以包括微控制器110,无线通信模块120,存储器130,传感器模块140,显示屏150、通用串行总线(universal serial bus,USB)接口160,充电管理模块170,电源管理模块171,以及电池172。其中传感器模块140可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等中的一项或多项。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图14所示中更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图14所示的部件可以以硬件,软件或软件和硬件的组合实现。例如,电子设备100还可以包括音频模块(扬声器、受话器、麦克风、耳机接口等)、用户标识模块(subscriber identification module,SIM)卡接口、以及马达等。
微控制器110可以包括一个或多个处理单元,例如:微控制器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。示例性的,在一种可能的实现方式中,微控制器110包括存储器,可以在存储器中的掉电不丢失的存储空间中存储上述参考标识,该参考标识用于表示电子设备100上一次连接的管理应用的标识信息,关于参考标识的描述具体参照本文方法实施例中的相关说明,在此不再详述。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
微控制器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,微控制器110中的存储器为高速缓冲存储器。该存储器可以保存微控制器110刚用过或循环使用的指令或数据。如果微控制器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了微控制器110的等待时间,因而提高了系统的效率。
在一些实施例中,微控制器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异不收发传输器(universal aSCNchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过无线通信模块120,天线、移动通信模块、调制解调处理器和/或基带处理器等实现。示例性的,无线通信模块120中包含本文所述的蓝牙模块(BT模块),该BT模块用于与微控制器110配合执行本申请提供的应用连接方法。
无线通信模块120可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙模块(bluetooth,BT模块),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块120可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块120经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到微控制器110。无线通信模块120还可以从微控制器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏150,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏150和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。微控制器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
存储器130可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。微控制器110通过运行存储在内部存储器130的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器130可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。示例性的,在一种可能的实现方式中,也可以在存储器130中的掉电不丢失的存储空间中存储上述参考标识。
示例性的,电子设备100的无线通信模块120中的BT模块中存储有与电子设备100支持的管理应用的UUID与SCN的第一关联关系,微控制器110中存储有上述参考标识,关于第一关联关系、参考标识可以参照本文方法实施例中的相关说明,在此不再详述。
示例性的,无线通信模块120中的BT模块接收第一连接请求(携带第一标识),BT模块基于该第一连接请求获取与第一标识对应的第一服务器通道号;BT模块向微控制器110发送携带该第一服务器通道号的第一指令。微控制器110在确定参考标识为初始值,或确定参考标识不为初始值、且参考标识与该第一服务器通道号一致的情况下,向BT模块发送第一请求结果,该第一请求结果用于表示微控制器110同意与第一应用连接。BT模块接收到该第一请求结果后向第一应用反馈该第一请求结果,以便于穿戴设备与第一应用成功连接。或者,微控制器110若确定参考标识不为初始值、且参考标识与该第一服务器通道号一致的情况下,向BT模块发送第二请求结果,该第二请求结果用于表示微控制器110拒绝与第一应用连接。在电子设备100与第一应用成功建立数据通信连接后,若参考标识为初始值,则MCU将参考标识赋值为第一服务器通道号。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种应用连接方法,其特征在于,所述方法应用于第一设备,所述方法包括:
接收第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述第一设备建立数据通信连接;
在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用。
2.根据权利要求1所述的方法,其特征在于,在所述接收第一连接请求之后,所述方法还包括:
在所述参考标识为有效值、且所述第一标识与所述参考标识匹配的情况下,响应于所述第一连接请求发送第二连接响应,所述第二连接响应用于确认所述第一连接请求。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收第二连接请求,所述第二连接请求包括第二标识,所述第二连接请求表示所述第二标识对应的管理应用请求与所述第一设备建立数据通信连接;
在所述参考标识为无效值的情况下,响应于所述第二连接请求发送第二连接响应,所述第二连接响应用于确认所述第二连接请求,所述参考标识为无效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
修改所述参考标识的取值为有效值。
5.根据权利要求4所述的方法,其特征在于,所述修改所述参考标识的取值为有效值,包括:
修改所述参考标识为所述第二标识;或者,
修改所述参考标识为所述第二标识对应的服务器通道号。
6.根据权利要求3至5任一项所述的方法,其特征在于,在所述响应于所述第二连接请求发送第二连接响应之后,所述方法还包括:
在第一时长内拒绝与除了所述第二标识对应的管理应用之外的其他管理应用建立数据通信连接。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述第一标识对应的服务器通道号与所述参考标识不一致的情况下,确定所述第一标识与所述参考标识不匹配。
8.一种应用连接方法,其特征在于,所述方法应用于第一设备,所述第一设备至少支持与两个管理应用建立数据通信连接,所述第一设备与第二设备具有配对关系,所述第二设备中安装有第一应用,所述第一应用为与所述第一设备配套的、所述第一设备支持连接的、用于使用所述第一设备的功能权限的管理应用,所述方法包括:
所述第一设备接收所述第一应用发送的第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述电子设备建立数据通信连接;
在参考标识为有效值、且所述参考标识表示的应用不为所述第一应用的情况下,响应于所述第一连接请求向所述第一应用发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求;所述参考标识为上一次与所述第一设备建立连接的历史管理应用的标识;所述参考标识为无效值用于表示在接收所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接;
在所述参考标识为无效值的情况下,或者,在所述参考标识为有效值且所述参考标识表示所述第一应用的情况下,所述第一设备向所述第一应用发送第二连接响应,所述第二连接响应用于确认所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用。
9.一种电子设备,其特征在于,所述电子设备包括蓝牙模块和微控制器;
所述蓝牙模块,用于接收第一连接请求,所述第一连接请求包括第一标识,所述第一连接请求表示所述第一标识对应的管理应用请求与所述电子设备建立数据通信连接;
所述蓝牙模块,还用于向所述微控制器发送所述第一连接请求;
所述微控制器,用于在参考标识为有效值、且所述第一标识与所述参考标识不匹配的情况下,响应于所述第一连接请求向所述蓝牙模块发送第一连接响应,所述第一连接响应用于拒绝所述第一连接请求,所述参考标识为有效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备与至少一个管理应用建立过数据通信连接,所述至少一个管理应用不包括所述第一标识对应的管理应用;
所述蓝牙模块,还用于在接收到所述第一连接响应后,响应于所述第一连接请求发送所述第一连接响应。
10.根据权利要求9所述的电子设备,其特征在于,
所述微控制器,还用于在所述参考标识为有效值、且所述第一标识与所述参考标识匹配的情况下,响应于所述第一连接请求向所述蓝牙模块发送第二连接响应,所述第二连接响应用于确认所述第一连接请求;
所述蓝牙模块,还用于在接收到所述第一连接响应后,响应于所述第一连接请求发送所述第一连接响应。
11.根据权利要求9或10所述的电子设备,其特征在于,
所述蓝牙模块,还用于接收第二连接请求,所述第二连接请求包括第二标识,所述第二连接请求表示所述第二标识对应的管理应用请求与所述第一设备建立数据通信连接;
所述蓝牙模块,还用于向所述微控制器发送所述第二连接请求;
所述微控制器,还用于在所述参考标识为无效值的情况下,响应于所述第二连接请求向所述蓝牙模块发送第二连接响应,所述第二连接响应用于确认所述第二连接请求,所述参考标识为无效值表示在接收到所述第一连接请求之前的一段时间内所述第一设备未与任意一个管理应用建立数据通信连接;
所述蓝牙模块,还用于在接收到所述第二连接响应后,响应于所述第二连接请求发送所述第二连接响应。
12.根据权利要求11所述的电子设备,其特征在于,所述微控制器在向所述蓝牙模块发送所述第二连接响应之后,还用于在第一时长内拒绝与除了所述第一应用之外的其他管理应用建立数据通信连接。
13.一种芯片系统,其特征在于,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得如权利要求1至8中任一项所述的方法被执行。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。
15.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262106.XA CN115568036B (zh) | 2022-10-14 | 2022-10-14 | 一种应用连接方法、电子设备、芯片及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262106.XA CN115568036B (zh) | 2022-10-14 | 2022-10-14 | 一种应用连接方法、电子设备、芯片及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115568036A true CN115568036A (zh) | 2023-01-03 |
CN115568036B CN115568036B (zh) | 2023-10-20 |
Family
ID=84746292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211262106.XA Active CN115568036B (zh) | 2022-10-14 | 2022-10-14 | 一种应用连接方法、电子设备、芯片及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115568036B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142868A (zh) * | 2013-05-10 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 建立连接的方法及装置 |
US20150142982A1 (en) * | 2013-11-15 | 2015-05-21 | Microsoft Corporation | Preservation of connection session |
CN109981796A (zh) * | 2019-04-09 | 2019-07-05 | 宜人恒业科技发展(北京)有限公司 | 一种连接方法及装置 |
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
CN111131369A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | App使用情况的传输方法、装置、电子设备及存储介质 |
CN112733091A (zh) * | 2020-12-31 | 2021-04-30 | 北京深思数盾科技股份有限公司 | 一种应用程序访问外接设备的控制方法及装置 |
US20210385284A1 (en) * | 2019-02-25 | 2021-12-09 | Huawei Technologies Co., Ltd. | Session establishment method and apparatus |
CN113905080A (zh) * | 2021-09-27 | 2022-01-07 | 深信服科技股份有限公司 | 一种管理方法、设备、系统及存储介质 |
WO2022155913A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种接入控制的方法、装置和系统 |
CN114845290A (zh) * | 2022-06-30 | 2022-08-02 | 荣耀终端有限公司 | 数据迁移方法、电子设备及计算机可读存储介质 |
CN115134404A (zh) * | 2021-03-22 | 2022-09-30 | 花瓣云科技有限公司 | 管理推送连接的方法和电子设备 |
-
2022
- 2022-10-14 CN CN202211262106.XA patent/CN115568036B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142868A (zh) * | 2013-05-10 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 建立连接的方法及装置 |
US20150142982A1 (en) * | 2013-11-15 | 2015-05-21 | Microsoft Corporation | Preservation of connection session |
CN111131369A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | App使用情况的传输方法、装置、电子设备及存储介质 |
US20210385284A1 (en) * | 2019-02-25 | 2021-12-09 | Huawei Technologies Co., Ltd. | Session establishment method and apparatus |
CN109981796A (zh) * | 2019-04-09 | 2019-07-05 | 宜人恒业科技发展(北京)有限公司 | 一种连接方法及装置 |
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
CN112733091A (zh) * | 2020-12-31 | 2021-04-30 | 北京深思数盾科技股份有限公司 | 一种应用程序访问外接设备的控制方法及装置 |
WO2022155913A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种接入控制的方法、装置和系统 |
CN115134404A (zh) * | 2021-03-22 | 2022-09-30 | 花瓣云科技有限公司 | 管理推送连接的方法和电子设备 |
CN113905080A (zh) * | 2021-09-27 | 2022-01-07 | 深信服科技股份有限公司 | 一种管理方法、设备、系统及存储介质 |
CN114845290A (zh) * | 2022-06-30 | 2022-08-02 | 荣耀终端有限公司 | 数据迁移方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115568036B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233538A1 (zh) | 一种接入无线局域网的方法和终端 | |
CN113014483B (zh) | 一种多路径传输的方法及设备 | |
CN110602686B (zh) | 一种使用远程sim模块的方法及电子设备 | |
EP3718292B1 (en) | Electronic device for managing embedded subscriber identification module and method for same | |
CN114390501B (zh) | 数据传输的方法及电子设备 | |
CN103716393A (zh) | 资源共享的方法、装置及用于局域网通信的终端 | |
CN113923611A (zh) | 一种呼叫转移系统及相关装置 | |
WO2024016503A1 (zh) | 一种通信方法及电子设备 | |
CN115130085A (zh) | 一种登录认证的方法和电子设备 | |
CN113395364A (zh) | 一种应用服务器的访问方法及终端 | |
CN115568036B (zh) | 一种应用连接方法、电子设备、芯片及存储介质 | |
CN116017388B (zh) | 一种基于音频业务的弹窗显示方法和电子设备 | |
CN115022872B (zh) | 数据传输的方法及电子设备、可读存储介质 | |
CN114928898B (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN114916054A (zh) | 一种通信方法、装置及终端设备 | |
CN114691067A (zh) | 投屏方法及电子设备 | |
CN114116072A (zh) | 一种共享库的复用方法及电子设备 | |
CN116419202B (zh) | 远程访问用户识别模块sim卡的方法和装置 | |
CN117479344B (zh) | 一种蓝牙连接方法、电子设备及可读存储介质 | |
WO2024067166A1 (zh) | 共享文件的方法、电子设备及计算机可读存储介质 | |
CN116709582B (zh) | 辅助通话的方法和电子设备 | |
CN116709393B (zh) | 蜂窝数据业务激活失败时的恢复方法及电子设备 | |
CN116033592B (zh) | 蜂窝通信功能的使用方法和装置 | |
CN114928899B (zh) | 物理链路的建立方法和电子设备 | |
WO2022267005A1 (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 |