物理链路的建立方法和电子设备转让专利

申请号 : CN202210841718.8

文献号 : CN114928899B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张梦龙邱利松王志杰

申请人 : 荣耀终端有限公司

摘要 :

本申请实施例提供了一种物理链路的建立方法和电子设备,该方法由第一电子设备执行,第一电子设备包括第一通信接口模块和第一业务模块,第二电子设备包括第二通信接口模块,该方法包括:第一通信接口模块接收第一业务模块发送的第一连接请求,第一连接请求用于指示第一通信接口模块建立第一物理链路;响应于第一连接请求,第一通信接口模块获取第一总计数值;在第一总计数值大于0的情况下,第一通信接口模块向第二通信接口模块发送第一复用连接请求,并将第一总计数值加一,第一复用连接请求用于向第二通信接口模块请求复用第一物理链路。该方法能够实现对物理链路的复用。

权利要求 :

1.一种物理链路的建立方法,用于建立第一电子设备与第二电子设备之间的第一物理链路,所述方法由所述第一电子设备执行,其特征在于,所述第一电子设备包括第一通信接口模块和第一业务模块,所述第二电子设备包括第二通信接口模块,所述方法包括:所述第一通信接口模块接收所述第一业务模块发送的第一连接请求,所述第一连接请求用于指示所述第一通信接口模块建立所述第一物理链路;

响应于所述第一连接请求,所述第一通信接口模块获取第一总计数值,所述第一总计数值存储于所述第一电子设备、表征所述第一电子设备和所述第二电子设备中的业务模块对所述第一物理链路的有效请求次数,所述有效请求次数通过对有效连接请求次数和有效断开连接请求次数进行计数得到,所述第一总计数值的初始值为0;所述有效断开连接请求是指任一业务模块在所述任一业务模块的计数值大于0的情况下发送的断开连接请求;

在所述第一总计数值大于0的情况下,所述第一通信接口模块向所述第二通信接口模块发送第一复用连接请求,并将第一业务计数值和所述第一总计数值分别加一,所述第一复用连接请求用于向所述第二通信接口模块请求复用所述第一物理链路,所述第一业务计数值表征所述第一业务模块对所述第一物理链路的所述有效请求次数;

所述第一通信接口模块接收所述第一业务模块发送的第一断开连接请求,所述第一断开连接请求用于指示所述第一通信接口模块断开所述第一物理链路;

响应于所述第一断开连接请求,在所述第一业务计数值大于0的情况下,所述第一通信接口模块将所述第一业务计数值和所述第一总计数值分别减一。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在所述第一总计数值等于0的情况下,所述第一通信接口模块向所述第二通信接口模块发送第二连接请求,所述第二连接请求用于请求与所述第二通信接口模块建立所述第一物理链路;

响应于接收到所述第二通信接口模块发送的连接成功信息,所述第一通信接口模块将所述第一总计数值加一,所述连接成功信息表征所述第一物理链路建立成功。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

响应于接收到所述第二通信接口模块发送的第二复用连接请求,所述第一通信接口模块将所述第一总计数值加一,所述第二复用连接请求用于向所述第一通信接口模块请求复用所述第一物理链路。

4.根据权利要求1所述的方法,其特征在于,所述第一通信接口模块将所述第一业务计数值和所述第一总计数值分别减一之后,所述方法还包括:在所述第一总计数值减一后等于0的情况下,所述第一通信接口模块向所述第二通信接口模块发送第二断开连接请求,所述第二断开连接请求用于向所述第二通信接口模块请求断开所述第一物理链路。

5.根据权利要求1所述的方法,其特征在于,所述第一通信接口模块将所述第一业务计数值和所述第一总计数值分别减一之后,所述方法还包括:在所述第一总计数值减一后大于0的情况下,所述第一通信接口模块向所述第二通信接口模块发送减少计数指令,所述减少计数指令用于指示将第二总计数值减一,所述第二总计数值存储于所述第二电子设备、表征所述第一电子设备和所述第二电子设备对所述第一物理链路的所述有效请求次数。

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一电子设备还包括第二业务模块,所述方法还包括:所述第一通信接口模块接收所述第二业务模块发送的第三连接请求,所述第三连接请求用于指示所述第一通信接口模块建立所述第一物理链路;

响应于所述第三连接请求,所述第一通信接口模块获取所述第一总计数值;

在所述第一总计数值大于0的情况下,所述第一通信接口模块向所述第二通信接口模块发送所述第一复用连接请求,并将所述第一总计数值和第二业务计数值分别加一,所述第二业务计数值表征所述第二业务模块对所述第一物理链路的所述有效请求次数。

7.根据权利要求6所述的方法,其特征在于,所述第二电子设备还包括第三业务模块和第四业务模块,所述方法还包括:所述第一业务模块根据所述第二电子设备的网络地址信息和所述第三业务模块的端口信息,基于所述第一物理链路,建立与所述第三业务模块之间的逻辑链路;

所述第二业务模块根据所述第二电子设备的网络地址信息和所述第四业务模块的端口信息,基于所述第一物理链路,建立与所述第四业务模块之间的逻辑链路。

8.一种物理链路的建立方法,用于建立第一电子设备与第二电子设备之间的第一物理链路,所述方法由所述第二电子设备执行,其特征在于,所述第一电子设备包括第一通信接口模块和第一业务模块,所述第二电子设备包括第二通信接口模块,所述方法包括:所述第二通信接口模块接收所述第一通信接口模块发送的第一复用连接请求,所述第一复用连接请求用于向所述第二通信接口模块请求复用所述第一物理链路;所述第一通信接口模块接收到所述第一业务模块发送的第一连接请求时,将第一业务计数值和第一总计数值分别加一;所述第一通信接口模块接收到所述第一业务模块发送的第一断开连接请求时,在所述第一业务计数值大于0的情况下,将所述第一业务计数值和所述第一总计数值分别减一;所述第一连接请求用于指示所述第一通信接口模块建立所述第一物理链路,所述第一断开连接请求用于指示所述第一通信接口模块断开所述第一物理链路,所述第一总计数值存储于所述第一电子设备、表征所述第一电子设备和所述第二电子设备中的业务模块对所述第一物理链路的有效请求次数,所述有效请求次数通过对有效连接请求次数和有效断开连接请求次数进行计数得到,所述第一总计数值的初始值为0,所述有效断开连接请求是指任一业务模块在所述任一业务模块的计数值大于0的情况下发送的断开连接请求,所述第一业务计数值表征所述第一业务模块对所述第一物理链路的所述有效请求次数;

所述第二通信接口模块响应于所述第一复用连接请求,向第二总计数值加一,所述第二总计数值存储于所述第二电子设备、表征所述第一电子设备和所述第二电子设备中的业务模块对所述第一物理链路的所述有效请求次数,所述第二总计数值的初始值为0。

9.根据权利要求8所述的方法,其特征在于,所述第二电子设备还包括第五业务模块,所述方法还包括:所述第二通信接口模块接收所述第五业务模块的第四连接请求,所述第四连接请求用于指示所述第二通信接口模块建立所述第一物理链路;

响应于所述第四连接请求,在所述第二总计数值大于0的情况下,所述第二通信接口模块向所述第一通信接口模块发送第二复用连接请求,并将所述第二总计数值加一,所述第二复用连接请求用于向所述第一通信接口模块请求复用所述第一物理链路。

10.根据权利要求8所述的方法,其特征在于,所述第二通信接口模块接收所述第一通信接口模块发送的第一复用连接请求之前,所述方法还包括:所述第二通信接口模块接收所述第一通信接口模块发送的连接请求;

所述第二通信接口模块响应于所述连接请求,与所述第一通信接口模块建立所述第一物理链路;

所述第二通信接口模块将所述第二总计数值加一;

所述第二通信接口模块向所述第一通信接口模块发送连接成功信息,所述连接成功信息表征所述第一物理链路建立成功。

11.根据权利要求8至10中任一项所述的方法,其特征在于,所述方法还包括:

所述第二通信接口模块接收所述第一通信接口模块发送的第二断开连接请求;

所述第二通信接口模块响应于所述第二断开连接请求,将所述第二总计数值减一,并断开所述第一物理链路。

12.根据权利要求8至10中任一项所述的方法,其特征在于,所述方法还包括:

