CN117134848A - 通道建立方法、设备及存储介质 - Google Patents
通道建立方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117134848A CN117134848A CN202310091015.2A CN202310091015A CN117134848A CN 117134848 A CN117134848 A CN 117134848A CN 202310091015 A CN202310091015 A CN 202310091015A CN 117134848 A CN117134848 A CN 117134848A
- Authority
- CN
- China
- Prior art keywords
- channel
- wlan
- type
- service
- equipment
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/382—Monitoring; Testing of propagation channels for resource allocation, admission control or handover
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0453—Resources in frequency domain, e.g. a carrier in FDMA
-
- 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)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种通道建立方法、设备及存储介质,涉及无线连接技术领域。在本申请方案中,对数据传输速率和带宽有较高要求的业务,可以将通道类型配置为P2P+WLAN。在获取到通道类型P2P+WLAN后,可以根据双端设备支持的能力信息、双端设备的信道信息、双端设备的角色信息和/或连接状态信息等,选择一个合适的通道类型,比如P2P通道或WLAN通道,并基于选择的通道类型建立服务型会话和业务型会话,从而提高业务的数据传输成功率和传输速率。另外,当服务型会话基于更优通道建立成功后,业务型会话的链路类型会与服务型会话保持一致,因此在一定程度上提高了业务的数据传输成功率和传输速率。
Description
技术领域
本申请涉及无线连接技术领域,尤其涉及一种通道建立方法、设备及存储介质。
背景技术
点对点(peer-to-peer,P2P)是一种不依赖中心服务器,依靠用户群(peers)直接交换信息的互联网体系。在P2P模式中,多台设备之间可以直接通信以实现资源共享和信息交换,从而为用户之间的沟通和交流提供了更大的便利。
目前,P2P可以用于支撑超级键鼠、异源投屏、超级通知和超级通话等超级终端业务。以超级键鼠业务为例,通常超级键鼠业务会选择P2P作为通道类型。在个人计算机(personal computer,PC)和手机基于P2P通道进行超级键鼠业务连接后,PC将来自鼠标的数据转发给手机,从而手机执行与数据对应的功能。
然而,如果双端设备存在角色冲突问题,比如PC和手机的角色均为组拥有者(group owner,GO),或者PC和手机的角色均为组客户端(group client,GC),那么双端设备可能无法成功建立P2P通道,从而导致超级终端业务的数据传输失败。或者,当P2P信道与双端设备的Wi-Fi信道不一致时,可能会出现双端同频异信道,导致数据传输缓慢。因此,如何提升业务的数据传输成功率和传输速率成为亟待解决的问题。
发明内容
本申请提供一种通道建立方法、设备及存储介质,针对超级键鼠、异源投屏、超级通知和超级通话等对数据传输速率和带宽有较高要求的业务,可以根据双端设备的网络连接状态选择一个合适的物理通道,比如P2P通道或WLAN通道,从而提高业务的数据传输成功率和传输速率。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种通道建立方法。该方法可以应用于第一设备。该方法包括:获取第一业务的通道类型标识。在该通道类型标识为P2P标识和WLAN标识(P2P+5GWLAN)的情况下,根据第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型。建立与选择的通道类型对应的物理通道,P2P通道类型对应的物理通道为P2P通道,WLAN通道类型对应的物理通道为WLAN通道。在物理通道上为第一业务建立服务型会话。在物理通道上为第一业务建立业务型会话。基于服务型会话和业务型会话向第二设备发送第一业务的数据。
第一设备也可称为第一终端设备、主设备或本端设备,为发起第一业务的设备。
第二设备也可称为第二终端设备、辅设备或对端设备,为接收第一业务的数据的设备。
在上述方案中,当一个业务的通道类型标识为P2P标识和WLAN标识时,由于第一设备会根据第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种更适合当前网络连接状态的通道类型,比如P2P通道或WLAN通道,因此根据通道类型选择结果可以建立更优的物理通道,从而使得在该物理通道上建立的服务型会话和业务型会话更稳定,从而提高该业务的数据传输成功率和传输速率。
在一种可能的实现方式中,第一设备的网络连接状态可以包括下述至少一项:第一设备支持的5G信道列表、第一设备连接的Wi-Fi信道、第一设备连接的P2P信道及第一设备的P2P角色信息。应理解,第一设备的网络连接状态还可以包括更多的状态信息。
在一种可能的实现方式中,第二设备的网络连接状态可以包括下述至少一项:第二设备连接的Wi-Fi信道、第二设备连接的P2P信道及第二设备的P2P角色信息。应理解,第二设备的网络连接状态还可以包括更多的状态信息。
在一种可能的实现方式中,根据第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:若确定第一设备和第二设备支持5G WLAN组网,则根据第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型。
应理解,当第一设备和第二设备支持5G WLAN组网时,可能既支持WLAN通道类型也可能支持P2P通道类型,因此可以从两个通道类型中选择一种通道类型。
在一种可能的实现方式中,该还包括:若确定第一设备和第二设备不支持5G WLAN组网,则选择P2P通道类型。
应理解,当第一设备和第二设备不支持5G WLAN组网时,若是强行选择WLAN通道类型则可能出现连接失败,因此可以直接选择P2P通道类型。
在一种可能的实现方式中,该方法还包括:获取第一设备的能力集和第二设备的能力集。若第一设备的能力集指示第一设备不支持5G WLAN能力,和/或第二设备的能力集指示第二设备不支持5G WLAN能力,则确定第一设备和第二设备不支持5G WLAN组网。或者,若第一设备的能力集指示第一设备支持5G WLAN能力,且第二设备的能力集指示第二设备支持5G WLAN能力,以及第二设备的发现类型包含WLAN发现类型,则确定第一设备和第二设备支持5G WLAN组网。或者,若第一设备的能力集指示第一设备支持5G WLAN能力,且第二设备的能力集指示第二设备支持5G WLAN能力,以及第二设备的发现类型不包含WLAN发现类型,则确定第一设备和第二设备不支持5G WLAN组网。
应理解,当第一设备和第二设备中的任意一个设备不支持5G WLAN时,在双端设备无法建立5G WLAN通道,因此可以直接放弃选择5G WLAN通道类型,而选择P2P通道类型。当第一设备和第二设备均支持5G WLAN,但第二设备的发现类型不包含WLAN发现类型时,由于在设备上线阶段未建立WLAN通道,因此若是后期选择了WLAN通道类型,则无法使用WLAN通道,且无法获取WLAN秘钥,进而无法根据WLAN秘钥对传输数据加密,从而无法基于WLAN通道传输数据,为了避免此类问题,此时需要选择P2P通道类型。
在一种可能的实现方式中,根据第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:获取第一设备的P2P角色信息和第二设备的P2P角色信息。在第一设备的P2P角色信息和第二设备的P2P角色信息满足第一条件、第二条件、第三条件或第四条件的情况下,在P2P通道类型和WLAN通道类型中选择一种通道类型。或者,在第一设备的P2P角色信息和第二设备的P2P角色信息满足第五条件、第六条件、第七条件或第八条件的情况下,选择WLAN通道类型。
其中,第一条件为:第一设备和第二设备均为无P2P角色。第二条件为:第一设备为无P2P角色,第二设备为GO角色。第三条件为:第一设备为GO角色,第二设备为无P2P角色。第四条件为:第一设备为GO角色,第二设备为GC角色;或者,第一设备为GC角色,第二设备为GO角色。第五条件为:第一设备和第二设备均为GO角色。第六条件为:第一设备和第二设备均为GC角色。第七条件为:第一设备为GC角色,第二设备为无P2P角色。第八条件为:第一设备为无P2P角色,第二设备为GC角色。
应理解,当第一设备的P2P角色信息和第二设备的P2P角色信息满足第五条件、第六条件、第七条件或第八条件时,由于双端设备角色冲突,无法建立P2P通道,因此可以直接选择5G WLAN通道类型。当第一设备的P2P角色信息和第二设备的P2P角色信息满足第一条件、第二条件、第三条件或第四条件时,本端设备和对端设备可能无角色冲突,此时可以在P2P通道类型和WLAN通道类型中选择一种通道类型。
在一种可能的实现方式中,在第一设备的P2P角色信息和第二设备的P2P角色信息满足第一条件的情况下,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:获取第一设备支持的5G信道列表、第一设备连接的Wi-Fi信道和第二设备连接的Wi-Fi信道。若第一设备连接的Wi-Fi信道在第一设备支持的5G信道列表中,和/或第二设备连接的Wi-Fi信道在第一设备支持的5G信道列表中,则选择P2P通道类型。或者,若第一设备连接的Wi-Fi信道不在第一设备支持的5G信道列表中,且第二设备连接的Wi-Fi信道不在第一设备支持的5G信道列表中,则选择WLAN通道类型。
在一种可能的实现方式中,在第一设备的P2P角色信息和第二设备的P2P角色信息满足第二条件的情况下,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:获取第二设备连接的P2P信道、第一设备连接的Wi-Fi信道和第二设备连接的Wi-Fi信道。若第一设备连接的Wi-Fi信道与第二设备连接的P2P信道相同,和/或第二设备连接的Wi-Fi信道与第二设备连接的P2P信道相同,则选择P2P通道类型。或者,若第一设备连接的Wi-Fi信道与第二设备连接的P2P信道不同,且第二设备连接的Wi-Fi信道与第二设备连接的P2P信道不同,则选择WLAN通道类型。
在一种可能的实现方式中,在第一设备的P2P角色信息和第二设备的P2P角色信息满足第三条件的情况下,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:获取第一设备连接的P2P信道、第一设备连接的Wi-Fi信道和第二设备连接的Wi-Fi信道。若第一设备连接的Wi-Fi信道与第一设备连接的P2P信道相同,和/或第二设备连接的Wi-Fi信道与第一设备连接的P2P信道相同,则选择P2P通道类型。或者,若第一设备连接的Wi-Fi信道与第一设备连接的P2P信道不同,且第二设备连接的Wi-Fi信道与第一设备连接的P2P信道不同,则选择WLAN通道类型。
在一种可能的实现方式中,在第一设备的P2P角色信息和第二设备的P2P角色信息满足第四条件的情况下,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:获取第一设备已连接P2P设备的列表。在第一设备已连接P2P设备的列表包括第二设备的情况下,获取第一设备连接的P2P信道、第一设备连接的Wi-Fi信道和第二设备连接的Wi-Fi信道。若第一设备连接的Wi-Fi信道与第一设备连接的P2P信道相同,和/或第二设备连接的Wi-Fi信道与第一设备连接的P2P信道相同,则选择P2P通道类型。或者,若第一设备连接的Wi-Fi信道与第一设备连接的P2P信道不同,且第二设备连接的Wi-Fi信道与第一设备连接的P2P信道不同,则选择WLAN通道类型。该方法还包括:在第一设备已连接P2P设备的列表不包括第二设备的情况下,选择WLAN通道类型。
应理解,当第一设备的P2P角色信息和第二设备的P2P角色信息满足第一条件、第二条件、第三条件或第四条件时,根据第一设备支持的5G信道列表、第一设备连接的Wi-Fi信道、第一设备连接的P2P信道、第二设备连接的Wi-Fi信道、第二设备连接的P2P信道及第二设备的P2P角色信息等,可以确定双端设备是否均是同频异信道。实验数据表明,当双端同频异信道时,P2P信道的网络质量不能满足业务传输需求,此时需要放弃P2P通道类型,而选择5G WLAN通道类型。实验数据还表明,当至少一个设备不属于同频异信道时,P2P信道的网络质量可以满足业务传输需求,此时优先选择P2P通道类型。
在一种可能的实现方式中,在建立业务型会话之后,该方法还包括:获取标识码,标识码表示业务型会话的连接状态。在标识码为预设标识码的情况下,显示与预设标识码对应的提示信息。不同的预设标识码对应不同的提示信息。
例如,上述标识码为第一预设标识码。第一预设标识码表示:物理通道为5G P2P通道,且5G P2P通道所采用的信道与第一设备连接的Wi-Fi信道、第二设备连接的Wi-Fi信道均不同。相应地,提示信息用于向用户提示断开第一设备或者第二设备的WLAN连接。
再例如,上述标识码为第二预设标识码。第二预设标识码表示:物理通道为2.4GP2P通道。相应地,提示信息用于向用户提示重启Wi-Fi功能。
应理解,在经过通道类型选择后,最终建立的会话也能出现网络质量较差的情形,比如出现P2P信道在2.4G频段,或者双端同频异信道,那么可以对提示进行用户,从而用户可以获知当前网络存在的问题,并决定是否解决该问题,从而提高了用户体验。
在一种可能的实现方式中,该方法还包括:在通道类型标识为P2P标识的情况下,选择P2P通道类型;或者,在通道类型标识为WLAN标识的情况下,选择WLAN通道类型;或者,在通道类型标识为BR标识的情况下,选择BR通道类型;或者,在通道类型标识为BLE标识的情况下,选择BLE通道类型。
应理解,在会话建立前,上层业务可以根据自身需求设置用于指示会话优先级的通道类型标识。如果上层业务是超级终端业务,则上层业务下发的通道类型标识为P2P标识和WLAN标识,并执行通道选择策略。如果用户触发的上层业务不是超级终端业务,则上层业务根据业务特征下发一个通道类型标识,比如P2P、WLAN、BR或BLE,从而可以基于一个通道类型标识建立会话,而无需执行通道选择策略。
第三方面,本申请提供一种装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第四方面,本申请提供一种终端设备,该终端设备包括存储器和一个或多个处理器。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当计算机指令被处理器执行时,使得终端设备执行第一方面中任一项提供的通道建立方法。
第五方面,本申请提供一种计算机可读存储介质。该计算机可读存储介质包括计算机指令。当计算机指令在终端设备上运行时,使得该终端设备执行如第一方面及其任一种可能的设计方式提供的通道建立方法。
第六方面,本申请提供一种计算机程序产品。当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式提供的通道建立方法。
第七方面,本申请提供一种芯片系统。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。上述芯片系统可以应用于包括通信模块和存储器的终端设备。该接口电路用于从终端设备的存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,终端设备可以执行如第一方面及其任一种可能的设计方式提供的通道建立方法。
可以理解,上述提供的第三方面的装置,第四方面的终端设备,第五方面的计算机可读存储介质,第六方面的计算机程序产品及第七方面的芯片系统所能达到的有益效果,可参考如第一方面、第二方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种WLAN网络中设备的连接示意图;
图2为本申请实施例提供的一种P2P网络中设备的连接示意图;
图3为本申请实施例提供的键鼠业务连接流程的示意图;
图4A-图4L为本申请实施例提供的键鼠业务的操作界面的示意图;
图5为本申请实施例提供的主设备和辅设备的总软件架构示意图;
图6为本申请实施例提供的主设备的架构示意图;
图7为本申请实施例提供的辅设备的架构示意图;
图8为本申请实施例提供的通道建立方法的总流程示意图;
图9为本申请实施例提供的通道选择的流程示意图;
图10为本申请实施例提供的确定双端设备是否支持5G WLAN的流程示意图;
图11为本申请实施例提供的一种能力集的示意图;
图12为本申请实施例提供的根据双端设备的角色选择通路类型的流程示意图之一;
图13为本申请实施例提供的根据双端设备的角色选择通路类型的流程示意图之二;
图14为本申请实施例提供的根据双端设备的角色选择通路类型的流程示意图之三;
图15为本申请实施例提供的根据双端设备的角色选择通路类型的流程示意图之四;
图16为本申请实施例提供的获取标识码的流程示意图;
图17为本申请实施例提供的向用户提示网络异常的示意图;
图18为本申请实施例提供的终端设备的硬件结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B。在本申请的描述中,“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本申请的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。例如,第一终端设备和第二终端设备等是用于区别不同的终端设备,而不是用于描述终端设备的特定顺序。在本申请实施例中,“多个”是指两个或两个以上。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为便于理解本申请实施例,以下对本申请实施例的部分用语进行解释说明,以便于本领域技术人员理解。
1、无线局域网(wireless local area net,WLAN)
WLAN是指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。WLAN有多种实现协议,为了便于说明,下面将以无线保真(wirelessfidelity,Wi-Fi)网络协议为例进行说明的,其并不对本申请形成限定。
WLAN主要由接入点(access point,AP)和站点(station,STA)组成。其中,AP设备是WLAN中作为AP角色的终端设备,STA设备是WLAN中作为STA角色的终端设备。在WLAN中,一个或多个STA设备可以通过内置的无线网卡或Wi-Fi模块与AP设备建立无线连接。AP设备可以为STA设备提供无线连接服务,多个STA设备可以通过AP设备接入同一Wi-Fi网络,实现相互连接。AP设备可以通过有线或无线连接至互联网,因此STA设备可以通过AP设备连接至互联网,例如从互联网侧下载数据或者向互联网侧上传数据,即STA设备可以通过AP设备实现Wi-Fi上网业务。
在一些实施例中,AP设备可以为无线路由器,STA设备可以为PC、笔记本电脑、手机、智能电视、穿戴式设备、平板电脑(Pad)或者装有无线网卡的台式机等,本申请不作限定。
示例性地,图1示出了一种WLAN网络中设备的连接示意图。如图1所示,终端设备1和终端设备2为STA设备,无线路由器3为AP设备。终端设备1和终端设备2分别通过Wi-Fi信道与无线路由器3建立无线连接。无线路由器3通过有线或无线连接至网络服务器。这样,终端设备1和终端设备2分别可以通过无线路由器3实现上网业务。需要说明的是,这里是以终端设备1和终端设备2连接至同一无线路由器为例进行示例性说明的。可以理解,当终端设备1和终端设备2连接至同一无线路由器时,终端设备1的Wi-Fi信道和终端设备2的Wi-Fi信道可以相同。在实际实现时,终端设备1和终端设备2也可以分别连接至不同的无线路由器。可以理解,当终端设备1和终端设备2分别连接至不同的无线路由器时,终端设备1的Wi-Fi信道和终端设备2的Wi-Fi信道可以不同。
2、P2P
P2P又称对等互联网络技术,是一种不依赖中心服务器,依靠用户群直接交换信息的互联网体系。P2P存在多种用途,比如超级键鼠(简称为键鼠)、异源投屏、超级通知和超级通话等超级终端业务。由于超级终端业务的数据传输量较大,因此也称为大数据传输业务。
在一些实施例中,P2P具体可以指Wi-Fi P2P。Wi-Fi P2P是Wi-Fi联盟推出的一项技术规范,也称为Wi-Fi直连(Wi-Fi Direct)。该规范支持多个Wi-Fi设备在没有AP的情况下基于Wi-Fi设备的Wi-Fi模块或Wi-Fi芯片也能构成一个点对点网络(P2P group)并相互通信。为了便于说明,下面可以将支持Wi-Fi P2P无线连接的Wi-Fi设备称为Wi-Fi P2P设备或者P2P设备。
在P2P连接中,设备有2种角色:
GO:相当于P2P网络中的AP角色,可理解为主设备。
GC:相当于P2P网络中的STA角色,可理解为从设备。
在进行P2P连接操作时,GO和GC会组成一个组(group)。其中,组分为两种:永久性组(persist group)和临时性组(temporary group)。在永久性组中,GO由指定设备来扮演,而且安全配置信息及组相关信息一旦生成,后续就不会变化。后续使用时,可以直接利用这些信息,减少了连接时间。在临时性组中,GO和GC的角色分配由设备双方协商。临时性组的信息都是临时的,后续每次使用都要临时创建,连接时间要大于永久性组。
在P2P连接形成的组中,仅可以存在一个GO。GO对于GC而言相当于AP。一个GO可以与多个GC建立P2P连接,从而形成P2P组。在该P2P组中,GC和GO还可以与不属于该组中的其他AP建立无线连接。
示例性地,图2示出了一种P2P网络中设备的连接示意图。如图2所示,终端设备1和终端设备2可以建立P2P连接,形成P2P组。该P2P组的拓扑结构为1:1,即,一个GO与一个GC连接。
随着终端技术的发展,WLAN和P2P支撑的业务种类越来越多。对于超级键鼠、异源投屏、超级通知和超级通话等超级终端业务,可以在主设备和辅设备之间建立基于P2P通道的会话,或者建立基于WLAN通道的会话。以超级键鼠为例,在主设备和辅设备进行键鼠连接后,鼠标在主设备和辅设备之间进行穿越,穿越的相关数据就是基于先前建立的WLAN或P2P会话传输的。
上述主设备和辅设备可以为同一类型的终端设备,也可以为不同类型的终端设备。其中,终端设备也称为终端(terminal)或用户设备(user equipment,UE)。比如,终端设备可以是PC、手机(mobile phone)、智慧屏、智能电视、平板电脑(Pad)、穿戴式设备、带无线收发功能的电脑、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端或智慧家庭(smart home)中的无线终端等等,或者可以为其他能够建立如P2P通道或WLAN通道的设备或装置。对于终端设备的具体类型,本申请实施例不作任何限制。
在一些实施例中,主设备可以为PC,辅设备可以为手机、平板或智慧屏。主设备和辅设备可以采用相同类型的操作系统,也可以采用不同类型的操作系统。以主设备和辅设备采用不同类型的操作系统为例,主设备的操作系统可以是基于微软(Windows)系统,辅设备的操作系统可以是基于安卓(Android)系统。
下面以超级终端业务是键鼠业务为例,介绍键鼠业务的连接流程的示意图。
示例性地,图3为本申请实施例提供的键鼠业务连接流程的示意图。该方法可以应用于主设备和辅设备,主设备包括键鼠业务和连接服务模块。该方法可以包括下述的S1-S16。
S1,智慧互联接收用户输入的确认启用智慧互联的操作。
智慧互联为主设备提供的一项设备互联服务,用于发现认证位于主设备附近的设备,并与发现的设备进行一项或多项超级终端业务,比如超级键鼠、异源投屏、超级通知、超级通话或其他任意可能的超级终端业务。
S2,智慧互联响应于该操作,加载并显示智慧互联界面。
在用户确认启用智慧互联后,键鼠业务会先加载并显示智慧互联界面,再搜索发现位于主设备附近的可连接设备。在发现位于主设备附近的可连接设备之前,键鼠业务的界面包括一项或多项超级终端业务的入口,但尚未包括位于主设备附近的可连接设备的标识。
S3,智慧互联向连接服务模块发送发现设备命令,该命令用于指示发现可连接设备。
S4,连接服务模块扫描以发现附近的其他设备。
S5,在连接服务模块发现其他设备后,向智慧互联发送其他设备已上线的通知消息。
连接服务模块可通过蓝牙或WLAN等无线模块,扫描、发现附近的其他设备,在完成对其他设备的认证后,连接服务模块向智慧互联发送其他设备已上线的通知消息。
S6,智慧互联显示已上线设备的标识。
其他设备已上线的通知消息可以包括已上线的通知消息的标识、设备登录账号和/或设备类型等信息。键鼠业务根据这些信息,显示各个已上线设备的标识。应理解,各个已发现设备的图标的显示方式可以不同,从而使得用户能够根据图标对各个设备进行区分,从而从这些设备中选择一个或多个设备作为进行键鼠业务的辅设备。
S7,键鼠业务接收用户输入的确认与辅设备进行键鼠业务的操作。比如,该操作可以为用户对某个已上线设备的标识的选择操作。
S8,键鼠业务向连接服务模块发送建立服务型会话的命令。
键鼠业务需要建立两种类型的会话:服务型会话和业务型会话。其中,服务型会话主要负责控制命令的传输,比如鼠标穿越的命令。业务型会话负责业务数据的传输,比如鼠标坐标等。基于业务特征,键鼠业务需要基于高速率和大带宽的传输通道进行数据传输,P2P和5G WLAN通道均可满足需求。以基于P2P建立键鼠业务会话为例,建立服务型会话的命令可以用于指示待建立的通道类型为P2P通道。
然后,连接服务模块与辅设备开始建立服务型会话,即开始执行下述S9。
S9,连接服务模块与辅设备建立P2P通道。
S10,连接服务模块基于建立的P2P通道,确定服务型会话建立成功。
S11,连接服务模块向键鼠业务发送服务型会话建立成功的消息。
S12,键鼠业务向连接服务模块发送成功建立业务型会话的命令。
然后,连接服务模块与辅设备开始建立业务型会话,即开始执行下述S13。
S13,连接服务模块与辅设备复用P2P通道。
即,服务型会话和业务型会话使用同一个P2P通道。
S14,连接服务模块基于复用的P2P通道,确定业务型会话建立成功。
S15,连接服务模块向键鼠业务发送业务型会话建立成功的消息。
S16,键鼠业务显示键鼠连接成功的消息。
在主设备与辅设备成功连接键鼠业务后,主设备可以向辅设备发送控制数据和/或业务数据,从而实现键鼠穿越。其中,控制数据包括请求进行键鼠业务的控制命令、断开键鼠业务的控制命令、暂停键鼠业务的控制命令等;业务数据包括鼠标的原始数据,比如鼠标的滑动距离,滚轮的转动信息、左中右按键的按压信息等。
然而,在上述键鼠业务的连接流程中,可能会出现下述问题:
1、键鼠业务在建立会话时可以选择一种通道类型,比如P2P通道类型或WLAN通道类型。通常P2P通道类型的传输速率更快,因此主设备会选择P2P通道类型。如果选择了P2P通道类型,但是主设备和辅设备可能会出现角色冲突,比如主设备和辅设备的角色均为GO,或者主设备和辅设备的角色均为GC,从而双端设备可能无法正常建立P2P通道,进而使得键鼠业务连接失败。
2、P2P通道的网络质量与双端设备连接的Wi-Fi信道有关。当P2P信道与双端设备的Wi-Fi信道不一致时,可能会出现双端同频异信道(即,主设备的P2P信道与主设备的Wi-Fi信道不一致,辅设备的P2P信道与辅设备的Wi-Fi信道也不一致),从而出现鼠标滑动卡顿和文件传输慢的问题,使得用户体验较差。
3、由于键鼠业务的业务型会话和服务型会话是基于同一条P2P通道建立的,所以一旦P2P网络质量差将会对控制命令和业务数据的传输同时产生影响。
鉴于上述问题,本申请实施例提供一种通道建立方法。对数据传输速率和带宽有较高要求的业务,比如超级键鼠、异源投屏、超级通知和超级通话等超级终端业务,可以将通道类型配置为P2P+WLAN。主设备在获取到通道类型P2P+WLAN后,可以根据双端设备支持的能力信息、双端设备的信道信息、双端设备的角色信息和/或连接状态信息等,选择一个合适的通道类型,比如P2P通道或WLAN通道,并基于选择通道类型建立服务型会话和业务型会话,从而提高超级终端业务的数据传输成功率。另外,当服务型会话基于更优通道建立成功后,业务型会话的链路类型会与服务型会话保持一致,因此在一定程度上也提高了超级终端业务的数据传输成功率。
需要说明的是,在本申请实施例中,物理通道也能称为物理链路,P2P通道也能称为P2P链路,WLAN通道也能称为WLAN链路,通道类型也能称为链路类型。
下面以主设备为PC,辅设备为PAD,且在两个设备之间进行键鼠业务为例,结合图4A-图4L,对与键鼠业务对应的操作界面进行示例说明。
假设PC和PAD均支持智慧互联功能。当用户想要通过PC的键鼠控制PAD时,用户可以对PC操作,触发PC显示如图4A所示的智慧互联界面。智慧互联界面提供了“键鼠共享”选项401、“通话共享”选项和“我的设备”402选项。其中,当加载并显示智慧互联界面时,PC可以通过智慧互联功能,自动发现认证在PC附近登录相同荣耀账户的设备,并在“我的设备”402选项中显示已发现及认证的在PC附近登录相同荣耀账号的设备。示例性的,“我的设备”402选项可以包括:以第一形式显示的各个已发现及认证设备(即在PC附近的、上线设备)的标识,以及以第二形式显示的先前发现过但本次未发现的设备(即未在PC附近的、未上线设备)的标识。其中,第一形式和第二形式为不同的显示形式,比如第一形式为彩色,第二形式为黑白。设备标识可以包括图标、设备类型和设备名称等。比如,如图4A所示,手机的图标403和PAD的图标404代表本次已发现的上线设备,智慧屏的图标405代表未上线设备。
然后,如图4B所示,用户可以点击“键鼠共享”选项401。PC响应于用户对“键鼠共享”选项401的点击操作,显示如图4C所示的键鼠共享界面。键鼠共享界面的中心位置显示有PC的图标。另外,在PC的图标周围还显示有已发现及认证的图标,比如手机的图标403、PAD的图标404。如图4C所示的各个图标以气泡形式存在,以气泡形式存在的各个图标允许被用户拖动至键鼠共享界面中的任意位置,比如拖动至在PC的图标左侧的白色托盘区域或在PC的图标右侧的白色托盘区域。其中,当某个被图标拖动至在PC的图标左侧的白色托盘区域时,允许键鼠的光标从PC的屏幕左边缘穿越至PAD的屏幕右边缘,进而键鼠的光标可以在PAD的屏幕中移动,即实现了键鼠穿越。当某个被图标拖动至在PC的图标右侧的白色托盘区域时,允许键鼠的光标从PC的屏幕右边缘穿越至PAD的屏幕左边缘,进而键鼠的光标可以在PAD的屏幕中移动,即实现了键鼠穿越。
当用户想要通过鼠标同时控制PC和PAD时,用户可以沿着如图4D所示的直线箭头方向,将PAD的图标404移动至位于PC的图标右侧的托盘区域。然后,如图4E所示,PAD的图标更新显示为图标406。应理解,通过更改PAD的图标的显示方式,使得用户知道已经成功将PAD的图标移动至右侧的托盘区域。在PC确定右侧的托盘区域中增加了PAD的图标406后,PC可以根据当前业务的通道类型标识,建立与通道类型标识对应的通道类型。比如,如果当前业务的通道类型标识为WLAN通道,那么开始建立WLAN通道的流程;如果当前业务的通道类型标识为P2P通道,那么开始建立P2P通道的流程。如果当前业务的通道类型标识为P2P+WLAN通道,那么开始建立WLAN通道或P2P的流程。
假设当前业务的通道类型标识为P2P+WLAN通道。PC会根据通道类型标识:P2P+WLAN通道,结合PC和PAD的信道信息、角色信息和连接状态信息等,在P2P和WLAN之间选择一个合适的通道类型,比如P2P通道或WLAN通道。然后,先基于选择通道类型建立服务型会话,再建立业务型会话,业务型会话的通道类型会与服务型会话保持一致。针对基于PC选择的通道类型建立服务型会话的过程,PC会向PAD发送请求建立基于P2P/WLAN通道的键鼠会话命令。如果PC与PAD先前未曾为键鼠业务建立过P2P/WLAN物理通道,那么PAD可以显示如图4F所示的提示框407。如果PC与PAD先前曾为键鼠业务建立过P2P/WLAN物理通道,那么PAD可以无需显示如图4F所示的提示框407,而直接建立基于P2P/WLAN物理通道。
其中,提示框407可以包括提示消息“PC请求与当前设备建立键鼠会话,是否同意?”、“是”选项和“否”选项。如果用户点击“是”选项,那么PAD和PC将建立P2P/WLAN物理通道。如果用户点击“否”选项,那么PAD将不会建立P2P/WLAN物理通道。进一步地,提示框407还可以包括“以后不再提示”选项。如果用户仅选择“是”选项或“否”选项时,那么后续进行键鼠业务时,PAD会再次显示如图4F所示的提示框407。当用户同时选择“是”选项和“以后不再提示”选项时,PAD将保存本次操作命令,如此在后续进行键鼠业务时,PAD将默认建立P2P/WLAN物理通道,而不会再次显示如图4E所示的提示框407,从而避免在每次进行键鼠业务时均进行提示而打扰到用户。当用户同时选择“否”选项和“以后不再提示”选项时,PAD将保存本次操作命令,如此在后续进行键鼠业务时,PAD将默认不会建立P2P/WLAN物理通道,从而避免在每次进行键鼠业务时均进行提示而打扰到用户。
在PC与PAD基于P2P/WLAN物理通道成功连接键鼠业务后,PC和PAD可以显示成功连接键鼠业务的提示消息,然后PC可以通过P2P/WLAN物理通道,向PAD发送控制数据和/或业务数据,从而实现键鼠穿越。其中,控制数据包括请求进行键鼠业务的控制命令、断开键鼠业务的控制命令、暂停键鼠业务的控制命令等;业务数据包括鼠标的原始数据,比如鼠标的滑动距离,滚轮的转动信息、左中右按键的按压信息等。
在一个示例中,如果PC与PAD是基于P2P物理通道成功连接键鼠业务,那么如图4G所示,PC会显示“PC和PAD正在通过P2P通路进行键鼠共享业务”的提示消息408。
在另一个示例中,如果PC与PAD是基于WLAN物理通道成功连接键鼠业务,那么如图4H所示,PC显示“PC和PAD正在通过WLAN通路进行键鼠共享业务”的提示消息409。
需要说明的是,PAD也可以显示如图4G或图4H所示的提示消息。由于PC和PAD可能为同一用户的多个设备,因此如果PC和PAD上均显示提示框,那么用户可能需要分别需要在PC和PAD进行操作,导致操作较为繁琐,影响用户体验。因此,作为一种可能的实现方式,可以默认仅在PC上显示提示消息,而无需在PAD上显示提示消息。作为另一种可能的实现方式,可以默认仅在PAD上显示提示消息,而无需在PC上显示提示消息。作为又一种可能的实现方式,可以根据键鼠的光标当前所在的屏幕,显示提示信息,如果键鼠的光标正在PC的设备上那么仅在PC的设备上显示提示消息,如果键鼠的光标正在PAD的设备上那么仅在PAD的设备上显示提示消息。作为再一种可能的实现方式,默认在PC和PAD上均显示提示消息,如果任何一个设备接收到用户针对提示消息的操作,那么取消在PC和PAD上显示的提示消息。应理解,无论采用上述何种实现方式均可以简化用户操作。
若在经过通道类型选择后,最终建立的会话的通道网络质量较差,比如出现P2P信道在2.4G频段,或者P2P信道和双端设备Wi-Fi信道均不一致(即双端同频异信道),则可以对用户进行当前网络较差的提示。
在一个示例中,如果当前网络较差是因为P2P信道在2.4G频段引起的,那么PC可以显示如图4I所示的提示框410,和/或,PAD可以显示如图4J所示的提示框411。
其中,提示框410和提示框411均可以包括提示消息“当前网络不稳定,是否重启Wi-Fi?”、“是”选项和“否”选项。如果用户点击在任意一个屏幕上的“是”选项,那么PC和PAD将自动关闭并重启Wi-Fi。如果用户点击在任意一个屏幕上的“否”选项,那么PC和PAD将继续使用当前的物理通道传输数据。进一步地,提示框410和提示框411还可以包括“以后不再提示”选项。如果用户仅选择“是”选项或“否”选项时,那么后续进行键鼠业务出现P2P信道在2.4G频段时,PC和PAD会再次显示如图4I所示的提示框410和如图4J所示的提示框411。当用户同时选择在任意一个屏幕上的“是”选项和“以后不再提示”选项时,PC和PAD将保存本次操作命令,如此在后续进行的键鼠业务出现P2P信道在2.4G频段时,PAD将默认自动关闭并重启Wi-Fi,而不会再次显示如图4I所示的提示框410和如图4J所示的提示框411,从而避免在每次键鼠业务出现P2P信道在2.4G频段时均进行提示而打扰到用户。当用户同时选择在任意一个屏幕上的“否”选项和“以后不再提示”选项时,PC和PAD将保存本次操作命令,如此在后续进行键鼠业务出现P2P信道在2.4G频段时,PC和PAD将默认不会关闭并重启Wi-Fi,从而避免在每次进行键鼠业务时均进行提示而打扰到用户。
在另一个示例中,如果当前网络较差是因为双端同频异信道引起的,那么PC可以显示如图4K所示的提示框412,和/或,PAD可以显示如图4L所示的提示框413。
其中,提示框412和提示框413均可以包括提示消息“当前网络不稳定,是否断开本机或协同设备的WLAN?”、“是”选项和“否”选项。如果用户点击在某个设备的屏幕上的“是”选项,那么这个设备将自动断开本机的WLAN。如果用户点击在某个设备的屏幕上的“否”选项,那么PC和PAD将继续保持本机的WLAN和协同设备的WLAN。进一步地,提示框412和提示框413还可以包括“以后不再提示”选项。如果用户仅选择“是”选项或“否”选项时,那么后续进行键鼠业务出现双端同频异信道时,PC和PAD会再次显示如图4K所示的提示框412和如图4L所示的提示框413。当用户同时选择在某个设备的屏幕上的“是”选项和“以后不再提示”选项时,这个设备将保存本次操作命令,如此在后续进行的键鼠业务出现双端同频异信道时,将默认自动断开本机的WLAN和协同设备的WLAN,而不会再次显示如图4K所示的提示框412和如图4L所示的提示框413,从而避免在每次键鼠业务出现双端同频异信道时均进行提示而打扰到用户。当用户同时选择在任意一个屏幕上的“否”选项和“以后不再提示”选项时,这个设备将保存本次操作命令,如此在后续进行键鼠业务出现双端同频异信道时,这个设备将默认保持本机的WLAN和协同设备的WLAN,从而避免在每次进行键鼠业务时均进行提示而打扰到用户。
需要说明的是,上述图4I-图4L是以设备向用户提示网络异常,并响应于用户确定操作,由设备重启Wi-Fi或断开WLAN为例进行示例说明的,其并不对本申请实施例形成限定。本申请还提供另外一种实现方式,比如PC和/或PAD可以输出图17所示的提示信息,从而用户可以手动重启Wi-Fi或断开WLAN。应理解,无论采用何种方式重启Wi-Fi功能或断开WLAN,都可以解决网络异常问题,提高当前业务的网络质量。
下面对实现通道建立方法的两个终端设备的软件架构进行示例说明。
结合上述实施例的描述,主设备和辅设备可以为多种类型的终端设备,不同类型的终端设备采用的软件框架有所不同。示例性地,主设备和辅设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构或云架构。示例性地,当主设备为PC时,PC可以是基于分层架构的微软(Windows)系统。当辅设备为手机、平板或智慧屏时,这些设备可以是基于分层架构的安卓(Android)系统。
示例性地,图5示出了两个终端设备的总软件架构示意图。如图5所示,如果主设备采用基于Windows系统,那么主设备的上层为业务层,业务层的下一层为服务层。如果辅设备采用基于Android系统,那么辅设备的上层为应用层,业务层的下一层为框架层(framework,FWK)。
主设备的业务层和辅设备的应用层均可以包括一个或多个超级终端业务,比如键鼠、超级通知、屏幕镜像、超级接续、多屏协同、超级会话、克隆和文件分享等。用户可以通过对主设备或辅设备中的任意一个超级终端业务的操作,触发启用该超级终端业务。若是键鼠业务,则如图5所示通常由主设备触发超级终端业务。
主设备的服务层和辅设备的FWK层均可以包括连接服务模块。连接服务模块包括自发现认证模块、会话和连接模块、设备信息管理和同步模块。其中,自发现认证模块用于:在设备上线认证过程中扫描和发现周边设备,比如登录相同荣耀账号的设备,并与周边设备交换各自的Wi-Fi信道和P2P角色信息。会话和连接模块用于:会话的通道选择,基于选择通道建立WLAN或P2P连接,以及获取会话的连接状态。设备信息管理和同步模块用于:保存双端设备的Wi-Fi信道和P2P角色信息,以及当设备的P2P角色发生变化或者Wi-Fi信道发生变化时,向所发现的其他设备进行信息同步。
下面以主设备采用Windows系统为例,结合图6对主设备的架构进行介绍。
图6示出了本申请实施例提供的主设备的架构示意图。如图6所示,主设备可以采用分层架构,将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Windows系统分为用户态和内核态。其中,用户态包括应用层(业务层)、服务层以及子系统动态链接库。内核态自上而下分为执行体、内核和驱动层、硬件抽象层(hardware abstraction layer,HAL)及固件层。上述软件架构在硬件层之上运行,硬件层中可以包括图形处理器(GPU)、中央处理器(CPU)、蓝牙芯片、Wi-Fi芯片、麦克风、摄像头及键盘等。
应用层包括业务层和服务层。业务层包括键鼠协同、超级通知、屏幕镜像、超级接续、多屏协同、超级会话、克隆和文件分享等应用程序。服务层包括连接服务模块。其中,连接服务模块包括自发现认证模块、会话和连接模块、设备信息管理和同步模块。对于连接服务模块中各个模块的具体实现方式可以参照下述实施例的描述,此处不予赘述。
子系统动态链接库包括应用程序接口(application programming interface,API)模块,该API模块包括Windows API,Windows原生API等。
执行体包括进程管理器、虚拟内存管理器、安全引用监视器、I/O管理器、Windows管理规范(Windows management instrumentation,WMI)、电源管理器、系统事件驱动(operating system event driver,OsEventDriver)节点、系统与芯片驱动(operatingsystem to system on chip,OS2SOC)节点等。
内核和驱动层包括内核以及设备驱动程序。其中,内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。内核可以进行线程安排和调度、陷阱处理和异常调度、中断处理和调度等。设备驱动程序运行在内核模式下,为I/O系统和相关硬件之间的接口。设备驱动程序可包括显卡驱动等。
HAL层是一个核心态模块,可以隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等,为运行Windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。需要说明的是,为了维护Windows的可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用HAL中的例程。
固件层可以包括基本输入输出系统(basic input output system,BIOS),BIOS是一组固化到计算机主板上一个只读存储器(read only memory,ROM)芯片内的程序。
下面以辅设备采用Android系统为例,结合图7对辅设备的架构进行介绍。
图7示出了本申请实施例提供的辅设备的架构示意图。如图7所示,辅设备可以采用分层架构,将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施例中,将软件层从上至下依次划分为:应用层(application,APP)、FWK等、HAL层、内核层(Kernal)。上述软件架构在硬件层之上运行,硬件层中可以包括听筒、扬声器、键盘、蓝牙芯片和Wi-Fi芯片等。
应用层,可以包括一系列的应用程序包,比如键鼠协同、超级通知、屏幕镜像、超级接续、多屏协同、超级会话、克隆和文件分享等应用程序。当这些应用程序被运行时,可以通过API访问应用程序框架层提供的各个服务模块,并且执行相应的智能化业务。应用程序具有可视的用户界面。用户可以通过对用户界面的操作,触发手机执行对应的操作,如启用超级终端业务、结束超级终端业务、选择建立P2P通道、选择建立WLAN通道等。
框架层用于支持应用层中的各个应用程序的运行。比如,框架层可以包括连接服务模块。其中,连接服务模块包括自发现认证模块、会话和连接模块、设备信息管理和同步模块。对于连接服务模块中各个模块的具体实现方式可以参照下述实施例的描述,此处不予赘述。
HAL层是对Linux内核驱动程序的封装,向上提供接口,它隐藏了特定平台的硬件接口细节,为操作系统提供了虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。例如,硬件抽象层包括Wi-Fi Hal、音频Hal和蓝牙Hal。其中,Wi-Fi Hal定义了由连接服务调用手机必须实现以确保Wi-Fi功能和P2P功能正常运行的标准接口,负责将连接服务模块与Wi-Fi芯片关联起来。
内核层是硬件和软件之间的层。内核层至少包含Wi-Fi驱动,扬声器驱动,键鼠驱动,以及显示驱动等。其中,Wi-Fi驱动主要负责与Wi-Fi芯片交互,以建立WLAN通道或P2P通道。
硬件层提供了各种硬件设备,比如听筒,扬声器,键盘、蓝牙芯片和Wi-Fi芯片等。其中,蓝牙芯片用于与蓝牙设备建立蓝牙连接,以及传输蓝牙数据等。Wi-Fi芯片用于与支持Wi-Fi的设备建立Wi-Fi连接,以及传输STA数据等。
需要说明的是,图6和图7示出的软件结构中的层以及各层中包含的部件,并不构成对双端设备的具体限定。在另一些实施例中,双端设备可以包括比图示更多的层。每个层中可以包括比图示更多或更少的部件。另外,上述各个功能模块也可能合成为一个功能模块,比如设备信息管理和同步模块可以划分为设备信息管理模块和设备同步模块,其中,设备信息管理模块用于保存双端设备的Wi-Fi信道和P2P角色信息,设备同步模块用于当设备的P2P角色发生变化或者Wi-Fi信道发生变化时,向所发现的其他设备进行信息同步。
可以理解的是,为了实现本申请实施例中的通道建立方法,双端设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能。
下面以执行主体为双端设备,且主设备包含目标业务和连接服务模块为例,对本申请实施例提供的P2P双通道建立方法进行示例性说明。其中,目标业务可以是如图6或图7所示的软件结构图中的超级终端业务(即大数据传输业务),也可以不是超级终端业务。
实施例一
图8为本申请实施例提供的通道建立方法的总流程示意图。该方法可以应用于如图4A-图4L所示的键鼠业务,或其他任意可能的业务。其中,主设备和辅设备可以为同一类型的终端设备,也可以为不同类型的终端设备。如图8所示,该方法可以包括下述的A1-A23。
A1,智慧互联接收用户输入的确认启用智慧互联的操作。
对于智慧互联可以参照上述实施例一的S1描述,此处不再赘述。
A2,智慧互联响应于该操作,加载并显示智慧互联界面。
在用户确认启用智慧互联后,智慧互联会先加载并显示智慧互联界面,再搜索发现位于主设备附近的可连接设备。在发现位于主设备的可连接设备之前,智慧互联界面的“我的设备”选项中尚未包括位于主设备的可连接设备附近的标识。
A3,智慧互联向连接服务模块发送发现设备命令,该命令用于指示发现可连接设备。
在一些实施例中,上述可连接设备可以为与主设备登录相同账号的设备。
示例性地,智慧互联可以启用连接服务模块,以发现在主设备附近登录的其他设备。比如,如果主设备登录了荣耀账号“187******00”,那么主设备的连接服务模块可以响应于发现设备指令,去确定主设备周围是否有登录相同荣耀账号“187******00”的设备。
A4,连接服务模块扫描以发现附近的其他设备。
连接服务模块可通过蓝牙或WLAN等无线模块,扫描、发现附近的其他设备。
以主设备的连接服务模块通过WLAN模块,扫描、发现附近的其他设备为例。
扫描(scan)阶段:主设备的连接服务模块使用通信协议IEEE Std 802.11定义的扫描过程,查找其他的P2P设备或者P2P group,并选择最佳的信道去建立P2P group。假设主设备所支持的信道(channel)为channel 1、channel 6和channel 11,主设备的连接服务模块可以对这三个信道进行扫描去寻找周围的其他设备。
监听(listen)状态:不属于P2P group中的设备如果处于listen状态则可以被其他设备发现。listen状态会给定一个监听信道(listen channel)。比如,监听信道可以是从信道群(social channels)中选择的一个信道,信道群可以是2.4GHz频段中的channel 1、channel 6和channel11。监听信道应在设备发现之初选择,并应保持不变,直到P2PDiscovery阶段完成。在一个示例中,处listen状态的P2P设备只能对探测请求帧(proberequest)进行应答。
发现(search)状态:P2P device会在social channel上发送一个或多个探测请求帧。该探测请求帧可以包含设备名称(device Name)、P2P IE、设备秘钥(device passwordID)、服务集标识(service set identifier,SSID)、基本服务集标识(basic service setidentifier,BSSID)和一个目的地址(如广播地址或其P2P设备地址)等。
一个P2P设备处于扫描阶段,它有可能会发现另一个处于监听状态的P2P设备。上述步骤A3主要用于保证两个P2P设备能够处于相同的信道相互发现,并交换设备信息。一个P2P设备进行连接可能会出现下面三种情况:
情况1、进行group owner negotiation,建立一个新的P2P group。
情况2、发送P2P invitation request frame去调用一个先前建立好的persistent P2P group。
情况3、发送P2P invitation request frame以请求加入已经建立好的P2Pgroup。
A5,在连接服务模块发现其他设备后,向智慧互联发送其他设备已上线的通知消息。
连接服务模块可通过蓝牙或WLAN等无线模块,扫描、发现附近的其他设备,在完成对其他设备的认证后,连接服务模块向智慧互联发送其他设备已上线的通知消息。
A6,智慧互联在智慧互联界面显示已上线设备的标识。
示例性地,在主设备的连接服务模块发现其他P2P设备后,主设备的连接服务模块可以向智慧互联发送各个P2P设备的标识、设备登录账号和设备类型等信息。
示例性地,智慧互联可以根据这些信息,在如图4A所示的“我的设备”402选项中显示各个已上线设备的标识。应理解,各个已发现设备的图标的显示方式可以不同,从而使得用户能够根据图标对各个设备进行区分,从而从中选择一个终端设备作为进行键鼠业务的辅设备。
需要说明的是,上述A1-A6是以在加载并显示智慧互联界面后,首次扫描发现附近的其他设备为例进行示例说明的,其并不对本申请实施例形成限定。应理解,在实际应用中,连接服务模块可以实时扫描发现附近的其他设备,并将发现的设备的标识显示在智慧互联界面或键鼠共享界面,以及取消显示已经离线设备的标识。
A7,智慧互联接收用户在智慧互联界面对键鼠业务的选择操作,响应于该选择操作,创建键鼠业务进程,并显示键鼠共享界面。
示例性地,如图4B所示,用户可以点击“键鼠共享”选项401。PC响应于用户对“键鼠共享”选项401的点击操作,创建键鼠业务进程,并显示如图4C所示的键鼠共享界面。键鼠共享界面的中心位置显示有PC的图标。另外,在PC的图标周围还显示有已发现及认证的图标,比如手机的图标403、PAD的图标404。
A8,键鼠业务接收用户输入的确认与辅设备进行键鼠业务的操作。
其中,该操作可以为用户对某个已上线设备的标识的选择操作。比如,用户可以沿着如图4D所示的直线箭头方向,将PAD的图标404移动至位于PC的图标右侧的托盘区域。
A9,键鼠业务向连接服务模块发送建立服务型会话的命令。
键鼠业务需要建立两种类型的会话:服务型会话和业务型会话。其中,服务型会话主要负责控制命令的传输,比如鼠标穿越的命令。业务型会话负责业务数据的传输,比如鼠标坐标等。基于业务特征,键鼠业务需要基于高速率和大带宽的传输通道进行数据传输,P2P和WLAN通道可满足需求。
键鼠业务向连接服务模块发送的建立服务型会话的命令可以包含通道类型标识:P2P+WLAN,从而使得连接服务模块根据该通道类型标识,从P2P和WLAN通道中选择一种合适的通道类型。另外,由于连接服务模块可能发现了多个设备,因此键鼠业务向连接服务模块发送的建立服务型会话的命令还可以包括辅设备的标识,以使得连接服务模块根据辅设备的标识,确定与主设备待建立会话的辅设备。需要说明的是,上述辅设备为已发现设备中的一个或多个设备,下述实施例以主设备与一个辅设备的建立键鼠会话过程为例进行示例说明,应理解,主设备与多个辅设备的建立键鼠会话的过程可以参照A9-A23描述,此处不予赘述。
在连接服务模块接收到建立服务型会话的命令后,连接服务模块与辅设备开始建立服务型会话。由于服务型会话是基于P2P通道或WLAN通道的会话,因此连接服务模块与辅设备需要先建立P2P通道或WLAN通道,即开始执行下述A10和A11。
A10,响应于该命令,连接服务模块选择与该命令对应的物理通道类型。
当建立服务型会话的命令包含通道类型标识P2P+WLAN时,连接服务模块可以根据接收到的通道类型标识、双端设备支持的能力信息、主设备和辅设备的信道信息、角色信息和/或连接状态信息等,在P2P通道类型和WLAN通道类型中选择一个合适的通道类型,比如P2P通道类型或WLAN通道类型。可以参照下述实施例的具体描述,此处不予赘述。
A11,连接服务模块根据物理通道类型的选择结果,与辅设备建立P2P通道或WLAN通道。
如果物理通道类型的选择结果为P2P通道类型,那么主设备通过连接服务模块与辅设备建立P2P通道。或者,如果物理通道类型的选择结果为WLAN通道类型,那么主设备通过连接服务模块与辅设备建立WLAN通道。
A12,连接服务模块基于建立的P2P通道,确定服务型会话建立成功。即基于P2P通道建立服务型会话。
A13,连接服务模块向键鼠业务发送服务型会话建立成功的消息。
A14,键鼠业务向连接服务模块发送请求消息。然后,响应于请求消息,连接服务模块向键鼠业务返回服务型会话的通道类型。
连接服务模块可以保存服务型会话的通道类型,比如服务型会话的通道类型为P2P通道类型或WLAN通道类型。在建立业务型会话的命令之前,键鼠业务可以调用通道类型函数,从连接服务模块获取已保存服务型会话的通道类型,以使业务型会话的通道类型标识与服务型会话的通道类型保持一致。
A15,键鼠业务向连接服务模块发送建立业务型会话的命令。
键鼠业务向连接服务模块发送的建立业务型会话的命令可以包含通道类型标识,该通道类型标识与服务型会话的通道类型一致。如果服务型会话的通道类型为P2P通道类型,那么该命令包含的通道类型标识为P2P。或者,如果服务型会话的通道类型为WLAN通道类型,那么该命令包含的通道类型标识为WLAN。
在连接服务模块接收到建立业务型会话的命令后,连接服务模块与辅设备开始建立业务型会话。由于业务型会话是基于P2P通道或WLAN通道的会话,因此连接服务模块与辅设备会复用先前建立的P2P通道或WLAN通道,即开始执行下述A16。
A16,连接服务模块与辅设备复用P2P通道。
即,服务型会话和业务型会话使用同一个P2P通道。
在一些实施例中,主设备的会话(session)层会保存每个会话的会话类型,比如服务型会话的会话类型用符号1标识,业务型会话的会话类型用符号2标识。尽管服务型会话和业务型会话复用同一条P2P通道,但是由于这两个会话的类型标识不同,因此两端设备仍可以根据类型标识对两个会话的数据进行区分。
A17,连接服务模块基于复用的P2P通道,确定业务型会话建立成功。即基于P2P通道建立业务型会话。
A18,连接服务模块向键鼠业务发送业务型会话建立成功的消息。
A19,键鼠业务显示键鼠连接成功的消息。
在主设备与辅设备先后成功建立服务型会话和业务型会话后,键鼠业务确定该业务会话已经成功连接,并显示连接成功的消息。
如果主设备与辅设备是基于P2P物理通道成功连接键鼠业务,那么PC会显示如图4G所示的“PC和PAD正在通过P2P通路进行键鼠共享业务”的提示消息408。然后,PC可以向PAD发送控制数据和业务数据,从而实现键鼠穿越。
如果主设备与辅设备是基于WLAN物理通道成功连接键鼠业务,那么PC会显示如图4H所示的“PC和PAD正在通过WLAN通路进行键鼠共享业务”的提示消息409。然后,PC可以向PAD发送控制数据和业务数据,从而实现键鼠穿越。
上述控制数据可以包括请求进行键鼠业务的控制命令、断开键鼠业务的控制命令、暂停键鼠业务的控制命令等。业务数据可以包括鼠标的原始数据,比如鼠标的滑动距离,滚轮的转动信息、左中右按键的按压信息等。
进一步地,如果在经过通道类型选择后,最终建立的会话的网络质量较差,比如出现P2P信道在2.4G频段,或者P2P信道和双端设备Wi-Fi信道均不一致(即双端同频异信道),那么可以通过A20-A23,以提示用户当前网络较差。
A20,键鼠业务向连接服务模块发送获取业务会话连接状态的命令。该命令用于获取键鼠业务的业务会话的实际连接状态,即实际连接的网络类型以及是否与双端设备的Wi-Fi信道一致等。
A21,连接服务模块根据通道类型和双端设备Wi-Fi的通道信息,获取对应的标识码。
上述通道类型为键鼠业务最终选择的物理通道的类型。应理解,不同业务最终选择的物理通道的类型可能有所不同。比如,最终选择的物理通道的类型可以为P2P,WLAN,经典蓝牙(basic rate,BR)或低功耗蓝牙(bluetooth low energy,BLE)等。其中,P2P又分为2.GP2P和5G P2P上,WLAN又分为2.G WLAN和5G WLAN。不同的连接状态对应不同的预设标识码。
A22,连接服务模块向键鼠业务返回获取到的标识码。
A23,若键鼠业务确定该标识码为预设标识码,则显示提示信息,以向用户提示当前网络不稳定。
在键鼠业务中预先存储有一种或多种预设标识码。在连接服务模块向键鼠业务返回标识码后,键鼠业务将该标识码与预设标识码进行比对,当该标识码与任意一个预设标识码相同时,可以确定当前网络不稳定。此时,键鼠业务可以显示与该预设标识码对应的提示信息。应理解,不同的连接状态对应不同的预设标识码,不同的预设标识码对应不同的提示信息,从而可以使用户获知当前网络的具体问题,并决定是否解决该具体问题,从而提高用户体验。
在本申请实施例中,当进行某项业务时,如果某项业务的通道类型为P2P+WLAN,那么可以根据双端设备支持的能力信息、主设备和辅设备的信道信息、角色信息和/或连接状态信息,选择一个合适的通道类型,比如P2P通道或WLAN通道,并基于选择通道类型建立服务型会话和业务型会话,从而提高超级终端业务的数据传输成功率。另外,当服务型会话基于更优通道建立成功后,业务型会话的链路类型会与服务型会话保持一致,因此在一定程度上也提高了超级终端业务的数据传输成功率。
实施例二
上述实施例一介绍了通道建立方法的总流程。结合上述实施例一的描述,物理通道类型选择流程的核心在于结合上层业务配置的通道类型标识(即会话优先级)及当前的Wi-Fi连接状态等信息,选择WLAN通道类型或P2P通道类型。实施例二将对选择与会话优先级对应的物理通道类型的具体实现方式进行示例说明。
需要说明的是,5G WLAN的理论传输速率为2402Mbps(兆比特每秒),2.4G WLAN的理论传输速率为574Mbps,即5G WLAN的理论传输速率高于2.4G WLAN的理论传输速率。由于超级键鼠、异源投屏、超级通知和超级通话等超级终端业务的数据量大,对物理通路的传输速率要求较高,因此超级终端业务配置的通道类型标识具体可以为P2P+5G WLAN。
下面将结合图5-图7所示的自发现认证模块、会话和连接模块、设备信息管理和同步模块,以超级终端业务配置的通道类型标识具体为P2P+5G WLAN为例,对超级会话建立的关键步骤进行示例说明。
示例性地,图9示出了会话建立的关键步骤的示意图。
在会话建立前,上层业务会根据自身需求,设置用于指示会话优先级的通道类型标识。比如,主设备可以预先对超级键鼠、异源投屏、超级通知和超级通话等超级终端业务进行标识。如果用户触发的上层业务是超级终端业务,则上层业务向会话和连接模块下发的通道类型标识为P2P+5G WLAN。如果用户触发的上层业务不是超级终端业务,则上层业务根据自身业务特征,向会话和连接模块下发的通道类型标识为P2P、WLAN、BR或BLE等。在会话和连接模块接收到上层业务发送的通道类型标识后,开始建立会话。
如图9所示,在开始建立会话后,会话和连接模块可以先执行A10(即选择通道类型),再执行A11(即建立与通道类型对应的物理通道),从而会话建立成功。其中,上述A10具体可以包括下述A101-A107。
A101,会话和连接模块判断上层业务发送的通道类型标识是否为P2P+5G WLAN。
如果通道类型标识是P2P+5G WLAN,那么会话和连接模块可以执行下述A102。
如果通道类型标识不是P2P+5G WLAN,那么会话和连接模块可以无需执行下述A102,并将物理通道设置为与上层业务发送的通道类型标识对应的通道类型。
具体地,如果上层业务发送的通道类型标识为P2P,那么会话和连接模块可以执行A104:选择P2P通道类型。然后,会话和连接模块与辅设备建立P2P通道。
如果上层业务发送的通道类型标识为WLAN,那么会话和连接模块可以执行A105:选择WLAN通道类型。然后,会话和连接模块与辅设备建立WLAN通道。
如果上层业务发送的通道类型标识为BR,那么会话和连接模块可以执行A106:选择BR通道类型。然后,会话和连接模块建立BR通道。
如果上层业务发送的通道类型标识为BLE,那么会话和连接模块可以执行A107:选择BLE通道类型。然后,会话和连接模块与辅设备建立BLE通道。
需要说明的是,上述实施例是以P2P、WLAN、BR和BLE为例进行示例说明的,其并不对本申请实施例形成限定。应理解,在实际实现时,也可以是其他通道类型。
A102,会话和连接模块判断双端设备是否支持5G WLAN组网。
会话和连接模块可以执行下述步骤:从设备信息管理和同步模块,获取本端设备(即主设备)的能力集和对端设备(即辅设备)的能力集;从自发现认证模块,获取对端设备的发现类型;然后,根据双端设备的能力集和对端设备的发现类型,确定双端设备是否支持5GWLAN组网。其中,对端设备的发现类型,也称为上线类型,是指主设备发现的辅设备上线的具体方式。如果主设备通过WLAN模块(比如Wi-Fi芯片)发现辅设备上线,那么对端设备的发现类型为WLAN发现类型。如果主设备通过BLE模块(比如蓝牙芯片)发现辅设备上线,那么对端设备的发现类型为BLE发现类型。
如果双端设备均支持5G WLAN,那么会话和连接模块可以执行下述A103。
如果双端设备任意一端不支持5G WLAN,且双端设备均支持P2P,那么执行A104:选择P2P通道类型。
A103,会话和连接模块根据本端设备的5G信道列表、双端设备已有的P2P信道、双端设备连接的Wi-Fi信道,从P2P通道类型和5G WLAN通道类型中,选择一个通道类型。
如果会话和连接模块选择了P2P通道类型,那么建立P2P通道。如果会话和连接模块选择了5G WLAN通道类型,那么建立5G WLAN通道。在建立P2P通道或5G WLAN通道后,会话和连接模块基于建立的物理通道,成功建立服务型会话和业务型会话。
应理解,由于会话和连接模块是根据通道类型P2P+5G WLAN、当前的Wi-Fi连接状态、本端设备的5G信道列表、双端设备已有的P2P信道、双端设备连接的Wi-Fi信道等信息选择的通道类型,因此可以有效避免单独设置P2P通道类型建立连接时因角色冲突而导致连接失败,另外可以有效避免建立同频异信道,提高用户使用超级终端业务时的体验。
下面结合图10对会话和连接模块判断双端设备是否支持5G WLAN的流程进行示例说明。如图10所示,A102具体可以通过下述A1021-A1026实现。
A1021,会话和连接模块从设备信息管理和同步模块,获取本端设备的能力集。
设备信息管理和同步模块中存储有本端设备的能力集和对端设备的能力集。本端设备的能力集和对端设备的能力集均可以用一个int型整数表示。int型整数包含多个比特位(bit)。一个比特位可以用于表示一种能力。比如,当一个比特位为0时,表示不具备这种能力;当一个比特位为1时,表示具备这种能力。再比如,当一个比特位为0时,表示具备这种能力;当一个比特位为1时,表示不具备这种能力。
示例性地,图11示出了一种能力集的示意图。如图11所示,能力集从低到高包括8个比特位,其中,bit0表示是否具备BLE能力,bit1表示是否具备BR能力,bit2表示是否打开WLAN开关(Wi-Fi开关),bit3表示是否具备P2P能力,bit4表示是否具备2.4G WLAN能力,bit5表示是否具备5G WLAN能力,bit6表示是否具备以太网能力,bit7为空闲位。作为一种示例,当bit2为0时,表示关闭WLAN;当bit2为1时,表示开启WLAN。作为另一种示例,当bit2为1时,表示关闭WLAN;当bit2为0时,表示开启WLAN。
以本端设备的能力集为图11所示的能力集为例。假设本端设备的能力集为十进制为31,二进制为00011111,则本端设备所支持的能力包括:BLE能力、BR能力、开启WLAN、P2P能力和2.4G WLAN能力,不支持5G WLAN能力和以太网能力。
A1022,会话和连接模块根据本端设备的能力集,判断本端设备是否支持5G WLAN。
以本端设备的能力集为图11所示的能力集为例。会话和连接模块可以获取本端设备的能力集中的bit5的取值,以确定本端设备是否具备5G WLAN能力。如果bit5取值为1,那么可以确定本端设备支持5G WLAN,并执行下述A1023。如果bit5取值为0,那么可以确定本端设备不支持5G WLAN,并执行A104:选择P2P通道类型。应理解,当本端设备不支持5GWLAN时,在双端设备无法建立5G WLAN通道,因此会话和连接模块可以直接放弃选择5GWLAN通道类型,而选择P2P通道类型。
进一步地,会话和连接模块可以根据本端设备的能力集,判断本端设备是否开启WLAN。在本端设备开启WLAN且支持5G WLAN时,执行A1023。
A1023,会话和连接模块从设备信息管理和同步模块,获取对端设备的能力集。
在设备信息管理和同步模块中,除了保存有本端设备的能力集,还可以保存有对端设备的能力集。对于对端设备的能力集的实现方式,可以参照上述实施例的描述,此处不再赘述。
A1024,会话和连接模块根据对端设备的能力集,判断对端设备是否支持5G WLAN。
以对端设备的能力集为图11所示的能力集为例。会话和连接模块可以获取对端设备的能力集中的bit5的取值,以确定对端设备是否具备5G WLAN能力。如果bit5取值为1,那么可以确定对端设备支持5G WLAN,并执行下述A1025。如果bit5取值为0,那么可以确定对端设备不支持5G WLAN,那么执行A104:选择P2P通道类型。应理解,当对端设备不支持5GWLAN时,在双端设备无法建立5G WLAN通道,因此会话和连接模块可以直接放弃选择5GWLAN通道类型,而直接选择P2P通道类型。
进一步地,会话和连接模块可以根据对端设备的能力集,判断对端设备是否开启WLAN。在对端设备开启WLAN且支持5G WLAN时,执行A1025。
A1025,会话和连接模块从自发现认证模块,获取对端设备的发现类型。
结合上述实施例的描述,在设备扫描、发现和认证阶段,自发现认证模块可以通过WLAN模块或BLE模块扫描和发现周边设备,并与周边设备交换各自的Wi-Fi信道和P2P角色信息。主设备可能是通过WLAN模块发现辅设备上线,也可能是通过BLE模块发现辅设备上线。当主设备通过WLAN模块发现辅设备上线时,对端设备的发现类型为WLAN发现类型。当主设备通过BLE模块发现辅设备上线时,对端设备的发现类型为BLE发现类型。
A1026,会话和连接模块判断对端设备的发现类型是否包含WLAN发现。
当主设备通过WLAN模块发现辅设备上线时,对端设备的发现类型包含WLAN发现类型。一方面,由于在设备上线阶段建立的WLAN通道会一直保持,因此如果确定对端设备的发现类型包含WLAN发现类型,那么在后续阶段可以直接使用该WLAN通道;另一方面,如果确定对端设备的发现类型包含WLAN发现类型,那么本端设备可以获取WLAN秘钥,当后期选择了WLAN通道类型时,可以根据WLAN秘钥对传输数据加密,从而成功基于WLAN通道传输数据。
当主设备通过BLE模块发现辅设备上线时,对端设备的发现类型为BLE发现类型,不包含WLAN发现类型。一方面,由于在设备上线阶段未建立的WLAN通道,因此在后续阶段无法使用WLAN通道;另一方面,本端设备无法获取WLAN秘钥。若是后期选择了WLAN通道类型,则无法根据WLAN秘钥对传输数据加密,从而无法基于WLAN通道传输数据。
因此,会话和连接模块需要判断对端设备的发现类型是否包含WLAN发现。如果对端设备的发现类型包含WLAN发现,则执行A103:会话和连接模块根据本端设备的5G信道列表、双端设备已有的P2P信道、双端设备连接的Wi-Fi信道,从P2P通道类型和5G WLAN通道类型中,选择一个通道类型。
应理解,通过判断双端设备是否支持5G WLAN,可以在任意一端设备不支持5GWLAN的情况下,或者在对端设备的发现类型不是WLAN发现的情况下,放弃选择WLAN通道类型,而直接选择P2P通道类型,从而避免建立WLAN物理通道失败所引起的业务出错。
下面结合图11-图15,对会话和连接模块根据双端设备的角色选择通路类型的流程进行示例说明。
会话和连接模块可以从设备信息管理和同步模块,获取本端设备和对端设备的P2P角色信息,然后根据本端设备和对端设备的角色信息的正交组合,得到下述表1。
表1
如表1所示,本端设备和对端设备均可能有三种角色:GO、GC和NONE。其中,NONE为无角色,代表尚未加入任何P2P组,既不属于GO,也不属于GC。
当本端设备的角色和对端设备的角色均为NONE时,可以执行下述判断逻辑1。
当本端设备的角色为NONE,对端设备的角色为GO时,可以执行下述判断逻辑2。
当本端设备的角色为GO,对端设备的角色为NONE时,可以执行下述判断逻辑3。
当本端设备的角色为GO,对端设备的角色为GC时,或者当本端设备的角色为GC,对端设备的角色为GO时,可以执行下述判断逻辑4。
当本端设备的角色为GC,对端设备的角色为NONE时,或者当本端设备的角色为NONE,对端设备的角色为GC时,或者当本端设备的角色和对端设备的角色均为GO时,或者当本端设备的角色和对端设备的角色均为GC时,可以选择5G WLAN通道类型。应理解,在这些前提条件下,由于本端设备和对端设备角色冲突,无法建立P2P通道,因此可以直接选择5GWLAN通道类型,从而建立5G WLAN通道。
(1)判断逻辑1
当本端设备的角色和对端设备的角色均为NONE时,如图12所示,判断逻辑1可以通过下述a1-a7实现。
a1,会话和连接模块从设备信息管理和同步模块,获取本端设备支持的5G信道列表。
本端设备支持的5G信道列表包括一个或多个信道。如果会话和连接模块最终选择了P2P通道类型,那么将来建立P2P通道时所采用的信道(可简称为P2P信道或P2P的信道)为从该多个信道中选择的一个信道。
a2,会话和连接模块从设备信息管理和同步模块,获取本端设备连接的Wi-Fi信道A。
a3,会话和连接模块判断Wi-Fi信道A是否在本端设备支持的5G信道列表中。
如果Wi-Fi信道A在本端设备支持的5G信道列表中,那么执行下述a7。
如果Wi-Fi信道A不在本端设备支持的5G信道列表中,那么执行下述a4。
示例性地,以主设备为PC为例。在某些国家区域,PC支持的5G信道列表包括9个信道(channel):36、40、44、48、149、153、157、161和165。通常,P2P信道是在这9个信道中选择的一个信道。
如果本端设备连接的Wi-Fi信道A为44,Wi-Fi信道A在PC支持的5G信道列表中,则将来建立P2P通道后,P2P信道与Wi-Fi信道A可能保持一致,比如Wi-Fi信道A和P2P信道均为44,即本端设备不属于同频异信道,此时可以执行下述a7。
如果本端设备连接的Wi-Fi信道A为60,Wi-Fi信道A不在PC支持的5G信道列表中,则将来建立P2P通道后,P2P信道与Wi-Fi信道A会不一致,比如Wi-Fi信道A为60,P2P信道为36,从而导致本端设备的P2P信道和Wi-Fi信道A为5G的不同信道(即同频异信道),容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述a4。
a4,会话和连接模块从设备信息管理和同步模块,获取对端设备连接的Wi-Fi信道B。
a5,会话和连接模块判断Wi-Fi信道B是否在本端设备支持的5G信道列表中。
结合上述实施例的描述,如果Wi-Fi信道B在本端设备支持的5G信道列表中,那么将来建立P2P通道后,P2P信道与Wi-Fi信道B可能保持一致,即对端设备不属于同频异信道,此时可以执行下述a7。
如果Wi-Fi信道B不在本端设备支持的5G信道列表中,那么将来建立P2P通道后,P2P信道与Wi-Fi信道B会不一致,从而导致对端设备的P2P信道和Wi-Fi信道B为5G的不同信道(即同频异信道),容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述a6。
a6,会话和连接模块选择5G WLAN通道类型。
实验数据表明,当本端设备和对端设备均属于同频异信道(即双端同频异信道)时,建立的P2P信道的网络质量不能满足业务传输需求,此时会话和连接模块需要放弃选择P2P通道类型,而选择5G WLAN通道类型。
a7,会话和连接模块选择P2P通道类型。
通常P2P通道类型的传输速率高于WLAN通道类型的传输速率,因此通常会优先选择P2P通道类型。实验数据表明,当本端设备或对端设备中的至少一个设备不属于同频异信道时,若是在双端设备之间建立P2P信道,则建立的P2P信道的网络质量可以满足业务传输需求。因此当至少一个设备不属于同频异信道时,会选择P2P通道类型。
(2)判断逻辑2
当本端设备的角色为NONE,对端设备的角色为GO时,如图13所示,判断逻辑2可以通过下述b1-b9实现。
b1,会话和连接模块从设备信息管理和同步模块,获取对端设备的设备类型。
b2,会话和连接模块判断对端设备的设备类型是否为PC。
作为一种可选的实现方式,如果本端设备为PC,对端设备为基于Android系统的设备,那么受到硬件和软件的限制,角色为NONE的PC不能连接作为GO的Android系统设备。其中,硬件限制是指某些厂商提供的Wi-Fi芯片不支持角色为NONE的PC不能连接作为GO的Android系统设备。软件限制是指PC作为GC是通过接口(softAP)虚拟出来的GC,而不是真正的GC。在这种情况下,当本端设备的角色为NONE,对端设备的角色为GO时,需要判断对端设备的设备类型是否为PC。如果对端设备的设备类型是PC,那么支持建立P2P通道,执行下述b3。如果对端设备的设备类型不是PC,那么不支持建立P2P通道,执行下述b8。
作为另一种可选的实现方式,当本端设备和对端设备不受到硬件和软件的限制时,比如采用其他厂商提供的Wi-Fi芯片支持角色为NONE的PC连接作为GO的Android系统设备,在这种情况下,当本端设备的角色为NONE,对端设备的角色为GO时,无需判断对端设备的设备类型是否为PC,即无需执行b1和b2,而直接执行b3。
b3,会话和连接模块从设备信息管理和同步模块,获取对端设备的P2P信道。
上述对端设备的P2P信道是指对端设备已经建立的P2P通道所采用的信道,该信道可以为PC支持的5G信道列表中的一个信道。PC支持的5G信道列表包括9个信道:36、40、44、48、149、153、157、161和165。
b4,会话和连接模块从设备信息管理和同步模块,获取对端设备连接的Wi-Fi信道B。
b5,会话和连接模块判断对端设备的P2P信道是否与Wi-Fi信道B相同。
如果对端设备的P2P信道与Wi-Fi信道B相同,那么可以确定对端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B可能保持一致,此时可以执行下述b9。
如果对端设备的P2P信道与Wi-Fi信道B不同,那么可以确定对端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述b6。
b6,会话和连接模块从设备信息管理和同步模块,获取本端设备连接的Wi-Fi信道A。
b7,会话和连接模块判断对端设备的P2P信道是否与Wi-Fi信道A相同。
如果对端设备的P2P信道与Wi-Fi信道A相同,那么可以确定本端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A可能保持一致,此时可以执行下述b9。
如果对端设备的P2P信道与Wi-Fi信道A不同,那么可以确定本端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述b8。
b8,会话和连接模块选择5G WLAN通道类型。
实验数据表明,当本端设备和对端设备均属于同频异信道(即双端同频异信道)时,建立的P2P信道的网络质量不能满足业务传输需求,此时会话和连接模块需要放弃选择P2P通道类型,而选择5G WLAN通道类型。
b9,会话和连接模块选择P2P通道类型。
通常P2P通道类型的传输速率高于WLAN通道类型的传输速率,因此通常会优先选择P2P通道类型。实验数据表明,当本端设备或对端设备中的至少一个设备不属于同频异信道时,若是在双端设备之间建立P2P信道,则建立的P2P信道的网络质量可以满足业务传输需求。因此当至少一个设备不属于同频异信道时,会选择P2P通道类型。
(3)判断逻辑3
当本端设备的角色为GO,对端设备的角色为NONE时,如图14所示,判断逻辑3可以通过下述c1-c7实现。
c1,会话和连接模块从设备信息管理和同步模块,获取本端设备的P2P信道。
上述本端设备的P2P信道是指本端设备已经建立的P2P通道所采用的信道,该信道可以为PC支持的5G信道列表中的一个信道。PC支持的5G信道列表包括9个信道:36、40、44、48、149、153、157、161和165。
c2,会话和连接模块从设备信息管理和同步模块,获取本端设备连接的Wi-Fi信道A。
c3,会话和连接模块判断本端设备的P2P信道是否与Wi-Fi信道A相同。
如果本端设备的P2P信道与Wi-Fi信道A相同,那么可以确定本端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A可能保持一致,此时可以执行下述c7。
如果本端设备的P2P信道与Wi-Fi信道A不同,那么可以确定本端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述c4。
c4,会话和连接模块从设备信息管理和同步模块,获取对端设备连接的Wi-Fi信道B。
c5,会话和连接模块判断本端设备的P2P信道是否与Wi-Fi信道B相同。
如果本端设备的P2P信道与Wi-Fi信道B相同,那么可以确定对端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B可能保持一致,此时可以执行下述c7。
如果本端设备的P2P信道与Wi-Fi信道B不同,那么可以确定对端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述c6。
c6,会话和连接模块选择5G WLAN通道类型。
实验数据表明,当本端设备和对端设备均属于同频异信道(即双端同频异信道)时,建立的P2P信道的网络质量不能满足业务传输需求,此时会话和连接模块需要放弃选择P2P通道类型,而选择5G WLAN通道类型。
c7,会话和连接模块选择P2P通道类型。
通常P2P通道类型的传输速率高于WLAN通道类型的传输速率,因此通常会优先选择P2P通道类型。实验数据表明,当本端设备或对端设备中的至少一个设备不属于同频异信道时,若是在双端设备之间建立P2P信道,则建立的P2P信道的网络质量可以满足业务传输需求。因此当至少一个设备不属于同频异信道时,会选择P2P通道类型。
(4)判断逻辑4
当本端设备的角色为GO,对端设备的角色为GC时,或者当本端设备的角色为GC,对端设备的角色为GO时,如图15所示,判断逻辑4可以通过下述d1-d9实现。
d1,会话和连接模块从设备信息管理和同步模块,获取本端设备已连接的P2P设备列表。该P2P设备列表包括已经连接至本端设备的所有P2P设备。
d2,会话和连接模块判断对端设备是否在本端设备已连接的P2P设备列表中。
如果对端设备在本端设备已连接的P2P设备列表中,那么可以确定对端设备与本端设备已建立P2P连接,执行下述d3。
如果对端设备不在本端设备已连接的P2P设备列表中,那么可以确定对端设备与本端设备没有建立P2P连接,且对端设备与本端设备分别与其他设备建立P2P连接,执行下述d8。
d3,会话和连接模块从设备信息管理和同步模块,获取本端设备的P2P信道。
上述本端设备的P2P信道是指本端设备已经建立的P2P通道所采用的信道,该信道可以为PC支持的5G信道列表中的一个信道。PC支持的5G信道列表包括9个信道:36、40、44、48、149、153、157、161和165。
d4,会话和连接模块从设备信息管理和同步模块,获取本端设备连接的Wi-Fi信道A。
d5,会话和连接模块判断本端设备的P2P信道是否与Wi-Fi信道A相同。
如果本端设备的P2P信道与Wi-Fi信道A相同,那么可以确定本端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A可能保持一致,此时可以执行下述d9。
如果本端设备的P2P信道与Wi-Fi信道A不同,那么可以确定本端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道A会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述d6。
d6,会话和连接模块从设备信息管理和同步模块,获取对端设备连接的Wi-Fi信道B。
d7,会话和连接模块判断本端设备的P2P信道是否与Wi-Fi信道B相同。
如果本端设备的P2P信道与Wi-Fi信道B相同,那么可以确定对端设备不属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B可能保持一致,此时可以执行下述d9。
如果本端设备的P2P信道与Wi-Fi信道B不同,那么可以确定对端设备属于同频异信道,将来建立P2P通道后,P2P信道与Wi-Fi信道B会不一致,容易出现鼠标滑动卡顿和文件传输慢的问题,为了解决避免此类问题,可以执行下述d8。
d8,会话和连接模块选择5G WLAN通道类型。
实验数据表明,当本端设备和对端设备均属于同频异信道(即双端同频异信道)时,建立的P2P信道的网络质量不能满足业务传输需求,此时会话和连接模块需要放弃选择P2P通道类型,而选择5G WLAN通道类型。
d9,会话和连接模块选择P2P通道类型。
通常P2P通道类型的传输速率高于WLAN通道类型的传输速率,因此通常会优先选择P2P通道类型。实验数据表明,当本端设备或对端设备中的至少一个设备不属于同频异信道时,若是在双端设备之间建立P2P信道,则建立的P2P信道的网络质量可以满足业务传输需求。因此当至少一个设备不属于同频异信道时,会选择P2P通道类型。
需要说明的是,上述实施例二是以各个步骤顺序执行为例进行说明的,其并不对本申请实施例形成限定。在实际实现时可以根据需要调整各个步骤的执行顺序。比如,对于判断逻辑1,也可以先执行a5再执行a3,或a3和a5同时执行;对于判断逻辑2,也可以先执行b7再执行b5,或b5和b7同时执行;对于判断逻辑3,也可以先执行c5再执行c3,或c3和c5同时执行;对于判断逻辑4,也可以先执行d7再执行d5,或d5和d7同时执行。
至此,上述实施例已经完成对通道选择策略的说明。一方面,由于通道选择策略包含了P2P角色协商流程,因此可以避免单独设置P2P通道类型建立连接时因角色冲突而导致连接失败,从而引起业务出错的问题。另一方面,通过通道选择策略可有效避免建立同频异信道的P2P通道,从而保证数据传输速率,提高了用户的体验。
实施例三
上述实施例一介绍了通道建立方法的总流程,实施例二介绍了通道选择策略。结合上述实施例的描述,在经过通道类型选择后,最终建立的会话也能出现网络质量较差的情形,比如出现P2P信道在2.4G频段,或者双端同频异信道,那么可以提示用户当前网络较差。
示例性地,图16示出了会话和连接模块根据通道类型和双端设备Wi-Fi的通道信息,获取对应的标识码的流程示意图。
e1,会话和连接模块获取业务会话的通道状态。
e2,会话和连接模块判断该通道状态是否为P2P。
如果该通道状态是P2P,那么执行下述e3。
如果该通道状态不是P2P,那么执行下述e5。
e3,会话和连接模块判断该通道状态是否为2.4G P2P。
如果该通道状态是2.4G P2P,那么向业务返回标识码c。标识码c用于表示业务会话的通道状态为2.4G P2P。
如果该通道状态不是2.4G P2P,那么可以确定是5G P2P,并执行下述e4。
e4,会话和连接模块判断P2P信道与双端设备的Wi-Fi信道是否均不相同。
如果P2P信道与双端设备的Wi-Fi信道均不相同,那么向业务返回标识码b。标识码b用于表示业务会话的通道状态为5G P2P,且双端同频异信道。
如果P2P信道与双端设备的Wi-Fi信道中至少一个信道相同,那么向业务返回标识码a。标识码a用于表示业务会话的通道状态为5G P2P,且至少一个设备不属于同频异信道。
e5,会话和连接模块判断该通道状态是否为WLAN。
如果该通道状态是WLAN,那么执行下述e6。
如果该通道状态不是WLAN,那么执行下述e7。
e6,会话和连接模块判断该通道状态是否为5G WLAN。
如果该通道状态是5G WLAN,那么向业务返回标识码d。标识码d用于表示业务会话的通道状态为5G WLAN。
如果该通道状态不是5G WLAN,那么向业务返回标识码e。标识码e用于表示业务会话的通道状态为2.4G WLAN。
e7,会话和连接模块判断该通道状态是否为BR。
如果该通道状态是BR,那么向业务返回标识码f。标识码f用于表示业务会话的通道状态为BR。
如果该通道状态不是BR,那么执行下述e8。
e8,会话和连接模块判断该通道状态是否为BLE。
如果该通道状态是BLE,那么向业务返回标识码g。标识码g用于表示业务会话的通道状态为BLE。
如果该通道状态不是BLE,那么向业务返回标识码h。标识码h用于表示业务会话的通道状态不属于P2P、WLAN、BR和BLE,或表示无法确定业务会话的通道状态。
在上层业务中预先存储有一种或多种预设标识码。在会话和连接模块向上层业务返回标识码后,上层业务将该标识码与这些预设标识码进行比对,当返回的标识码与任意一个预设标识码相同时,可以确定当前网络不稳定,并显示与该预设标识码对应的提示信息。应理解,不同的通道状态对应不同的预设标识码,不同的预设标识码对应不同的提示信息。
示例性地,图17示出了当返回标识码b和标识码c时,向用户提示网络异常的示意图。
当会话和连接模块向上层业务返回标识码b时,上层业务可以根据标识码b确定当前网络问题为双端同频异信道。双端同频异信道是指本端设备的P2P信道与本端设备Wi-Fi信道不同,且对端设备的P2P信道与对端设备Wi-Fi信道不同。为了解决该问题,上层业务可以在屏幕中显示提示信息“当前网络不稳定,建议断开本机或者协同设备的WLAN”。如果用户按照提示信息建议断开本机设备或者协同设备的WLAN,那么至少一个设备将不属于同频异信道,从而P2P信道的网络质量可以满足上层业务的传输需求。
当会话和连接模块向上层业务返回标识码c时,上层业务可以根据标识码c确定当前网络问题为P2P信道在2.4G频段。P2P信道在2.4G频段通常是由下述原因引起的:一种原因是扩展驱动报错,另一种原因是国家码(countryCode)有误。其中,国家码是PC通过扫描周围环境中的路由器发送的数据帧中的国家码确定的。比如,若在某个国家区域的国家码不正确,则获取到的支持的5G信道列表不正确,大概率会出现P2P协商到2.4G的情况。为了解决该问题,上层业务可以在屏幕中显示提示信息“当前网络不稳定,可尝试重启Wi-Fi恢复”。如果用户按照提示信息建议关闭并重启Wi-Fi恢复,那么P2P信道可能切换至5G频段,从而满足上层业务的传输需求。
应理解,在成功建立超级终端业务的情况下,通过获取当前会话的通道状态信息,确定与通道状态信息对应的标识码,能够在标识码为预设标识码的情况下告知用户通道异常,从而用户可以通过重启Wi-Fi或断开WLAN等手段恢复网络,从而提高用户体验。
可以理解的是,终端设备为了实现上述功能,其包含了执行每一个功能相应的硬件结构或软件模块,或两者结合。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端设备进行功能模块的划分,例如,可以对应每一个功能划分每一个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图18示出了本申请实施例提供的终端设备的硬件结构示意图。
如图18所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,以及骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括控制器,应用处理器(application processor,AP),调制解调处理器,图形处理器(graphicsprocessing unit,GPU),图像信号处理器(image signal processor,ISP),存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。
在本申请实施例中,处理器110用于:在业务的通道类型配置为P2P+WLAN时,根据双端设备支持的能力信息、双端设备的信道信息、双端设备的角色信息和/或连接状态信息等,选择一个合适的通道类型,比如P2P通道或WLAN通道,并基于选择通道类型建立服务型会话和业务型会话。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染,例如渲染如图4A-图4L所示的操作界面示意图等。
显示屏194用于显示键鼠业务的操作界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),以及量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(application,APP)(例如相机APP、图库APP和第三方视频编辑软件等)等。存储数据区可存储终端设备100使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,以及通用闪存存储器(universal flash storage,UFS)等。
在本申请实施例中,外部存储卡和/或内部存储器121可以用于预先存储一种或多种大数据传输业务的标识。终端设备可以先将目标业务的标识与预先存储的大数据传输业务的标识进行比对,以判断目标业务是否为大数据传输业务。
外部存储卡和/或内部存储器121还可以用于预先存储多种类型的业务的标识,及与每个业务分别对应的优先级。其中,多种类型的业务包括基于WLAN的STA业务,基于P2P的大数据传输业务,基于P2P的非大数据传输业务,以及其他业务等。当两种业务竞争5G资源时,终端设备可以通过比较两种业务的优先级,确定哪个业务采用基于5G的通道。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。
可以理解,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例还提供了一种终端设备,包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令,以使得终端设备实现上述各实施例中的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令;当该计算机可读存储介质在终端设备上运行时,使得终端设备执行如上所示的方法。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘或磁带),光介质或者半导体介质(例如固态硬盘(solid statedisk,SSD))等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
本申请实施例还提供了一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。该芯片可以为通用处理器,也可以为专用处理器。需要说明的是,该芯片可以使用下述电路或者器件来实现:一个或多个现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其他适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。
上述本申请实施例提供的终端设备、装置、计算机可读存储介质、计算机程序产品以及芯片均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种通道建立方法,其特征在于,应用于第一设备,所述方法包括:
获取第一业务的通道类型标识;
在所述通道类型标识为点对点P2P标识和无线局域网WLAN标识的情况下,根据所述第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型;
建立与选择的通道类型对应的物理通道,所述P2P通道类型对应的所述物理通道为P2P通道,所述WLAN通道类型对应的所述物理通道为WLAN通道;
在所述物理通道上为所述第一业务建立服务型会话;
在所述物理通道上为所述第一业务建立业务型会话;
基于所述服务型会话和所述业务型会话向所述第二设备发送所述第一业务的数据。
2.根据权利要求1所述的方法,其特征在于,
所述第一设备的网络连接状态包括下述至少一项:所述第一设备支持的5G信道列表、所述第一设备连接的Wi-Fi信道、所述第一设备连接的P2P信道及所述第一设备的P2P角色信息;
所述第二设备的网络连接状态包括下述至少一项:所述第二设备连接的Wi-Fi信道、所述第二设备连接的P2P信道及所述第二设备的P2P角色信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:
若确定所述第一设备和所述第二设备支持5G WLAN组网,则根据所述第一设备的网络连接状态和所述第二设备的网络连接状态,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若确定所述第一设备和所述第二设备不支持所述5G WLAN组网,则选择所述P2P通道类型。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
获取所述第一设备的能力集和所述第二设备的能力集;
若所述第一设备的能力集指示所述第一设备不支持5G WLAN能力,和/或所述第二设备的能力集指示所述第二设备不支持5G WLAN能力,则确定所述第一设备和所述第二设备不支持所述5G WLAN组网;或者,
若所述第一设备的能力集指示所述第一设备支持5G WLAN能力,且所述第二设备的能力集指示所述第二设备支持5G WLAN能力,以及所述第二设备的发现类型包含WLAN发现类型,则确定所述第一设备和所述第二设备支持所述5G WLAN组网;或者,
若所述第一设备的能力集指示所述第一设备支持5G WLAN能力,且所述第二设备的能力集指示所述第二设备支持5G WLAN能力,以及所述第二设备的发现类型不包含所述WLAN发现类型,则确定所述第一设备和所述第二设备不支持所述5G WLAN组网。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述第一设备的网络连接状态和第二设备的网络连接状态,在P2P通道类型和WLAN通道类型中选择一种通道类型,包括:
获取所述第一设备的P2P角色信息和所述第二设备的P2P角色信息;
在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足第一条件、第二条件、第三条件或第四条件的情况下,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型;或者,
在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足第五条件、第六条件、第七条件或第八条件的情况下,选择所述WLAN通道类型;
其中,所述第一条件为:所述第一设备和所述第二设备均为无P2P角色;
所述第二条件为:所述第一设备为无P2P角色,所述第二设备为GO角色;
所述第三条件为:所述第一设备为GO角色,所述第二设备为无P2P角色;
所述第四条件为:所述第一设备为GO角色,所述第二设备为GC角色;或者,所述第一设备为GC角色,所述第二设备为GO角色;
所述第五条件为:所述第一设备和所述第二设备均为GO角色;
所述第六条件为:所述第一设备和所述第二设备均为GC角色;
所述第七条件为:所述第一设备为GC角色,所述第二设备为无P2P角色;
所述第八条件为:所述第一设备为无P2P角色,所述第二设备为GC角色。
7.根据权利要求6所述的方法,其特征在于,在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足所述第一条件的情况下,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型,包括:
获取所述第一设备支持的5G信道列表、所述第一设备连接的Wi-Fi信道和所述第二设备连接的Wi-Fi信道;
若所述第一设备连接的Wi-Fi信道在所述第一设备支持的5G信道列表中,和/或所述第二设备连接的Wi-Fi信道在所述第一设备支持的5G信道列表中,则选择所述P2P通道类型;或者,
若所述第一设备连接的Wi-Fi信道不在所述第一设备支持的5G信道列表中,且所述第二设备连接的Wi-Fi信道不在所述第一设备支持的5G信道列表中,则选择所述WLAN通道类型。
8.根据权利要求6所述的方法,其特征在于,在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足所述第二条件的情况下,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型,包括:
获取所述第二设备连接的P2P信道、所述第一设备连接的Wi-Fi信道和所述第二设备连接的Wi-Fi信道;
若所述第一设备连接的Wi-Fi信道与所述第二设备连接的P2P信道相同,和/或所述第二设备连接的Wi-Fi信道与所述第二设备连接的P2P信道相同,则选择所述P2P通道类型;或者,
若所述第一设备连接的Wi-Fi信道与所述第二设备连接的P2P信道不同,且所述第二设备连接的Wi-Fi信道与所述第二设备连接的P2P信道不同,则选择所述WLAN通道类型。
9.根据权利要求6所述的方法,其特征在于,在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足所述第三条件的情况下,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型,包括:
获取所述第一设备连接的P2P信道、所述第一设备连接的Wi-Fi信道和所述第二设备连接的Wi-Fi信道;
若所述第一设备连接的Wi-Fi信道与所述第一设备连接的P2P信道相同,和/或所述第二设备连接的Wi-Fi信道与所述第一设备连接的P2P信道相同,则选择所述P2P通道类型;或者,
若所述第一设备连接的Wi-Fi信道与所述第一设备连接的P2P信道不同,且所述第二设备连接的Wi-Fi信道与所述第一设备连接的P2P信道不同,则选择所述WLAN通道类型。
10.根据权利要求6所述的方法,其特征在于,在所述第一设备的P2P角色信息和所述第二设备的P2P角色信息满足所述第四条件的情况下,在所述P2P通道类型和所述WLAN通道类型中选择一种通道类型,包括:
获取所述第一设备已连接P2P设备的列表;
在所述第一设备已连接P2P设备的列表包括所述第二设备的情况下,获取所述第一设备连接的P2P信道、所述第一设备连接的Wi-Fi信道和所述第二设备连接的Wi-Fi信道;
若所述第一设备连接的Wi-Fi信道与所述第一设备连接的P2P信道相同,和/或所述第二设备连接的Wi-Fi信道与所述第一设备连接的P2P信道相同,则选择所述P2P通道类型;或者,
若所述第一设备连接的Wi-Fi信道与所述第一设备连接的P2P信道不同,且所述第二设备连接的Wi-Fi信道与所述第一设备连接的P2P信道不同,则选择所述WLAN通道类型。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述第一设备已连接P2P设备的列表不包括所述第二设备的情况下,选择所述WLAN通道类型。
12.根据权利要求1至11中任一项所述的方法,其特征在于,在建立所述业务型会话之后,所述方法还包括:
获取标识码,所述标识码表示所述业务型会话的连接状态;
在所述标识码为预设标识码的情况下,显示与所述预设标识码对应的提示信息。
13.根据权利要求12所述的方法,其特征在于,所述标识码为第一预设标识码,所述第一预设标识码表示:所述物理通道为5G P2P通道,且5G P2P通道所采用的信道与所述第一设备连接的Wi-Fi信道、所述第二设备连接的Wi-Fi信道均不同;
所述提示信息用于向用户提示断开所述第一设备或者所述第二设备的WLAN连接。
14.根据权利要求12所述的方法,其特征在于,所述标识码为第二预设标识码,所述第二预设标识码表示:所述物理通道为2.4G P2P通道;
所述提示信息用于向用户提示重启Wi-Fi功能。
15.根据权利要求1至14中任一项所述的方法,其特征在于,
所述方法还包括:
在所述通道类型标识为P2P标识的情况下,选择P2P通道类型;或者,
在所述通道类型标识为WLAN标识的情况下,选择WLAN通道类型;或者,
在所述通道类型标识为经典蓝牙BR标识的情况下,选择BR通道类型;或者,
在所述通道类型标识为低功耗蓝牙BLE标识的情况下,选择BLE通道类型。
16.一种终端设备,其特征在于,包括处理器,通信接口,以及与所述处理器和所述通信接口耦合的存储器;其中,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述终端设备执行如权利要求1至15中任一项所述的通道建立方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在终端设备上运行时,使得所述终端设备执行如权利要求1至15中任一项所述的通道建立方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310091015.2A CN117134848B (zh) | 2023-01-20 | 2023-01-20 | 通道建立方法、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310091015.2A CN117134848B (zh) | 2023-01-20 | 2023-01-20 | 通道建立方法、设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN117134848A true CN117134848A (zh) | 2023-11-28 |
| CN117134848B CN117134848B (zh) | 2024-06-21 |
Family
ID=88851509
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310091015.2A Active CN117134848B (zh) | 2023-01-20 | 2023-01-20 | 通道建立方法、设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117134848B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119520888A (zh) * | 2024-08-07 | 2025-02-25 | 海信视像科技股份有限公司 | 显示设备和WiFi扫描控制方法 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018161796A1 (zh) * | 2017-03-08 | 2018-09-13 | 华为技术有限公司 | 多接入场景中的连接处理方法和装置 |
| CN110958710A (zh) * | 2018-09-27 | 2020-04-03 | 维沃移动通信有限公司 | 信道接入方法、配置方法、终端及网络侧设备 |
| US20210007164A1 (en) * | 2019-07-04 | 2021-01-07 | Brother Kogyo Kabushiki Kaisha | Communication device and non-transitory computer-readable recording medium storing computer readable instructions for communication device |
| CN112311759A (zh) * | 2020-09-14 | 2021-02-02 | 浙江宇视科技有限公司 | 一种混合网络下的设备连接切换方法和系统 |
| CN113438354A (zh) * | 2020-03-06 | 2021-09-24 | 华为技术有限公司 | 数据传输方法、装置、电子设备和存储介质 |
| CN114071491A (zh) * | 2020-07-30 | 2022-02-18 | 大唐移动通信设备有限公司 | 一种会话服务请求方法及装置 |
| WO2022127690A1 (zh) * | 2020-12-16 | 2022-06-23 | 华为技术有限公司 | 终端设备、多链路通信方法及芯片 |
| WO2022155913A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种接入控制的方法、装置和系统 |
| WO2022228083A1 (zh) * | 2021-04-30 | 2022-11-03 | 华为技术有限公司 | 一种多设备建立连接的方法及设备 |
| WO2022257671A1 (zh) * | 2021-06-07 | 2022-12-15 | 中兴通讯股份有限公司 | 数据业务的执行方法、终端及存储介质 |
-
2023
- 2023-01-20 CN CN202310091015.2A patent/CN117134848B/zh active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018161796A1 (zh) * | 2017-03-08 | 2018-09-13 | 华为技术有限公司 | 多接入场景中的连接处理方法和装置 |
| CN110958710A (zh) * | 2018-09-27 | 2020-04-03 | 维沃移动通信有限公司 | 信道接入方法、配置方法、终端及网络侧设备 |
| US20210007164A1 (en) * | 2019-07-04 | 2021-01-07 | Brother Kogyo Kabushiki Kaisha | Communication device and non-transitory computer-readable recording medium storing computer readable instructions for communication device |
| CN113438354A (zh) * | 2020-03-06 | 2021-09-24 | 华为技术有限公司 | 数据传输方法、装置、电子设备和存储介质 |
| CN114071491A (zh) * | 2020-07-30 | 2022-02-18 | 大唐移动通信设备有限公司 | 一种会话服务请求方法及装置 |
| CN112311759A (zh) * | 2020-09-14 | 2021-02-02 | 浙江宇视科技有限公司 | 一种混合网络下的设备连接切换方法和系统 |
| WO2022127690A1 (zh) * | 2020-12-16 | 2022-06-23 | 华为技术有限公司 | 终端设备、多链路通信方法及芯片 |
| WO2022155913A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种接入控制的方法、装置和系统 |
| WO2022228083A1 (zh) * | 2021-04-30 | 2022-11-03 | 华为技术有限公司 | 一种多设备建立连接的方法及设备 |
| WO2022257671A1 (zh) * | 2021-06-07 | 2022-12-15 | 中兴通讯股份有限公司 | 数据业务的执行方法、终端及存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119520888A (zh) * | 2024-08-07 | 2025-02-25 | 海信视像科技股份有限公司 | 显示设备和WiFi扫描控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117134848B (zh) | 2024-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11671813B2 (en) | Function execution device and communication terminal | |
| CN109391648B (zh) | 一种应用与网络切片的关联方法、装置和通信系统 | |
| CN111954283B (zh) | 一种接入无线局域网的方法和终端 | |
| US8165044B2 (en) | Maintaining multiple, simultaneous wireless network connections using a single radio | |
| CN103327644B (zh) | 一种无线连接的方法及设备 | |
| US20090254924A1 (en) | Operating system interfaces for virtual wifi and softap capable drivers | |
| CN110602682A (zh) | 基于蓝牙BLE和mesh混合的网络管理系统和方法 | |
| JP2013176044A (ja) | 無線通信ネットワークにおけるipアドレス割当方法及び装置 | |
| US10420156B2 (en) | Wireless communication terminal, wireless communication system, wireless communication method, and non-transitory medium saving program | |
| US20140177615A1 (en) | Method for scanning a wireless fidelity (wi-fi) direct device and terminal device for the same | |
| WO2019218951A1 (zh) | 一种传输文件的方法及终端 | |
| KR102036686B1 (ko) | 무선 통신 시스템에서 채널을 선택하기 위한 방법 및 장치 | |
| US10863559B2 (en) | Method and apparatus for communicating in a wireless communication network | |
| US20190373541A1 (en) | Electronic device supporting multiple wireless communication protocols and method therefor | |
| US12335723B2 (en) | Terminal device and non-transitory computer-readable recording medium storing computer readable instructions for terminal device | |
| WO2019134595A1 (zh) | 配置系统、客户端设备、嵌入式设备配置方法及存储介质 | |
| CN114390491A (zh) | 一种组网方法、装置和系统 | |
| WO2019196253A1 (zh) | 一种组网方法及设备 | |
| CN117134848B (zh) | 通道建立方法、设备及存储介质 | |
| CN114793353B (zh) | 网络选择方法、配置方法、终端及网络侧设备 | |
| CN115665774A (zh) | 设备配网方法、装置、存储介质及电子装置 | |
| CN118354471A (zh) | P2p双链路建立方法、设备及存储介质 | |
| EP4391616A1 (en) | User privacy protection method, apparatus and system | |
| WO2025035980A1 (zh) | 设备注册方法、设备及系统 | |
| KR102170409B1 (ko) | 무선 통신 네트워크에서 ip 주소 할당 방법 및 장치 |
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 | ||
| CP03 | Change of name, title or address | ||
| CP03 | Change of name, title or address |
Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Terminal Co.,Ltd. Country or region after: China Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong Patentee before: Honor Device Co.,Ltd. Country or region before: China |