所述第二通信接口模块接收所述第一通信接口模块发送的减少计数指令;

所述第二通信接口模块响应于所述减少计数指令,将所述第二总计数值减一。

13.一种物理链路的建立系统,其特征在于,包括第一电子设备和第二电子设备,所述第一电子设备用于执行如权利要求1至7中任一项所述的方法,所述第二电子设备用于执行如权利要求8至12中任一项所述的方法。

14.一种电子设备,其特征在于,包括:处理器、存储器和接口;

所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至

12中任一项所述的方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至12中任一项所述的方法。

说明书 :

物理链路的建立方法和电子设备

技术领域

[0001] 本申请涉及通信技术领域,具体涉及一种物理链路的建立方法和电子设备。

背景技术

[0002] 设备间的短距离无线通信技术,例如无线保真端对端(wireless fidelity peer to peer,Wi‑Fi p2p)技术、蓝牙(bluetooth,BT)技术等,给用户带来了很大的方便。以Wi‑Fi p2p技术为例来说,两个设备可以基于Wi‑Fi p2p技术建立Wi‑Fi p2p物理链路,并进一步建立逻辑链路,从而使两个设备间能够直接传输数据,以完成文件传输、投屏、联机游戏等业务。
[0003] 相关技术中,设备间的Wi‑Fi p2p物理链路是通过应用程序(application,APP)中的通信模块建立。然而,同一时刻,一个设备能够建立的Wi‑Fi p2p物理链路是有限的,一般为1个或2个。若当前两个设备之间的Wi‑Fi p2p物理链路被某一应用程序占用,其他的应用程序需要传输数据时,只能通过抢占、重新建立或等待的方式获得Wi‑Fi p2p物理链路,存在效率低下的问题。

发明内容

[0004] 本申请提供了一种物理链路的建立方法和电子设备,能够实现物理链路的复用,解决物理链路建立效率低下的问题。
[0005] 第一方面,本申请提供一种物理链路的建立方法,用于建立第一电子设备与第二电子设备之间的第一物理链路,该方法由第一电子设备执行,第一电子设备包括第一通信接口模块和第一业务模块,第二电子设备包括第二通信接口模块,该方法包括:第一通信接口模块接收第一业务模块发送的第一连接请求,第一连接请求用于指示第一通信接口模块建立第一物理链路;响应于第一连接请求,第一通信接口模块获取第一总计数值,第一总计数值存储于第一电子设备、表征第一电子设备和第二电子设备对第一物理链路的有效请求次数,有效请求次数通过对有效连接请求次数和有效断开连接请求次数进行计数得到,第一总计数值的初始值为0;在第一总计数值大于0的情况下,第一通信接口模块向第二通信接口模块发送第一复用连接请求,并将第一总计数值加一,第一复用连接请求用于向第二通信接口模块请求复用第一物理链路。
[0006] 第一总计数值大于0,表征当前第一电子设备和第二电子设备对第一物理链路的有效请求次数大于0,表明当前第一物理链路已建立,因而可以复用第一物理链路。
[0007] 可选的,第一连接请求中可以包括第一业务模块对应的业务标识信息、第二电子设备的物理地址信息以及第一物理链路的链路类型等中的一个或多个。其中,业务标识信息例如可以为第一业务模块对应的进程标识(process identification,PID)。链路类型例如可以为Wi‑Fi p2p链路、蓝牙基本速率(basic rate,BR)链路、蓝牙套接字(Socket)链路或蓝牙增强数据速率(enhanced data rate,EDR)链路等中的一种。
[0008] 可选的,第一复用连接请求中可以包括第一电子设备的物理地址信息和第一物理链路的链路标识等中的一个或多个。
[0009] 可选的,第一通信接口模块可以在确定第一总计数值大于0的情况下,直接将第一总计数值加一,也可以在收到第二通信接口模块发送的第一复用回复信息后再将第一总计数值加一,本申请实施例对此不做任何限定。
[0010] 本申请第一方面提供的物理链路的建立方法,通过第一通信接口模块和第二通信接口模块实现第一电子设备与第二电子设备之间物理链路的统一建立和管理,第一通信接口模块和第二通信接口模块作为物理链路的管理者,能够获知物理链路的所有信息,因而在需要时能够对物理链路进行复用,无需等待或重新建立物理链路,解决物理链路建立效率低下的问题,从而提高设备间数据传输的效率,提高用户体验。同时,复用物理链路也提高了物理链路的利用率,节约资源和功耗。另外,该方法通过管理第一总计数值,简单方便的对第一物理链路的有效请求次数进行管理,也即对第一电子设备和第二电子设备对第一物理链路的使用情况进行管理,从而在需要使用第一物理链路时,通过判断第一总计数值是否为0即能准确获知第一物理链路是否已建立,是否能够复用第一物理链路。而且,通过第一总计数值能够及时准确的获知第一物理链路是否使用完成,是否需要断开,便于需要时及时断开物理链路。总而言之,本实施例提供的方法能够提高第一电子设备和第二电子设备之间物理链路的管理效率和准确率,进而提高数据传输效率。而且,该方法中,在发送第一复用连接请求后,将第一总计数值加一,更新第一总计数值,保证了第一总计数值的准确性。
[0011] 一种可能的实现方式中,该方法还包括:在第一总计数值等于0的情况下,第一通信接口模块向第二通信接口模块发送第二连接请求,第二连接请求用于请求与第二通信接口模块建立第一物理链路;响应于接收到第二通信接口模块发送的连接成功信息,第一通信接口模块将第一总计数值加一,连接成功信息表征第一物理链路建立成功。
[0012] 第一总计数值等于0,表征当前第一电子设备和第二电子设备对第一物理链路的有效请求次数为0,表明当前第一物理链路未建立,因而通过第一通信接口模块向第二通信接口模块发送第二连接请求,以建立第一物理链路。
[0013] 该实现方式中,接收到第二通信接口模块发送的连接成功信息,说明第一连接请求为有效连接请求,将第一总计数值加一,更新第一总计数值,保证了第一总计数值的准确性。
[0014] 一种可能的实现方式中,该方法还包括:响应于接收到第二通信接口模块发送的第二复用连接请求,第一通信接口模块将第一总计数值加一,第二复用连接请求用于向第一通信接口模块请求复用第一物理链路。
[0015] 具体的,第二电子设备中的某一业务模块向第二通信接口模块发送连接请求(第四连接请求),第二通信接口模块确定第二总计数值大于0的情况下,向第一通信接口模块发送第二复用连接请求。其中,第二总计数值存储于第二电子设备、表征第一电子设备和第二电子设备对第一物理链路的有效请求次数。第一通信接口模块接收到第二通信接口模块发送的第二复用连接请求,将第一总计数值加一。之后,第一通信接口模块还可以向第二通信接口模块发送第二复用回复信息,第二通信接口模块接收到第二复用回复信息后,将第二总计数值加一。
[0016] 该实现方式中,在第二电子设备对第一物理链路进行复用时,也更新第一总计数值,将第一总计数值加一,进一步保证了第一总计数值的准确性,从而保证了对第一物理链路管理的准确性。
[0017] 一种可能的实现方式中,在第一总计数值大于0的情况下,该方法还包括:第一通信接口模块将第一业务计数值加一,第一业务计数值表征第一业务模块对第一物理链路的有效请求次数。
[0018] 一种可能的实现方式中,该方法还包括:第一通信接口模块接收第一业务模块发送的第一断开连接请求,第一断开连接请求用于指示第一通信接口模块断开第一物理链路;响应于第一断开连接请求,在第一业务计数值大于0的情况下,第一通信接口模块将第一总计数值减一;在第一总计数值减一后等于0的情况下,第一通信接口模块向第二通信接口模块发送第二断开连接请求,第二断开连接请求用于向第二通信接口模块请求断开第一物理链路。
[0019] 可选的,第一断开连接请求中可以包括第一业务模块的业务标识信息、第一物理链路的链路标识等中的一个或多个。第一业务计数值大于0,说明第一断开连接请求为有效断开连接请求。
[0020] 一种可能的实现方式中,响应于第一断开连接请求,在第一业务计数值大于0的情况下,该方法还包括:第一通信接口模块将第一业务计数值减一。
[0021] 上述几种实现方式中,在第一业务模块请求断开物理链路时,确定第一业务模块对应的第一业务计数值大于0,即确定第一断开连接请求为有效断开连接请求时,才将第一总计数值和第一业务计数值分别减一。在确定第一业务计数值等于0,即断开连接请求为无效断开连接请求,不处理此次断开连接请求。这样能够保证第一业务计数值和第一总计数值的准确性,提高对物理链路管理的准确性。另外,该方法中,只有减一后的第一总计数值为0时才断开第一物理链路,最大程度复用第一物理链路,提高第一物理链路利用率。而且,无论第一物理链路由哪个业务模块发起建立,只要在接收到有效断开连接请求,减一后的第一总计数值为0,就断开连接第一物理链路。这样,第一物理链路的断开不用受限于发起连接的业务模块的限制,防止出现某一业务模块的发起的连接只能由该业务模块断开的情况,保证了业务模块之间的独立性,提高了电子设备业务功能的稳定性和可靠性。
[0022] 一种可能的实现方式中,响应于第一断开连接请求,在第一总计数值减一后大于0的情况下,该方法还包括:第一通信接口模块向第二通信接口模块发送减少计数指令,减少计数指令用于指示将第二总计数值减一,第二总计数值存储于第二电子设备、表征第一电子设备和第二电子设备对第一物理链路的有效请求次数。
[0023] 该实现方式中,不满足断开第一物理链路的条件时,第一通信接口模块向第二通信接口模块发送减少计数指令,以同步更新第二电子设备中的第二总计数值,保证了第二总计数值的准确性,从而便于第二电子设备准确的获知当前对第一物理链路的有效请求次数,从而便于获知是否能够复用或断开第一物理链路,提高对第一物理链路管理的准确性。
[0024] 一种可能的实现方式中,第一电子设备还包括第二业务模块,该方法还包括:第一通信接口模块接收第二业务模块发送的第三连接请求,第三连接请求用于指示第一通信接口模块建立第一物理链路;响应于第三连接请求,第一通信接口模块获取第一总计数值;在第一总计数值大于0的情况下,第一通信接口模块向第二通信接口模块发送第一复用连接请求,并将第一总计数值和第二业务计数值分别加一,第二业务计数值表征第二业务模块对第一物理链路的有效请求次数。
[0025] 可选的,第三连接请求可以与第一连接请求类似,不同点在于第三连接请求中的业务标识信息为第二业务模块对应的业务标识信息。
[0026] 该实现方式中,在第一电子设备中除第一业务模块外的其他业务模块(第二业务模块)发起对第一物理链路的连接请求时,若确定第一总计数值大于0,即确定第一物理链路已存在,则更新第一总计数值,并更新第二业务模块对应的第二业务计数值。也就是说,该实现方式中,除第一业务模块能够复用第一物理链路外,其他业务模块也能够复用第一物理链路模块,且复用后更新计数值,保证计数值的准确性,提高对第一物理链路管理的准确性。
[0027] 一种可能的实现方式中,第二电子设备还包括第三业务模块和第四业务模块,该方法还包括:第一业务模块根据第二电子设备的网络地址信息和第三业务模块的端口信息,基于第一物理链路,建立与第三业务模块之间的逻辑链路;第二业务模块根据第二电子设备的网络地址信息和第四业务模块的端口信息,基于第一物理链路,建立与第四业务模块之间的逻辑链路。
[0028] 该实现方式中,第一业务模块基于第一物理链路建立了与第三业务模块之间的逻辑链路,第二业务模块基于第一物理链路建立了与第四业务模块之间的逻辑链路。也就是说,不同的业务模块共用物理链路,但是各自的逻辑链路独立,这样能够保证各个业务模块数据传输的独立性,在某一逻辑链路或业务端口出现问题时,不会影响其他的逻辑链路,不会对其他业务造成影响,提高电子设备业务功能的稳定性。
[0029] 第二方面,本申请提供一种物理链路的建立方法,用于建立第一电子设备与第二电子设备之间的第一物理链路,该方法由第二电子设备执行,第一电子设备包括第一通信接口模块,第二电子设备包括第二通信接口模块,该方法包括:第二通信接口模块接收第一通信接口模块发送的第一复用连接请求,第一复用连接请求用于向第二通信接口模块请求复用第一物理链路;第二通信接口模块响应于第一复用连接请求,向第二总计数值加一,第二总计数值存储于第二电子设备、表征第一电子设备和第二电子设备对第一物理链路的有效请求次数,有效请求次数通过对有效连接请求次数和有效断开连接请求次数进行计数得到,第二总计数值的初始值为0。
[0030] 一种可能的实现方式中,第二电子设备还包括第五业务模块,该方法还包括:第二通信接口模块接收第五业务模块的第四连接请求,第四连接请求用于指示第二通信接口模块建立第一物理链路;响应于第四连接请求,在第二总计数值大于0的情况下,第二通信接口模块向第一通信接口模块发送第二复用连接请求,并将第二总计数值加一,第二复用连接请求用于向第一通信接口模块请求复用第一物理链路。
[0031] 一种可能的实现方式中,第二通信接口模块接收第一通信接口模块发送的第一复用连接请求之前,该方法还包括:第二通信接口模块接收第一通信接口模块发送的连接请求;第二通信接口模块响应于连接请求,与第一通信接口模块建立第一物理链路;第二通信接口模块将第二总计数值加一;第二通信接口模块向第一通信接口模块发送连接成功信息,连接成功信息表征第一物理链路建立成功。
[0032] 一种可能的实现方式中,该方法还包括:第二通信接口模块接收第一通信接口模块发送的第二断开连接请求;第二通信接口模块响应于第二断开连接请求,将第二总计数值减一,并断开第一物理链路。
[0033] 一种可能的实现方式中,该方法还包括:第二通信接口模块接收第一通信接口模块发送的减少计数指令;第二通信接口模块响应于减少计数指令,将第二总计数值减一。
[0034] 本申请第二方面提供的物理链路的建立方法与第一方面提供的物理链路的建立方法对应,具体的实现方式和有益效果类似,不再赘述。
[0035] 第三方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
[0036] 第四方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第二方面及上述第二方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
[0037] 第五方面,本申请提供一种物理链路的建立系统,包括第一电子设备和第二电子设备,第一电子设备用于执行第一方面的技术方案中任意一种方法,第二电子设备用于执行第一方面的技术方案中任意一种方法。
[0038] 第六方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面或者第二方面的技术方案中任意一种方法。
[0039] 第七方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法,或者执行第二方面及其任意可能的实现方式中的方法。
[0040] 可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
[0041] 进一步可选的,芯片还包括通信接口。
[0042] 第八方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面或者第二方面的技术方案中任意一种方法。
[0043] 第九方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面或者第二方面的技术方案中任意一种方法。

附图说明

[0044] 图1是相关技术中一例电子设备中应用程序的模块示意图;
[0045] 图2是相关技术中另一例电子设备中应用程序的模块示意图;
[0046] 图3是本申请实施例提供的一例电子设备的模块示意图;
[0047] 图4是本申请实施例提供的一例电子设备100的结构示意图;
[0048] 图5是本申请实施例提供的电子设备100的软件结构框图;
[0049] 图6是本申请实施例提供的一例物理链路的建立方法的流程示意图;
[0050] 图7是本申请实施例提供的一例初次建立物理链路涉及的信息交互和计数值变化示意图;
[0051] 图8是本申请实施例提供的另一例物理链路的建立方法的流程示意图;
[0052] 图9是本申请实施例提供的一例再次建立物理链路涉及的信息交互和计数值变化示意图;
[0053] 图10是本申请实施例提供的又一例物理链路的建立方法的流程示意图;
[0054] 图11是本申请实施例提供的另一例再次建立物理链路涉及的信息交互和计数值变化示意图;
[0055] 图12是本申请实施例提供的又一例物理链路的建立方法的流程示意图;
[0056] 图13是本申请实施例提供的又一例再次建立物理链路涉及的信息交互和计数值变化示意图;
[0057] 图14是本申请实施例提供的一例断开物理链路的流程示意图;
[0058] 图15是本申请实施例提供的一例断开物理链路涉及的信息交互和计数值变化示意图;
[0059] 图16是本申请实施例提供的另一例断开物理链路涉及的信息交互和计数值变化示意图;
[0060] 图17是本申请实施例提供的又一例断开物理链路涉及的信息交互和计数值变化示意图;
[0061] 图18是本申请实施例提供的又一例断开物理链路涉及的信息交互和计数值变化示意图;
[0062] 图19是本申请实施例提供的一例物理链路的建立和断开的时序图。

具体实施方式

[0063] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0064] 以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0065] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0066] 为了更好的理解本申请实施例提供的方法,以下首先对本申请要解决的技术问题进行分析。
[0067] 目前,电子设备的很多业务场景都会使用到设备间的短距离无线通信技术,例如,设备间的文件传输、投屏、联机游戏等等。设备间的短距离无线通信技术包括Wi‑Fi p2p技术、蓝牙技术等。
[0068] 相关技术中,主要由电子设备中的应用程序基于无线通信技术建立物理链路。具体的,参见图1,图1为相关技术中电子设备中应用程序的模块示意图。如图1所示,电子设备A中包括应用程序A1、A2和A3,这三个应用程序能够分别与电子设备B中的应用程序B1、B2和B3建立物理链路(也称为物理通道、物理数据传输通道等)。应用程序A1、A2、A3、B1、B2和B3分别包括业务模块和通信模块。应用程序通过自身的通信模块与对端的应用程序的通信模块建立物理链路。
[0069] 然而,通过上述方式建立的物理链路,由于同一电子设备中的不同应用程序之间无法互相获知对方建立的物理链路的信息,因而无法实现链路复用,物理链路建立阶段需要消耗更多的时间和/或功耗,导致效率低下。具体的,以建立Wi‑Fi p2p物理链路为例,结合应用场景分析如下:
[0070] 参见图2,假设应用程序A1和应用程序B1分别为图库A和图库B,应用程序A2和应用程序B2分别为游戏A和游戏B。响应于用户在图库A中的分享照片操作,图库A的通信模块与图库B的通信模块建立了Wi‑Fi p2p物理链路,并基于该物理链路传输照片。此时,用户又在游戏A中发起了联机请求。由于图库A和图库B正在占用Wi‑Fi p2p物理链路,在电子设备A和电子设备B支持同一时刻只能建立1个Wi‑Fi p2p物理链路的情况下,游戏A和游戏B只能通过抢占或等待(图2中示出为等待)的方式获得Wi‑Fi p2p物理链路。通过抢占的方式,会导致照片传输中断,降低照片的传输效率,且影响用户体验。通过等待的方式,需要消耗更多的时间,效率较低。在电子设备A和电子设备B支持同一时刻建立2个Wi‑Fi p2p物理链路的情况下,游戏A和游戏B可以重新建立一个Wi‑Fi p2p物理链路,但是,重建Wi‑Fi p2p物理链路也需要消耗时间,效率较低,且会导致电子设备的功耗增大。
[0071] 同样的,蓝牙物理链路也存在上述问题,在此不作赘述。
[0072] 总而言之,相关技术中建立物理链路的方法存在效率低、影响用户体验以及设备功耗大等问题。
[0073] 示例性的,图3为本申请实施例提供的一例电子设备的模块示意图。如图3所示,本申请实施例中,电子设备A和电子设备B中均包括通信接口程序(也称为通信接口模块),其中,电子设备A中的通信接口程序称为通信接口程序A,电子设备B中的通信接口程序称为接口程序B。本申请实施例提供的物理链路的建立方法通过通信接口程序A和通信接口程序B实现电子设备A与电子设备B之间物理链路的统一建立和管理,通信接口程序A和通信接口程序B作为物理链路的管理者,能够获知物理链路的所有信息,因而在需要时能够对物理链路进行复用,无需等待或重新建立物理链路,解决物理链路建立效率低下的问题,进而提高设备间数据传输的效率,提高用户体验。同时,复用物理链路也提高了物理链路的利用率,节约资源和功耗。
[0074] 本申请实施例提供的物理链路的建立方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可以安装应用程序(application,APP)的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
[0075] 示例性的,图4是本申请实施例提供的一例电子设备100的结构示意图。电子设备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等。
[0076] 可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0077] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0078] 其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0079] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0080] 在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0081] 可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0082] 电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0083] 天线1和天线2用于发射和接收电磁波信号。图4中的天线1和天线2的结构仅为一种示例。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0084] 移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0085] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0086] 无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。本申请实施例中,可以通过无线通信模块160发现周围的电子设备,并建立物理链路。
[0087] 在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无[0088] 线通信技术可以包括全球移动通讯系统(global  system for  mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi‑zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
[0089] 电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0090] 显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
[0091] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0092] 内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0093] 电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
[0094] 图5是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
[0095] 如图5所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0096] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0097] 如图5所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器和通信接口程序等。
[0098] 其中,通信接口程序,也称为通信接口模块、中间件应用等,用于为电子设备100中的一个或多个应用程序(例如图库、视频等)提供跨设备通信的接口,与其他电子设备建立物理链路,并实现对物理链路的管理(包括复用、断开等)。可选的,通信接口程序例如可以为电子设备100中的“超级终端”能力。
[0099] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0100] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0101] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0102] 电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0103] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0104] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0105] Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0106] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0107] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0108] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0109] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0110] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0111] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0112] 2D图形引擎是2D绘图的绘图引擎。
[0113] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0114] 为了便于理解,在对本申请实施例提供的物理链路的建立方法进行具体阐述之前,先对方法中可能涉及的名词和定义进行说明。
[0115] 1、业务模块
[0116] 业务模块是指应用程序中实现某一业务功能的模块。本申请实施例中,电子设备中可以包括一个或多个应用程序,每个应用程序可以包括一个或多个业务模块,每个业务模块用于实现不同的业务功能。例如,备忘录应用程序中可以包括笔记模块和待办模块。本申请实施例中,业务模块在需要与其他电子设备建立物理链路时,可以向通信接口程序发起连接请求。
[0117] 2、有效连接请求
[0118] 本申请实施例中,对于某一业务模块发起的连接请求,若响应于该连接请求,成功建立对应的物理链路,或成功复用对应的物理链路,则称该连接请求为有效连接请求。
[0119] 例如,某一设备中的业务模块A向通信接口程序发送连接请求X,连接请求X用于指示通信接口程序建立物理链路x1,响应于该连接请求X,若通信接口程序成功建立物理链路x1,或成功复用物理链路x1,则称该连接请求X为有效连接请求,也称该连接请求为业务模块A对物理链路x1的有效连接请求;若通信接口程序未成功建立物理链路x1,也未成功复用物理链路x1,则称该连接请求X为无效连接请求,也称该连接请求为业务模块A对物理链路x1的无效连接请求。
[0120] 3、有效断开连接请求
[0121] 本申请实施例中,对于某一业务模块,每增加一次该业务模块对某一物理链路的有效连接请求,对应的业务计数值加1,每接收一次该业务模块对该物理链路的断开连接请求,若当前业务计数值大于0,则确定该次断开连接请求为有效断开连接请求;若当前业务计数值等于0,则确定该次断开连接请求为无效断开连接请求。
[0122] 4、有效请求次数
[0123] 有效请求次数通过对某一物理链路的有效连接请求次数和有效断开连接请求次数进行计数得到。可以理解,有效请求次数实质为当前对某一物理链路的有效连接请求的总次数减去对该物理链路的有效断开连接请求的总次数。例如,当前时刻,模块A对物理链路x1的有效连接请求总次数为5次,对物理链路x1的有效连接请求总次数为3次,则当前有效请求次数为2次。
[0124] 5、业务计数值
[0125] 业务计数值,也称为业务连接计数值、业务连接计数或业务引用(reference)值等,表征某一业务当前对某一物理链路的有效请求次数。具体的,业务计数值通过业务模块对物理链路的有效连接请求和有效断开连接请求次数进行计数得到,该业务模块每增加一次对该物理链路的有效连接请求,业务计数值加1,业务模块每增加一次对该物理链路的有效断开连接请求,业务计数值减1。
[0126] 6、总计数值
[0127] 总计数值,也称为总连接计数值、总连接计数或总引用(reference)值等,表征某一物理链路两端的两个设备(如电子设备A和电子设备B)对该物理链路的有效请求的总次数。具体的,总计数值通过对该物理链路两端的两个设备中各个业务模块对物理链路的有效连接请求,以及两个设备中各个业务模块对该物理链路的有效断开连接次数进行计数得到,两个设备中任意一个业务模块每增加一次对该物理链路的有效连接请求,总计数值加1,两个设备中任意一个业务模块每增加一次对该物理链路的有效断开连接请求,总计数值减1。
[0128] 总计数值是一个动态变化的数值。本申请实施例中,总计数值的初始值为0,即总计数值为大于或等于0的正整数。总计数值大于0,说明物理链路存在,且当前存在有效连接请求,说明当前可能有业务正在使用或即将需要使用物理链路。总计数值为0,说明物理链路未建立,或者物理链路已断开。
[0129] 本申请以下实施例将以具有图4和图5所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的物理链路的建立方法进行具体阐述。
[0130] 以下实施例中,继续以建立电子设备A和电子设备B之间物理链路为例进行说明。本申请实施例提供的方法建立的物理链路包括但不限于Wi‑Fi p2p链路、蓝牙基本速率(basic rate,BR)链路、蓝牙套接字(Socket)链路或蓝牙增强数据速率(enhanced data rate,EDR)链路等,下述实施例均以Wi‑Fi p2p链路为例进行说明,其他类型的物理链路与此类似,不作赘述。
[0131] 下述实施例中,以电子设备A中的应用程序A1包括业务模块a1,应用程序A2包括业务模块a2,电子设备B中的应用程序B1包括业务b1,应用程序B2包括业务b2为例进行说明。
[0132] 本申请实施例中,物理链路的建立包括初次请求建立物理链路和再次请求建立物理链路两种情况。此外,本申请实施例还涉及物理链路的断开过程,以下结合实施例,以电子设备A和电子设备B为例,对任意类型的一条物理链路——第一物理链路的建立、复用和断开过程分别进行说明。
[0133] 1)初次请求建立物理链路
[0134] 图6是本申请实施例提供的一例物理链路的建立方法的流程示意图,该方法包括:
[0135] S101、电子设备A中的应用程序A1的业务模块a1向通信接口程序A发送第一连接请求,第一连接请求用于指示通信接口程序A与电子设备B建立第一物理链路。
[0136] 首先,需要说明的是,在执行本步骤之前,电子设备A已完成设备发现,且业务模块a1接收到了用户的连接指令。连接指令用于指示电子设备A与电子设备B建立第一物理链路。连接指令中可以包括对端设备的物理地址信息以及链路类型等。这里,本端设备为电子设备A,对端设备为电子设备B。物理地址信息例如可以为媒体存取控制(media access control address,MAC)地址等。链路类型是指需要建立的物理链路的类型,例如,Wi‑Fi p2p链路、BR链路、Socket连接或EDR链路等。本申请实施例中,链路类型为Wi‑Fi p2p链路。
[0137] 响应于用户的连接指令,业务模块a1生成第一连接请求,并将第一连接请求发送至通信接口程序A。可以理解,应用程序A1运行过程中,每个业务模块可以建立有至少一个进程。可选的,业务模块a1可以基于对应的进程,通过进程间的通信,向通信接口程序A发送第一连接请求。
[0138] 可选的,第一连接请求中可以包括业务模块a1对应的业务标识信息、对端设备的物理地址信息和链路类型等。其中,业务标识信息用于标识不同的业务模块,以区分每个第一连接请求的来源。不同的应用程序中的业务模块的业务标识不同,同一应用程序中的不同业务模块的业务标识也不同。业务标识信息例如可以为业务模块对应的进程标识(process identification,PID),如,本实施例中,第一连接请求中的业务标识信息为业务模块a1对应的进程的PID。
[0139] S102、通信接口程序A响应于第一连接请求,确定电子设备A中第一物理链路对应的总计数值A是否为0。
[0140] 可以理解,同一时刻,电子设备A和电子设备B之间可以建立有一条或多条物理链路,而且,同一类型的物理链路也可能多次建立。本申请实施例中,每一次建立的物理链路可以设置有唯一的标识(以下称为链路标识),以与其他物理链路进行区分。链路标识的形式和内容不限,例如,可以包括本端设备和对端的设备MAC地址以及预设的链路编号。每一条物理链路可以对应一个总计数值。本实施例中,电子设备A中存储的第一物理链路对应的总计数值称为总计数值A,或称为电子设备A的总计数值A。
[0141] 本实施例为初次请求建立第一物理链路,因而,总计数值A为0,执行步骤S103。
[0142] S103、通信接口程序A根据第一连接请求生成第二连接请求,并向电子设备B的通信接口程序B发送第二连接请求,第二连接请求用于请求与电子设备B建立第一物理链路。
[0143] 可选的,第二连接请求中可以包括电子设备A的物理地址信息、链路标识等,以便于对端设备获知本端设备的物理地址信息,并在建立第一物理链路后将第一物理链路与其他物理链路进行区分。另外,第二连接请求中还可以包括其他建立物理链路所需要的信息,例如,本实施例中,链路类型为Wi‑Fi p2p链路的情况下,第二连接请求中可以包括连接角色,连接角色可以为组所有者(group owner,GO)或组客户端(group client,GC)。
[0144] 可选的,第二连接请求可以为JS对象简谱(javascript object notation,JSON)格式,如表1(未包含连接角色和链路标识)所示:
[0145] 表1
[0146]
[0147] 可选的,通信接口程序A可以根据第一连接请求中的对端设备的网络地址信息,基于电子设备A与电子设备B预先协商的通信通道,将第二连接请求发送至电子设备B的通信接口程序B。其中,不同类型的物理链路,协商的通信通道不同。可以理解,本申请实施例中通信接口程序A和通信接口程序B之间的其他信息或请求,例如断开连接请求、复用连接请求、连接成功信息、减少计数指令、复用回复信息等,均可以通过预先协商的通信通道传输,后续实施例不再赘述。
[0148] S104、电子设备B中的通信接口程序B响应于第二连接请求,与通信接口程序B建立第一物理链路。
[0149] 具体的,通信接口程序B可以根据接收第二连接请求的通信通道确定需要建立的第一物理链路的类型。本实施例中,根据接收第二连接请求的通信通道确定第一物理链路的链路类型为Wi‑Fi p2p链路。通信接口程序B根据第二连接请求中电子设备A的物理地址信息,基于通信协议(Wi‑Fi p2p协议),与通信接口B建立第一物理链路。
[0150] 在一些其他的实施例中,建立第一物理链路后,还可以进一步进行设备授信。设备授信的过程可以如下:通信接口程序A向通信接口程序B发送设备授信请求,设备授信请求中可以包括电子设备A的用户信息,用户信息例如可以为设备中登录的预设平台的账号信息,如X云平台的账号信息等。通信接口程序B响应于设备授信请求,将电子设备A的用户信息与电子设备B的用户信息进行对比,确定是否一致,若一致,则通过对电子设备A授信认证。通过设备授信,保证了电子设备A和电子设备B之间第一物理链路的安全性和可靠性。
[0151] S105、通信接口程序B向电子设备B中第一物理链路对应的总计数值B加1。
[0152] 总计数值B是存储于电子设备B中第一物理链路对应的总计数值,也称为电子设备B的总计数值B。通信接口程序B与通信接口程序A成功建立第一物理链路后,可以向总计数值B加1。
[0153] S106、通信接口程序B向通信接口程序A发送连接成功信息。
[0154] 连接成功信息表征第一物理链路建立成功。可选的,连接成功信息中可以携带有第一物理链路的链路标识和连接成功信息中还可以携带有第二连接请求的信息等。
[0155] S107、通信接口程序A接收到连接成功信息,向总计数值A加1,并向业务模块a1对应的业务计数值a1加1。
[0156] 可选的,通信接口程序A接收到连接成功信息后,可以根据连接成功信息中的第二连接请求的信息,确定该第二连接请求对应的第一连接请求的发起业务模块,向该业务模块对应的业务计数值加1。具体的,通信接口程序A可以建立第二连接请求与第一连接请求的对应关系,当接收到第二连接请求的连接成功信息后,根据第二连接请求确定对应的第一连接请求,从而获知发起本次连接请求的业务模块,向该业务模块对应的业务计数值加1。本实施例中,发起业务模块为业务模块a1,业务模块a1对应的业务计数值称为业务计数值a1,向业务计数值a1加1。
[0157] 本实施例中,通过管理电子设备A的总计数值A,简单方便的对第一物理链路的有效请求次数进行管理,也即对电子设备A和电子设备B对第一物理链路的使用情况进行管理,从而在需要使用第一物理链路时,通过判断总计数值A是否为0即能准确获知第一物理链路是否已建立,是否能够复用第一物理链路。另外,通过总计数值能够及时准确的获知第一物理链路是否使用完成,是否需要断开,便于需要时及时断开物理链路。总而言之,本实施例提供的方法能够提高对第一物理链路管理效率和准确率,进而提高电子设备A和电子设备B之间的数据传输效率。而且,本实施例中,在第一物理链路建立成功后,向业务模块a1对应的业务计数值a1和电子设备A的总计数值A分别加1,更新计数值,保证了计数值的准确性。
[0158] 可以理解,在第一物理链路建立成功之后,业务模块a1可以基于第一物理链路,与电子设备B中相关的业务模块建立逻辑链路,从而形成数据传输通道。例如,第一物理链路建立成功后,业务模块a1可以根据电子设备B的网络地址信息和电子设备B中的业务模块b1的端口信息,基于第一物理链路,建立业务模块a1与业务模块b1之间的逻辑链路。其中,网络地址信息例如可以为IP地址,端口信息例如可以为端口号。
[0159] 示例性的,图7是本申请实施例提供的一例初次建立物理链路涉及的信息交互和计数值变化示意图。如图7所示,电子设备A中的业务模块a1向通信接口程序A发送第一连接请求。通信接口程序A响应于第一连接请求,确定总计数值A。如图7所示,本实施例为初次请求建立第一物理链路,业务模块a1对应的业务计数值a1为0,电子设备A的总计数值A也为0,电子设备B的总计数值B也为0。因而,通信接口程序A确定总计数值A为0,即确定当前第一连接请求为初次连接请求,通信接口程序A向电子设备B的通信接口程序B发送第二连接请求。通信接口程序B响应于第二连接请求,与通信接口程序A建立第一物理链路,并向总计数值B加1,总计数值B由0变为1。而且,通信接口程序B向通信接口程序A发送连接成功信息,通信接口程序A接收到连接成功信息后,向业务计数值a1加1,并向总计数值A加1,向业务计数值a1由0变为1,总计数值A由0变为1。
[0160] 2)再次请求建立物理链路
[0161] 在按照上述1)的过程建立第一物理链路之后,业务模块还有可能再次请求建立物理链路,即再次发起连接请求。再次发起连接请求包括三种情况:①、业务模块a1再次发起连接请求;②、电子设备A中的其他业务模块(除业务模块a1之外的业务模块)发起连接请求;③、电子设备B中的业务模块发起连接请求。以下对三种情况分别进行说明。
[0162] ①、业务模块a1再次发起连接请求
[0163] 示例性的,图8为本申请实施例提供的另一例物理链路的建立方法的流程示意图,该方法包括:
[0164] S201、电子设备A中的应用程序A1的业务模块a1向通信接口程序A发送第一连接请求,第一连接请求用于指示通信接口程序A与电子设备B建立第一物理链路。
[0165] 可选的,第一连接请求与上述实施例相同,不再赘述。
[0166] S202、通信接口程序A响应于第一连接请求,确定当前电子设备A的总计数值A是否为0。
[0167] 总计数值A大于0,说明第一物理链路已存在。本实施例中,电子设备A的总计数值为1,执行步骤S203。
[0168] S203、通信接口程序A向电子设备B的通信接口程序B发送第一复用连接请求,第一复用连接请求用于向通信接口程序B请求复用第一物理链路。
[0169] 可选的,第一复用连接请求中可以包括电子设备A的物理地址信息和第一物理链路的链路标识。链路标识便于通信接口程序B获知需要复用的物理链路为哪一条物理链路。
[0170] 可选的,第一复用连接请求可以为JSON格式,如表2(未包含链路标识)所示:
[0171] 表2
[0172]
[0173] S204、电子设备B中的通信接口程序B响应于第一复用连接请求,向电子设备B的总计数值B加1。
[0174] S205、通信接口程序B向通信接口程序A发送第一复用回复信息。
[0175] 通信接口程序B向总计数值B加1之后,向通信接口程序A发送第一复用回复信息,表征第一物理链路可复用。
[0176] S206、通信接口程序A接收到第一复用回复信息,向电子设备A的总计数值A加1,并向业务模块a1对应的业务计数值a1加1。
[0177] 可以理解的是,在一些其他的实施例中,通信接口程序B也可以不向通信接口程序A发送第一复用回复信息。通信接口程序B在向通信接口程序B发送第一复用连接请求之后,直接向总计数值A加1,并向业务计数值a1加1。
[0178] 示例性的,图9是本申请实施例提供的一例再次建立物理链路涉及的信息交互和计数值变化示意图。如图9所示,电子设备A中的业务模块a1向通信接口程序A发送第一连接请求。通信接口程序A响应于第一连接请求,确定电子设备A的总计数值A。如图9所示,本实施例中,业务模块a1对应的业务计数值a1为1,电子设备A的总计数值A也为1,电子设备B的总计数值也为1。因而,通信接口程序A确定总计数值A大于0,即确定当前连接请求为再次连接请求,通信接口程序A向电子设备B的通信接口程序B发送第一复用连接请求。通信接口程序B响应于第一复用连接请求,向总计数值B加1,总计数值B由1变为2。而且,通信接口程序B向通信接口程序A发送第一复用回复信息,通信接口程序A接收到第一复用回复信息后,向业务计数值a1加1,并向总计数值A加1,业务计数值a1由1变为2,总计数值A由1变为2。
[0179] ②、电子设备A中的其他业务模块发起连接请求
[0180] 本实施例中,接续图8和图9所示的实施例,以应用程序A2的业务模块a2向通信接口程序A发起连接请求为例进行说明。
[0181] 示例性的,图10为本申请实施例提供的又一例物理链路的建立方法的流程示意图,该方法包括:
[0182] S301、电子设备A中的应用程序A2的业务模块a2向通信接口程序A发送第三连接请求,第三连接请求用于请求指示通信接口程序A与电子设备B建立第一物理链路。
[0183] 第三连接请求与第一连接请求类似,不同点在于第三连接请求中的业务标识信息为业务模块a2对应的业务标识信息。
[0184] S302、通信接口程序A响应于第三连接请求,确定当前电子设备A的总计数值A是否为0。
[0185] 本实施例中,电子设备A的总计数值为2,说明第一物理链路已存在,执行步骤S303。
[0186] S303、通信接口程序A向电子设备B的通信接口程序B发送第一复用连接请求,第一复用连接请求用于向通信接口程序B请求复用第一物理链路。
[0187] 第一复用连接请求同上述实施例,不再赘述。
[0188] S304、电子设备B中的通信接口程序B响应于第一复用连接请求,向电子设备B的总计数值B加1。
[0189] S305、通信接口程序B向通信接口程序A发送第一复用回复信息。
[0190] S306、通信接口程序A接收到第一复用回复信息,向电子设备A的总计数值A加1,并向业务模块a2对应的业务计数值a2加1。
[0191] 本实施例中,业务模块a2对应的业务计数值称为业务计数值a2。
[0192] 上述过程与图8对应的实施例所示的过程类似,不再赘述。
[0193] 示例性的,图11是本申请实施例提供的另一例再次建立物理链路涉及的信息交互和计数值变化示意图。如图11所示,电子设备A中的业务模块a2向通信接口程序A发送第三连接请求。通信接口程序A响应于第三连接请求,确定电子设备A的总计数值A。如图11所示,本实施例中,当前业务模块a1对应的业务计数值a1为2,业务模块a2对应的业务计数值a2为0,电子设备A的总计数值A为2,电子设备B的总计数值B为2。因而,通信接口程序A确定总计数值A大于0,即确定当前连接请求为再次连接请求,通信接口程序A向电子设备B的通信接口程序B发送第一复用连接请求。通信接口程序B响应于第一复用连接请求,向总计数值B加
1,总计数值B由2变为3。而且,通信接口程序B向通信接口程序A发送第一复用回复信息,通信接口程序A接收到第一复用回复信息后,向业务计数值a2加1,并向总计数值A加1,业务计数值a2由0变为1,总计数值A由2变为3,业务计数值a1仍为2。
[0194] 本实施例中,在接收到第一复用回复信息后将总计数值A加1,且在接收到第二复用请求时,也将总计数值A加1。也就是说,无论是电子设备A中的业务模块复用第一物理链路,还是电子设备B中的业务模块复用第一物理链路,均更新总计数值A,同时,还对总计数值B进行同步更新,如此,保证了总计数值A和总计数值B的准确性,进而保证对第一物理链路管理的准确性。
[0195] 需要说明的是,本实施例以与应用程序A2中的业务模块a2为例,对电子设备A中的其他业务模块发起连接时复用第一物理链路的过程进行了说明。在其他实施例中,当应用程序A1中与业务模块a1不同的其他业务模块,例如应用程序A1中的业务模块a3发起业务连接请求时,实现过程与上述过程相同。也就是说,无论是否应用程序是否相同,只要是与上述业务模块a1不同的业务模块均定义为其他业务模块,实现过程均与上述过程相同。
[0196] 另外,可以理解,在通过上述过程完成对第一物理链路的复用请求之后,业务模块a2可以基于第一物理链路,与电子设备B中两个的业务模块建立逻辑链路,从而形成数据传输通道。例如,完成上述步骤S305后,业务模块a2可以根据电子设备B的网络地址信息和电子设备B中的业务模块b2的端口信息,基于第一物理链路,建立业务模块a2与业务模块b2之间的逻辑链路。需要说明的是,上述实施例中,业务模块a1基于第一物理链路建立了与业务模块b1之间的逻辑链路,本实施例中,业务模块a2基于第一物理链路建立了与业务模块b2之间的逻辑链路。也就是说,本申请实施例中,不同的业务模块共用物理链路,但是各自的逻辑链路独立,这样能够保证各个业务模块数据传输的独立性,在某一逻辑链路或业务端口出现问题时,不会影响其他的逻辑链路,不会对其他业务造成影响,提高电子设备业务功能的稳定性。
[0197] ③、电子设备B中的业务模块发起连接请求
[0198] 本实施例中,接续上述图10和图11所示的实施例,以电子设备B中的应用程序B1的业务模块b1向通信接口程序B发起连接请求为例进行说明。
[0199] 示例性的,图12为本申请实施例提供的又一例物理链路的建立方法的流程示意图,该方法包括:
[0200] S401、电子设备B中的应用程序B1的业务模块b1向通信接口程序B发送第四连接请求,第四连接请求用于请求指示通信接口程序B与电子设备A建立第一物理链路。
[0201] 可选的,第四连接请求中可以包括对端设备的物理地址信息和链路类型。这里,对端设备是指电子设备A。
[0202] S402、通信接口程序B响应于第四连接请求,确定当前电子设备B的总计数值B是否为0。
[0203] 本实施例中,电子设备B的总计数值为3,说明第一物理链路已存在,执行步骤S403。
[0204] S403、通信接口程序B向电子设备A的通信接口程序A发送第二复用连接请求,第二复用连接请求用于向通信接口程序A请求复用第一物理链路。
[0205] 第二复用连接请求与第一复用连接请求类似,不同点在于第二复用连接请求中携带的物理地址信息为电子设备B的物理地址信息。
[0206] S404、电子设备A中的通信接口程序A响应于第二复用连接请求,向电子设备A的总计数值A和业务模块b1对应的业务计数值b1分别加1。
[0207] S405、通信接口程序A向通信接口程序B发送第二复用回复信息。
[0208] S406、通信接口程序B接收到第二复用回复信息,向电子设备B的总计数值B加1。
[0209] 上述过程与图10对应的实施例所示的过程类似,不再赘述。
[0210] 示例性的,图13是本申请实施例提供的又一例再次建立物理链路涉及的信息交互和计数值变化示意图。如图13所示,电子设备B中的业务模块b1向通信接口程序B发送第四连接请求。通信接口程序B响应于第四连接请求,确定电子设备B的总计数值B。如图13所示,本实施例中,当前业务模块a1对应的业务计数值a1为2,业务模块a2对应的业务计数值a2为1,电子设备A的总计数值A为3,电子设备B的总计数值B为3,业务模块b1对应的业务计数值b1为0。因而,通信接口程序B确定总计数值B大于0,即确定当前连接请求为再次连接请求,通信接口程序B向电子设备A的通信接口程序A发送第二复用连接请求。通信接口程序A响应于第二复用连接请求,向总计数值A加1,总计数值A由3变为4。而且,通信接口程序A向通信接口程序B发送第二复用回复信息,通信接口程序B接收到第二复用回复信息后,向业务计数值b1加1,向总计数值B加1,业务计数值b1由0变为1,总计数值B由3变为4。
[0211] 3)断开物理链路
[0212] 本实施例中,接续上述图12和图13所示的实施例,以业务模块a1发起断开连接请求为例,进一步说明断开第一物理链路的处理过程。
[0213] 示例性的,图14为本申请实施例提供的一例断开物理链路的流程示意图,该方法包括:
[0214] S501、电子设备A中的应用程序A1的业务模块a1向通信接口程序A发送第一断开连接请求,第一断开连接请求用于指示通信接口程序A断开与电子设备B的第一物理链路。
[0215] 可选的,第一断开连接请求中可以包括业务模块a1对应的业务标识信息、对端设备的物理地址信息和第一物理链路的链路标识等。
[0216] S502、通信接口程序A响应于第一断开连接请求,确定当前业务模块a1对应的业务计数值a1是否为0;若否,则执行步骤S503;若是,不执行任何操作。
[0217] 可以理解,在一些情况下,虽然某些业务模块的业务计数值为0,但是特殊原因,该业务模块仍可能向通信接口程序发送第一断开连接请求。例如,特殊原因例如:业务计数值为0但是用户仍然操作了第一断开连接请求,或者业务模块按照预设流程检测到第一物理连接仍存在等等。这种情况下,认为该第一断开连接请求为无效连接请求。
[0218] 具体的,通信接口程序A接收到第一断开连接请求时,确定对应的业务计数值a1是否为0,若为0,说明业务模块a1对未发起过第一连接请求,或者业务模块a1对应的所有第一断开连接请求已经处理完毕,说明当前第一断开连接请求为无效断开连接请求,不再对业务计数值a1减1,也不对总计数值A减1,即不做任何操作。若业务计数值a1大于0,则说明当前第一断开连接请求为有效断开连接请求。
[0219] S503、将电子设备A的总计数值A和业务计数值a1分别减1。
[0220] S504、通信接口程序A确定减1后的总计数值A是否均为0;若是,则执行步骤S505和S506;若否,则执行步骤S507和S508。
[0221] 减1后的总计数值A为0,说明当前没有业务需要再使用第一物理链路,可以断开第一物理链路,执行步骤S505和S506。减1后的总计数值A不为0,说明还有其他业务需要使用第一物理链路,只对更新计数值即可,不断开第一物理链路,执行步骤S507和S508。
[0222] S505、通信接口程序A根据第一断开连接请求生成第二断开连接请求,并将第二断开连接请求发送至电子设备B中的通信接口程序B。
[0223] 可选的,第二断开连接请求中包括电子设备A的物理地址信息和第一物理链路的链路标识。
[0224] 可选的,第二断开连接请求可以为JSON格式,如表3(未包含链路标识)所示:
[0225] 表3
[0226]
[0227] S506、电子设备B中的通信接口程序B响应于第二断开连接请求,将电子设备B的总计数值B减1,并断开与通信接口程序A的第一物理链路。
[0228] S507、通信接口程序A向电子设备B的通信接口程序B发送减少计数指令,减少计数指令用于指示通信接口程序B减少电子设备B的总计数值B。
[0229] S508、通信接口程序B响应于减少计数指令,将电子设备B的总计数值B减1。
[0230] 需要说明的是,本申请实施例以电子设备A中的业务模块a1发起第一断开连接请求为例进行说明,对于电子设备A中的其他业务模块(例如业务模块a2),以及电子设备B中的业务模块(例如业务模块b1)发起第一断开连接请求的过程与此类似,不再赘述。
[0231] 以下结合附图,对几种不同业务计数值和总计数值对应的场景下,断开物理链路涉及的信息交互和计数值变化分别进行说明。
[0232] 示例性的,图15是本申请实施例提供的一例断开物理链路涉及的信息交互和计数值变化示意图。本实施例以业务模块a2发起断开连接请求(称为第三断开连接请求),且发起第三断开连接请求时,电子设备A的总计数值A为4,业务计数值a1为2,业务计数值a2为1,电子设备B的总计数值B为4,业务计数值b1为1为例进行说明。
[0233] 如图15所示,电子设备A中的业务模块a2向通信接口程序A发送第三断开连接请求。第三断开连接请求用于指示通信接口程序A断开第一物理链路,与第一断开连接请求不同的是,第三断开连接指令中携带的业务标识信息不同。通信接口程序A响应于第三断开连接请求,确定当前业务计数值a2是否为0。本实施例中,当前业务计数值a2为1,大于0,因而通信接口程序A将总计数值A和业务计数值a2分别减1,总计数值A由4变为3,业务计数值a2由1变为0。之后,通信接口程序A确定减1后的总计数值A是否为0。本实施例中,减1后的总计数值A为3,大于0,因而,通信接口程序A向电子设备B的通信接口程序B发送减少计数指令。通信接口程序B响应于减少计数指令,将总计数值B减1,总计数值B由4变为3。
[0234] 示例性的,图16是本申请实施例提供的另一例断开物理链路涉及的信息交互和计数值变化示意图。本实施例接续图15所示实施例,以业务模块a2发起第三断开连接请求为例进行说明。即,业务模块a2发起第三断开连接请求时,电子设备A的总计数值A为3,业务计数值a1为2,业务计数值a2为0,电子设备B的总计数值B为3,业务计数值b1为1。
[0235] 如图16所示,电子设备A中的业务模块a2向通信接口程序A发送第三断开连接请求。通信接口程序A响应于第三断开连接请求,确定当前业务计数值a2是否为0。本实施例中,当前业务计数值a2为0,因而通信接口程序A确定该第三断开连接请求为无效断开连接请求,不做任何处理。
[0236] 示例性的,图17是本申请实施例提供的又一例断开物理链路涉及的信息交互和计数值变化示意图。本实施例接续图16所示实施例,以电子设备B中的业务模块b1发起断开连接请求(称为第四断开连接请求)为例进行说明。即,业务模块b1发起第四断开连接请求时,电子设备A的总计数值A为3,业务计数值a1为2,业务计数值a2为0,电子设备B的总计数值B为3,业务计数值b1为1。
[0237] 如图17所示,电子设备B中的业务模块b1向通信接口程序B发送第四断开连接请求。第四断开连接请求用于指示通信接口程序B断开第一物理链路。通信接口程序B响应于第四断开连接请求,确定总计数值B是否为0。本实施例中,总计数值B为3,大于0,因而,通信接口程序B将总计数值B和业务计数值b1分别减1,总计数值A由3变为2,业务计数值b1由1变为0。之后,通信接口程序B确定减1后的总计数值B是否为0。本实施例中,减1后的总计数值B为2,大于0,因而,通信接口程序B向电子设备A的通信接口程序A发送减少计数指令。通信接口程序B响应于减少计数指令,将总计数值A减1,总计数值A由3变为2。
[0238] 示例性的,图18是本申请实施例提供的又一例断开物理链路涉及的信息交互和计数值变化示意图。本实施例以业务模块a1发起第一断开连接请求,且发起第一断开连接请求时,电子设备A的总计数值A为1,业务计数值a1为1,业务计数值a2为0,电子设备B的总计数值B为1,业务计数值b1为0为例进行说明。
[0239] 如图18所示,电子设备A中的业务模块a1向通信接口程序A发送第一断开连接请求。通信接口程序A响应于第一断开连接请求,确定当前业务计数值a1是否为0。本实施例中,当前业务计数值a1为1,大于0,因而通信接口程序A将总计数值A和业务计数值a1分别减1,总计数值A由1变为0,业务计数值a1由1变为0。之后,通信接口程序A确定减1后的总计数值A是否为0。本实施例中,减1后的总计数值A为0,因而,通信接口程序A向电子设备B的通信接口程序B第二断开连接请求。通信接口程序B响应于第二断开连接指令,断开第一物理链路,并将总计数值B减1,总计数值B由1变为0。
[0240] 下面结合图19对上述第一物理链路的连接和断开过程进行概括性描述。
[0241] 示例性的,图19为本申请实施例提供的一例物理链路的建立和断开的时序图,如图19所示,第一时刻点t1,业务模块a1发起第一连接请求,建立第一物理链路,业务模块a1对应的业务计数值a1加1,电子设备A的总计数值A加1,电子设备B的总计数值B加1。此时,业务计数值a1=1,总计数值A=1,总计数值B=1。
[0242] 第二时刻点t2,业务模块a2发起第三连接请求,复用第一物理链路,业务模块a2对应的业务计数值加1,电子设备A的总计数值A加1,电子设备B的总计数值B加1。此时,业务计数值a1=1,业务计数值a2=1,总计数值A=2,总计数值B=2。
[0243] 第三时刻点t3,业务模块a1发起第一断开连接请求,当前业务计数值a1=1,因而该第一断开连接请求为有效断开连接请求,业务模块a1对应的业务计数值a1减1,电子设备A的总计数值A减1,电子设备B的总计数值B减1。此时,业务计数值a1=0,业务计数值a2=1,总计数值A=1,总计数值B=1。但是,减1后的总计数值A大于0,因而第一物理链路继续保持,即,不断开第一物理链路。
[0244] 第三时刻点t4,业务模块a1发起第一断开连接请求,当前业务计数值a1=0,因而该第一断开连接请求为无效断开连接请求,各个业务模块计数值和总计数值保持不变,且第一物理链路继续保持。此时,业务计数值a1=0,业务计数值a2=1,总计数值A=1,总计数值B=1。
[0245] 第五时刻点t5,业务模块a2发起第三断开连接请求,当前业务计数值a2=1,因而该第三断开连接请求为有效断开连接请求,业务模块a2对应的业务计数值a2减1,电子设备A的总计数值A减1,电子设备B的总计数值B减1。此时,业务计数值a1=0,业务计数值a2=0,总计数值A=0,总计数值B=0。而且,减1后的总计数值A等于0,因而断开第一物理链路。
[0246] 本申请实施例提供的方法中,在业务模块请求断开物理链路时,会对业务模块对应的业务计数值进行判断。若当前业务计数值0,则确定当前断开连接请求为无效断开连接请求,不处理此次断开连接请求。这样能够保证业务计数值和总计数值的准确性,提高对物理链路管理的准确性。另外,该方法中,只有减1后的总计数值为0时才断开第一物理链路,最大程度复用第一物理链路,提高第一物理链路利用率。而且,由图19可以看出,虽然第一物理链路是在t1时刻点,响应于业务模块a1初次发起的第一连接请求建立的,但是,最终第一物理链路是响应于业务模块a2发起的断开连接请求成功断开的。也就是说,无论第一物理链路由哪个业务模块发起建立,只要在接收到有效断开连接请求后,减1后的总计数值为0,就断开连接第一物理链路。这样,第一物理链路的断开不用受限于发起连接的业务模块的限制,防止出现某一业务模块的发起的连接只能由该业务模块断开的情况,保证了业务模块之间的独立性,提高了电子设备业务功能的稳定性和可靠性。
[0247] 上文详细介绍了本申请实施例提供的物理链路的建立方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0248] 本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0249] 需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0250] 本实施例提供的电子设备,用于执行上述物理链路的建立方法,因此可以达到与上述实现方法相同的效果。
[0251] 在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
[0252] 其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi‑Fi芯片等与其他电子设备交互的设备。
[0253] 在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图4所示结构的设备。
[0254] 本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的物理链路的建立方法。
[0255] 本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的物理链路的建立方法。
[0256] 另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的物理链路的建立方法。
[0257] 其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0258] 通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0259] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0260] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0261] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0262] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0263] 以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。