CN117640717A - 一种设备连接方法及设备 - Google Patents
一种设备连接方法及设备 Download PDFInfo
- Publication number
- CN117640717A CN117640717A CN202210999999.XA CN202210999999A CN117640717A CN 117640717 A CN117640717 A CN 117640717A CN 202210999999 A CN202210999999 A CN 202210999999A CN 117640717 A CN117640717 A CN 117640717A
- Authority
- CN
- China
- Prior art keywords
- vpn
- server
- connection
- electronic equipment
- electronic 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 17
- 238000013461 design Methods 0.000 description 33
- 238000007726 management method Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 26
- 239000003795 chemical substances by application Substances 0.000 description 23
- 239000010410 layer Substances 0.000 description 21
- 238000010295 mobile communication Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000006855 networking Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Abstract
本申请提供一种设备连接方法及设备。在该方法中,电子设备响应于用户触发的连接操作,向连接服务发送连接请求;连接请求包括电子设备的VPN IP地址;连接服务根据连接请求确定目标执行服务,目标执行服务与电子设备具有相同网段地址。电子设备获取目标执行服务的VPN IP地址。根据电子设备的VPN IP地址和目标执行服务的VPN IP地址,目标执行服务与电子设备建立连接。该连接用于服务器向电子设备下发调试命令,以及用于电子设备向服务器返回调试命令对应的执行结果。通过该方案,电子设备可以与服务器中的目标执行服务建立连接,从而无需配置本地代理机,电子设备可以高效便捷地远程接入服务器,节省调试成本。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种设备连接方法及设备。
背景技术
随着互联网生态的快速发展,越来越多的开发者涌入应用开发领域,同时测试设备的需求也显著增长。真机平台为集中提供设备共享服务的平台,真机平台可以为开发者提供在线使用多种测试设备的功能。
目前的真机平台运营中,需要大量采购并集中管理电子设备。电子设备通过数据线连接到本地代理机,本地代理机中安装代理插件,本地代理机运行代理服务,从而可以将电子设备连接到真机平台。用户可以通过真机平台申请使用电子设备,从而进行应用调试等工作。
由于电子设备接入真机平台必须依赖本地代理机,但本地代理机设备成本较高且环境配置复杂,无法随时随地将电子设备接入真机平台。另外,电子设备需要通过数据线与本地代理机连接,本地代理机的串口数量和供电限制也会制约真机平台的发展。
发明内容
本申请提供一种设备连接方法及设备,用以提供一种高效快捷的真机设备连接方式。
第一方面,本申请提供一种设备连接方法,该方法可以由调试系统执行,该调试系统包括服务器和电子设备,服务包括连接服务和执行服务。所述设备连接方法包括:
所述电子设备响应于用户触发的连接操作,向所述连接服务发送连接请求;所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;所述连接服务根据所述连接请求确定目标执行服务,所述目标执行服务与所述电子设备具有相同网段地址;所述电子设备获取所述目标执行服务的VPN IP地址;根据所述电子设备的VPN IP地址和所述目标执行服务的VPN IP地址,所述目标执行服务与所述电子设备建立连接;所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
基于该方法,电子设备可以与服务器中的目标执行服务建立连接,从而无需配置本地代理机,电子设备可以高效便捷地远程接入服务器,进而电子设备可以作为真机设备用于进行调试,节省调试成本。
在一个可能的设计中,所述服务器包括与所述电子设备具有相同网段地址的多个执行服务,所述目标执行服务为所述多个执行服务中当前连接设备数量最少的执行服务。
通过该设计,可以将与电子设备网段相同且当前连接设备数量最少的执行服务作为目标执行服务,从而可以均衡使用服务器中的多个执行服务,防止执行服务资源浪费。
在一个可能的设计中,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
通过该设计,连接请求中可以包括电子设备的守护进程端口标识,从而便于目标执行服务和电子设备通过电子设备暴露的守护进程端口建立连接。
在一个可能的设计中,在所述目标执行服务与所述电子设备建立连接之后,所述方法还包括:服务器将所述电子设备的设备信息存储到所述服务器的设备数据库中。
通过该设计,服务器可以将电子设备的设备信息存储到设备数据库中,便于后续用户设备请求使用该电子设备进行调试。
在一个可能的设计中,在所述目标执行服务与所述电子设备建立连接之前,所述方法还包括:所述服务器接收所述电子设备发送的VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;当不存在所述电子设备对应的VPN账户信息时,所述服务器创建所述电子设备对应的VPN账户,所述服务器将所述电子设备对应的VPN账户信息发送给所述电子设备;所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址;当存在所述电子设备对应的VPN账户信息时,所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址。
通过该设计,服务器可以为电子设备创建VPN账户,从而电子设备可以根据VPN账户信息获取电子设备的VPN IP地址,进而实现服务器将电子设备和服务器中的执行服务组建到同一个虚拟局域网中,便于电子设备和服务器中的执行服务建立连接。
在一个可能的设计中,在所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址之前,所述方法还包括:若所述电子设备本地不存在所述VPN账户对应的证书信息,所述电子设备将所述VPN证书信息下载至本地,并生成建立所述连接时所需的配置文件。
通过该设计,电子设备可以将VPN证书信息下载至本地,并生成配置文件,从而可以在该电子设备对应的虚拟局域网中与目标执行服务建立连接,高效实现电子设备接入真机平台。
在一个可能的设计中,所述方法还包括:所述服务器为每个执行服务分配VPN IP地址;以及所述服务器为所述电子设备分配VPN IP地址。
通过该设计,服务器可以分别为每个执行服务分配VPN IP地址,以及为电子设备分配VPN IP地址,从而服务器可以将电子设备和执行服务组建到同一个虚拟局域网中,便于电子设备和执行服务建立连接。
在一个可能的设计中,在所述目标执行服务与所述电子设备建立连接之后,所述方法还包括:所述服务器接收用户设备发送的设备申请请求,所述设备申请请求用于请求使用所述电子设备进行调试;所述目标执行服务通过所述连接将所述调试命令发送给所述电子设备;所述电子设备执行所述调试命令,并将所述调试命令对应的执行结果通过所述连接发送给所述目标执行服务;所述服务器将所述调试命令对应的执行结果发送给所述用户设备。
通过该设计,电子设备与目标执行服务建立连接之后,用户设备可以申请使用电子设备进行调试,实现远程调试,提高调试效率。
第二方面,本申请提供一种设备连接方法,该设备连接方法可以由电子设备执行。所述设备连接方法包括:
响应于用户触发的连接操作,向服务器的连接服务发送连接请求;其中,所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;获取目标执行服务的VPNIP地址;所述目标执行服务为所述服务器中与所述电子设备具有相同网段地址的执行服务;根据所述目标执行服务的VPN IP地址与所述目标执行服务建立连接;所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
在一个可能的设计中,所述服务器包括与所述电子设备具有相同网段地址的多个执行服务,所述目标执行服务为所述多个执行服务中当前连接设备数量最少的执行服务。
在一个可能的设计中,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
在一个可能的设计中,在所述根据所述目标执行服务的VPN IP地址与所述服务器中的目标执行服务建立连接之前,所述方法还包括:向所述服务器发送VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;当不存在所述电子设备对应的VPN账户信息时,接收所述服务器发送的所述电子设备对应的VPN账户信息,根据所述VPN账户信息获取所述电子设备的VPN IP地址;当存在所述电子设备对应的VPN账户信息时,根据所述VPN账户信息获取所述电子设备的VPN IP地址。
在一个可能的设计中,在所述根据所述VPN账户信息获取所述电子设备的VPN IP地址之前,所述方法还包括:若不存在所述VPN账户对应的证书信息,将所述VPN证书信息下载至本地,生成建立连接时所需的配置文件。
在一个可能的设计中,在所述根据所述目标执行服务的VPN IP地址与所述服务器中的目标执行服务建立连接之后,所述方法还包括:通过所述连接接收所述目标连接服务发送的调试命令,所述调试命令为用户设备发送给所述服务器的;执行所述调试命令,并将所述调试命令对应的执行结果通过所述连接发送给所述目标执行服务。
第三方面,本申请提供一种设备连接方法,该设备连接方法可以由服务器执行,服务器包括连接服务和执行服务。所述设备连接方法包括:所述连接服务接收所述电子设备发送的连接请求;所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;所述连接服务根据所述连接请求确定目标执行服务,所述目标执行服务与所述电子设备具有相同网段地址;所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立连接;所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
在一个可能的设计中,所述服务器包括与所述电子设备具有相同网段地址的多个执行服务,所述连接服务根据所述连接请求确定目标执行服务,包括:所述连接服务将与所述多个执行服务中当前连接设备数量最少的执行服务作为所述目标执行服务。
在一个可能的设计中,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
在一个可能的设计中,在所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立连接之后,所述方法还包括:所述服务器将所述电子设备的设备信息存储到所述服务器的设备数据库中。
在一个可能的设计中,在所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立连接之前,所述方法还包括:所述服务器接收所述电子设备发送的VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;当不存在所述电子设备对应的VPN账户信息时,所述服务器创建所述电子设备对应的VPN账户,所述服务器将所述电子设备对应的VPN账户信息发送给所述电子设备。
在一个可能的设计中,所述方法还包括:所述服务器为每个执行服务分配VPN IP地址;以及所述服务器为所述电子设备分配VPN IP地址。
在一个可能的设计中,在所述目标执行服务与所述电子设备建立连接之后,所述方法还包括:所述服务器接收用户设备发送的设备申请请求,所述设备申请请求用于请求使用所述电子设备进行调试;所述目标执行服务通过所述连接将所述调试命令发送给所述电子设备;所述目标执行服务接收所述电子设备发送的所述调试命令对应的执行结果;所述服务器将所述调试命令对应的执行结果发送给所述用户设备。
第四方面,本申请提供一种调试系统,所述调试系统包括服务器和电子设备;
所述电子设备,用于响应于用户触发的连接操作,向所述服务器发送连接请求;所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;获取所述目标执行服务的VPN IP地址;根据所述目标执行服务的VPN IP地址与所述目标执行服务建立连接;
所述服务器,用于通过连接服务根据所述连接请求确定目标执行服务,所述目标执行服务与所述电子设备具有相同网段地址;通过所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立所述连接;
其中,所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
在一个可能的设计中,所述服务器还用于:当所述服务器包括与所述电子设备具有相同网段地址的多个执行服务时,通过所述连接服务将所述多个执行服务中当前连接设备数量最少的执行服务作为所述目标执行服务。
在一个可能的设计中,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
在一个可能的设计中,所述服务器还用于:在通过所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立连接之后,将所述电子设备的设备信息存储到所述服务器的设备数据库中。
在一个可能的设计中,所述服务器还用于:在所述通过所述目标执行服务根据所述电子设备的VPN IP地址与所述电子设备建立所述连接之前,接收所述电子设备发送的VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;当不存在所述电子设备对应的VPN账户信息时,创建所述电子设备对应的VPN账户,将所述电子设备对应的VPN账户信息发送给所述电子设备;
所述电子设备还用于:向所述服务器发送VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;当不存在所述电子设备对应的VPN账户信息时,接收所述服务器发送的所述电子设备对应的VPN账户信息,根据所述VPN账户信息获取所述电子设备的VPN IP地址;当存在所述电子设备对应的VPN账户信息时,根据所述VPN账户信息获取所述电子设备的VPN IP地址。
在一个可能的设计中,所述电子设备还用于:在所述根据所述VPN账户信息获取所述电子设备的VPN IP地址之前,若不存在所述VPN账户对应的证书信息,将所述VPN证书信息下载至本地,生成建立连接时所需的配置文件。
在一个可能的设计中,所述服务器还用于:接收用户设备发送的设备申请请求,所述设备申请请求用于请求使用所述电子设备进行调试;通过所述目标执行服务通过所述连接将所述调试命令发送给所述电子设备;通过所述目标执行服务接收所述电子设备发送的所述调试命令对应的执行结果;将所述调试命令对应的执行结果发送给所述用户设备;
所述电子设备还用于:通过所述连接接收所述调试命令;执行所述调试命令,并将所述调试命令对应的执行结果通过所述连接发送给所述目标执行服务。
第五方面,本申请提供一种电子设备,包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储计算机程序指令,所述电子设备运行时,所述至少一个处理器执行上述任一方面及其各实施方式中电子设备执行的方法。
第六方面,本申请提供一种电子设备,所述电子设备包括多个功能模块;所述多个功能模块相互作用,实现上述任一方面及其各实施方式中电子设备执行的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第七方面,本申请提供一种服务器,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于读取所述至少一个存储器所存储的计算机程序,以执行上述任一方面及其各实施方式中服务器执行的方法。
第八方面,本申请提供一种服务器,所述服务器包括多个功能模块;所述多个功能模块相互作用,实现上述任一方面及其各实施方式中服务器所执行的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第九方面,本申请还提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述任一方面及其各实施方式中的第一电子设备、第三电子设备或服务器执行的方法。
第十方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行上述任一方面及其各实施方式中的第一电子设备、第三电子设备或服务器执行的方法。
第十一方面,本申请还提供一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行上述任一方面及其各实施方式中的第一电子设备、第三电子设备或服务器执行的方法。
第十二方面,本申请还提供一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现上述任一方面及其各实施方式中的第一电子设备、第三电子设备或服务器执行的方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为一种真机平台系统的应用场景示意图;
图2为一种真机平台系统中各个设备的架构示意图;
图3为一种真机设备连接方法的流程示意图;
图4为本申请实施例提供的一种设备连接方法的应用场景示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种电子设备的软件结构框图;
图7为本申请实施例提供的一种调试系统的架构示意图;
图8为本申请实施例提供的一种VPN组网方法的场景示意图;
图9为本申请实施例提供的一种电子设备连接VPN的方法流程图;
图10为本申请实施例提供的一种设备连接方法的流程示意图;
图11为本申请实施例提供的一种连接应用的应用界面示意图;
图12为本申请实施例提供的一种连接页面的示意图;
图13为本申请实施例提供的一种服务器为电子设备分配执行服务的示意图;
图14为申请实施例提供的一种连接页面的示意图;
图15为本申请实施例提供的一种设备申请和使用的方法流程图;
图16为本申请实施例提供的一种设备申请页面的示意图;
图17为本申请实施例提供的一种调试页面的示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
随着互联网生态的快速发展,越来越多的开发者涌入应用开发领域,同时测试设备的需求也显著增长。真机平台为集中提供设备共享服务的平台,真机平台可以为开发者提供在线使用多种测试设备的功能。
图1为一种真机平台系统的应用场景示意图。参考图1,该真机平台系统包括真机平台和真机数据库,其中,真机平台为集中提供真实设备共享服务的工具平台,真机数据库为用于存储连接到真机平台上的真机设备的属性信息的关系数据库,其中,真机设备的属性信息可以包括真机设备的互联网协议(internet protocol,IP)地址、序列号(serialnumber,SN)、品牌、型号、设备使用状态等。实施中,真机平台与真机数据库可以通过至少一个计算设备实现,如真机平台服务器可以实现真机平台与真机数据库的功能。图1所示的真机平台系统还包括本地代理机,真机设备可以通过数据线连接到本地代理机。本地代理机中可以安装代理插件,本地代理机运行代理插件从而辅助真机设备接入真机平台。真机设备可以为个人设备、各品牌商品设备或实验室设备等。
基于图1所示的真机平台系统,图2为一种真机平台系统中各个设备的架构示意图。参考图2,用户设备为申请使用真机设备的设备。服务器用于实现真机平台和设备数据库的功能,服务器包括设备管理、设备连接服务、设备鉴权以及设备数据库等功能模块。代理机用于辅助真机设备接入服务器,代理机包括代理服务和调试工具等功能模块,调试工具包括调试客户端和调试服务端。真机设备上安装有调试工具对应的Daemon程序。调试工具可以为操作系统适配的工具,不同操作系统适配的调试工具可以相同或不同,如图2中以调试工具为安卓调试桥(Android debug bridge,ADB)为例,调试客户端可以为ADBClient,调试服务端可以为ADB Server,调试工具对应的Daemon程序又称为守护进程,通常在系统后台长时间运行,如调试工具为ADB时,守护进程可以为安卓调试守护进程(Androiddebug bridge daemon,adbd)。
下面对各个模块的功能进行进一步介绍:
调试工具,如ADB,为一种在代理机和真机设备之间建立通信并管理真机设备的工具,代理机可以调用调试工具向真机设备发送调试命令,调试命令可以用于指示真机设备执行各种操作。
ADB Client运行在代理机上,代理机可以通过调试命令调用客户端。
ADB Server运行在代理机上,用于管理调试客户端与真机设备中的守护进程之间的通信。
adbd运行在真机设备上,真机设备开启调试功能后可以自动运行adbd。
代理服务为运行在代理机上的后台服务,用于上报真机设备状态,还用于接收设备连接服务下发的操作指令,并将操作指令下发给代理机上的调试客户端。
设备鉴权运行在服务器上,用于对真机设备进行鉴权,判断真机设备是否合法。
设备管理运行在服务器上,用于管理真机设备的信息,并将真机设备的信息提供给用户设备。
基于图2所示的架构,图3为一种真机设备连接方法的流程示意图。参考图3,该方法包括以下步骤:
S301:代理机启动代理服务。
可选地,代理机启动代理服务后,可以暴露后台进程端口以和服务器建立连接,如代理机在启动代理服务后可以暴露后台进程端口5037。
S302:真机设备启动调试功能,自动运行守护进程。
用户可以将真机设备通过数据线连接到代理机上,真机设备可以在后台启动adbd,以暴露进程端口以和代理机建立连接。如真机设备可以暴露进程端口5555。真机设备通过数据线连接到代理机后,代理机可以自动在后台启动ADB Server,并暴露后台进程端口,如暴露端口5037。
S303:ADB Server扫描真机设备暴露的端口,与真机设备建立通信连接。
S304:代理服务以设定周期发起设备查询指令(adb devices),并将设备查询指令下发至ADB Client,ADB Client将设备查询指令发送给ADB Server。
S305:ADB Server可以通过与真机设备之间的通信连接获取真机设备的设备连接信息。
S306:ADB Server将设备连接信息发送给ADB Client,ADB Client将设备连接信息发送给代理服务。
S307:代理服务向设备连接服务发送设备连接信息。
S308:设备鉴权对设备连接信息对应的真机设备进行鉴权,确定对真机设备鉴权通过。
S309:设备管理服务将真机设备的设备信息存入设备数据库。
通过上述的设备连接方法可知,目前的真机平台运营中,需要真机平台运营者大量采购并集中管理真机设备。真机设备需要通过数据线连接到代理机,也就是说,真机设备接入真机平台必须依赖本地代理机,但代理机设备成本较高且环境配置复杂,且代理机只能放置在固定场所,无法随时随地将真机设备接入真机平台。另外,由于真机设备需要通过数据线与代理机连接,代理机的串口数量和供电限制也会制约真机平台的发展。
基于上述问题,本申请提供一种设备连接方法,用以提供一种高效快捷的真机设备连接方式。
图4为本申请实施例提供的一种设备连接方法的应用场景示意图。参考图4,该场景包括服务器、真机设备以及用户设备,其中,真机设备包括至少一个电子设备,如个人设备、各品牌商品设备或实验室设备等。为便于描述,以下介绍中电子设备为真机设备,用户设备为申请使用真机设备的用户所使用的设备。
参考图4,本申请实施例中电子设备可以通过无线局域网或蜂窝移动网与服务器通信,如电子设备可以通过无线保真(wireless fidelity,Wi-Fi)网络、第四代移动通信技术(the 4th generation mobile communication technology,4G)、第五代移动通信技术(the 4th generation mobile communication technology,5G)等通信技术与服务器通信。相较于图1所示的场景,本申请实施例中并不涉及代理机,也就是说,本申请实施例提供的设备连接方法中,不需要代理机辅助电子设备接入服务器,也就不需要使用数据线连接电子设备和代理机。
在本申请实施例提供的设备连接方法中,电子设备上可以安装连接应用,电子设备可以通过该连接应用与服务器交互,服务器中包括连接服务和多个执行服务,连接服务可以为电子设备分配目标执行服务,目标执行服务可以与电子设备建立连接,从而将电子设备接入真机平台。用户可以使用用户设备向服务器申请使用电子设备进行远程调试。通过本申请实施例提供的设备连接方法,电子设备可以与服务器中的目标执行服务建立连接从而接入真机平台,无需配置本地代理机,节省调试成本,高效便捷地建立电子设备与真机平台的服务器之间的连接。
以下介绍电子设备、和用于使用这样的电子设备的实施例。本申请实施例的电子设备可以为平板电脑、手机、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴设备等,本申请实施例对电子设备的具体类型不作任何限制。
图5为本申请实施例提供的一种电子设备100的结构示意图。如图5所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial 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等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,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),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面,例如显示电子设备100上安装的应用的显示页面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,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的正整数。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序的软件代码等。存储数据区可存储电子设备100使用过程中所产生的数据(例如拍摄的图像、录制的视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
其中,传感器模块180可以包括压力传感器180A,加速度传感器180B,触摸传感器180C等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
触摸传感器180C,也称“触控面板”。触摸传感器180C可以设置于显示屏194,由触摸传感器180C与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180C用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180C也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现与电子设备100的接触和分离。
可以理解的是,图5所示的部件并不构成对电子设备100的具体限定,电子设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图5中的部件之间的组合/连接关系也是可以调整修改的。
图6为本申请实施例提供的一种电子设备的软件结构框图。如图6所示,电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将操作系统分为四层,从上至下分别为应用程序层,应用程序框架层(framework,FWK),运行时(runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包(application package)。如图6所示,应用程序层可以包括相机、设置、皮肤模块、用户界面(user interface,UI)、三方应用程序等。其中,三方应用程序可以包括图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等。在本申请实施例中,应用程序还可以包括连接应用,连接应用用于与服务器中的目标执行服务建立连接,从而将电子设备接入真机平台,使得电子设备可以作为真机设备执行调试功能。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
运行时包括核心库和虚拟机。运行时负责操作系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是操作系统的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)、图像处理库等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
硬件层可以包括各类传感器,例如加速度传感器、陀螺仪传感器、触摸传感器等。
需要说明的是,图5和图6所示的结构仅作为本申请实施例提供的电子设备的一种示例,并不能对本申请实施例提供的电子设备进行任何限定,具体实施中,电子设备可以具有比图5或图6所示的结构中更多或更少的器件或模块。
下面对本申请实施例提供的设备连接方法进行介绍。
图7为本申请实施例提供的一种调试系统的架构示意图,参考图7,该调试系统包括服务器、电子设备和用户设备。服务器包括设备管理服务、设备数据库、执行服务、连接服务以及虚拟专用网络(virtual private network,VPN)服务等模块。需要说明的是,本申请实施例中服务器可以包括多个执行服务,图7中以一个执行服务作为示例。
参考图7,电子设备上安装有连接应用,连接应用支持用户登录、电子设备列表、VPN证书下载、VPN连接、设备连接等功能,电子设备在启动连接应用时,还可以触发启动调试工具对应的守护进程。需要说明的是,本申请实施例中的调试工具可以电子设备的操作系统对应的调试工具,如电子设备的操作系统为安卓系统时,调试工具可以为ADB;电子设备的操作系统为鸿蒙系统时,调试工具可以为鸿蒙调试工具。
下面对服务器中的各个模块的功能分别进行介绍:
连接服务包括设备连接、设备鉴权、执行服务分配等子模块。其中,连接服务可以用于提供接口给电子设备的连接应用以建立服务器和电子设备的通信连接,设备鉴权用于对电子设备进行鉴权,判断电子设备是否合法。
执行服务是部署在服务器上的模块,包括代理服务、调试客户端、调试服务端等子模块。
VPN服务用于实现VPN账户生成、VPN证书下载、VPN服务等功能,VPN服务可以将执行服务模块和电子设备组建在同一个局域网络中。
设备管理服务用于管理电子设备的设备信息,并将电子设备的设备信息提供给用户设备。
需要说明的是,图7所示的调试系统中服务器以及电子设备的结构以及各个服务的功能只作为一种示例而非限定,具体实施中,服务器中可以有更多或更少的服务,每个服务所执行的功能也可以由其它服务执行,本申请实施例对此不作限定。
基于图7所示的调试系统,下面对本申请实施例提供的设备连接方法进行进一步介绍。本申请实施例提供的设备连接方法可以包括VPN组网、设备连接以及设备申请与使用三部分,下面对本申请实施例中VPN组网方法、设备连接方法以及设备申请与使用方法分别进行介绍:
一、VPN组网方法
在本申请实施例中,电子设备与服务器中的执行服务处于相同局域网时,电子设备可以与执行服务建立通信连接,从而实现将电子设备接入真机平台。可选地,电子设备连接应用具备VPN Client功能,服务器中的执行服务也具有VPN Client功能,服务器中的VPN服务可以将执行服务和电子设备组建到同一局域网环境中。
一种可选的实施方式中,VPN服务上可以搭建至少一个VPN Sever,每个VPNServer可以为VPN Client分配网段IP地址,从而将多个VPN Client组建到同一个局域网中。
举例来说,图8为本申请实施例提供的一种VPN组网方法的场景示意图。参考图8,服务器中的VPN服务可以启动VPN Server服务,此时VPN服务获取到一个VPN Server的IP地址,如图8中VPN服务1获取到的VPN Server的IP地址为10.6.12.4。
服务器可以在执行服务中安装VPN客户端,执行服务启动VPN Client服务。如图8中执行服务1启动VPN Client服务,接入VPN Server,VPN Server可以为VPN Client分配一个与VPN Server同网段的ip地址,如VPN Server为执行服务1分配的VPN Client的IP地址为10.6.12.5。类似地,执行服务2也可以启动VPN Client服务,接入VPN Server,VPNServer为执行服务2分配的VPN Client的IP地址为10.6.12.6。通过以上组网过程,VPN服务1、执行服务1以及执行服务2处于同一个局域网中。
电子设备可以响应于用户触发的操作启动连接应用,并且用户可以在连接应用上登录用户账户。连接应用具有VPN Client功能,VPN服务可以为电子设备分配VPN ClientIP地址。如图9为本申请实施例提供的一种电子设备连接VPN的方法流程图。参考图9,该方法包括以下步骤:
S901:电子设备向服务器上的VPN服务校验是否存在连接应用的用户账户对应的VPN账户信息,若不存在,进入S902;若存在,进入S903。
可选地,电子设备可以向服务器发送VPN校验请求,该VPN校验请求用于请求服务器校验是否存在用户账户对应的VPN账户信息。服务器在接收到电子设备发送的VPN校验请求后,可以查询是否存在用户账户对应的VPN账户信息。
S902:VPN Server为用户账号创建VPN账户。
S903:电子设备判断本地是否存储VPN账户对应的证书信息;若是,进入S905;若否,进入S904。
其中,VPN账户对应的证书信息可以包括CA证书和私钥证书。
S904:电子设备将VPN账户对应的证书信息下载至指定目录,并生成VPN Client连接所需的配置文件。
S905:电子设备上的连接应用发起VPN连接请求,连接至VPN Server。
连接应用连接至VPN Server后,电子设备可以作为一个VPN Client,VPN Server可以为电子设备分配VPN Client的IP地址,如图8中VPN Server为电子设备分配VPNClient的IP地址可以为10.6.12.122。
通过上述方法,服务器中的执行服务和电子设备可以处于相同的局域网中,进而完成VPN组网,此时服务器中的执行服务可以与电子设备建立通信连接,将电子设备作为可使用的真机设备。
二、设备连接方法
图10为本申请实施例提供的一种设备连接方法的流程示意图。参考图10,该方法包括以下步骤:
S1001:电子设备启动连接应用。
一种可选的实施方式中,电子设备可以启动连接应用,并登录用户账户。可选地,电子设备在检测用户账户登录后,可以对本机的守护进程端口进行扫描,若守护进程端口已存在,表示守护进程已正常运行;若守护进程端口不存在,则电子设备可以通过shell命令调用守护进程端口,触发运行守护进程。
S1002:电子设备响应于用户触发的连接操作,向服务器发送连接请求。
一种可选的实施方式中,电子设备启动连接应用后,可以在显示屏中显示连接应用的应用界面,如图11为本申请实施例提供的一种连接应用的应用界面示意图。参考图11,该界面中可以包括当前登录的用户账户的注册设备,如当前使用的电子设备在该界面中显示为“本机设备”,该界面中还可以包括用户账户下的其它注册设备,如图11中的设备1~设备3。参考图11,应用界面中还可以显示每个设备的使用时长和连接状态。用户可以点击用于进入本机设备对应的连接页面的控件,如用户可以点击图11所示的页面跳转控件,电子设备可以显示本机设备对应的连接页面。
图12为本申请实施例提供的一种连接页面的示意图。参考图12,该连接页面中可以包括VPN状态、VPN区域、VPN IP地址、守护进程端口等信息。可以理解的是,VPN IP地址可以为VPN组网阶段中VPN Server为电子设备分配的VPN Client的IP地址。可选的,用户触发的连接操作可以为用户可以点击连接页面中的连接控件,电子设备响应于用户触发的连接操作,可以向服务器发送连接请求。
一种可选的实施方式中,电子设备可以通过服务器的API接口向服务器发送连接请求,服务器中的API接口可以将连接请求转发至连接服务中的设备连接子模块;其中,连接请求中可以包括电子设备的VPN IP地址、守护进程端口标识等参数。
S1003:服务器中的连接服务根据接收到的连接请求确定电子设备对应的目标执行服务模块。
本申请实施例中服务器中可以包括多个执行服务,每个执行服务可以与至少一个电子设备建立连接,从而服务器可以同时与多个电子设备建立连接,并使用多个电子设备进行应用调试等操作。可选地,根据本申请实施例前述VPN组网方式可知,VPN Server可以分别为每个执行服务分配VPN Client的IP地址,则服务器中每个执行服务都对应一个VPNIP地址,处于相同IP网段的执行服务可以组成一个执行服务集群。
一种可选的实施方式中,服务器可以为电子设备分配一个与电子设备处于相同IP网段的执行服务。当服务器中的多个执行服务与电子设备处于相同IP网段时,连接服务可以将多个执行服务中当前连接设备数量最少的执行服务作为目标执行服务,目标执行服务可以分配给电子设备,用于电子设备与服务器建立通信连接。可选地,图7所示的服务器中连接服务中的执行服务分配子模块可以执行为电子设备分配目标执行服务的步骤。
举例来说,图13为本申请实施例提供的一种服务器为电子设备分配执行服务的示意图。参考图13,图13中以服务器中包含两个执行服务集群为例,执行服务集群A中包括执行服务1~执行服务3,执行服务集群A中执行服务的VPN IP地址为VPN服务1分配的;执行服务集群B中包括执行服务4~执行服务6,执行服务集群B中执行服务的VPN IP地址为VPN服务2分配的。每个执行服务对应的VPN Client IP地址及已连接设备数量如图13中所示。假设电子设备的VPN Client IP地址为10.6.12.122,则服务器确定电子设备与执行服务集群A处于同一IP网段,且执行服务2为执行服务集群A中当前连接设备数量最少的执行服务,则服务器可以将执行服务2作为目标执行服务分配给电子设备。
在一些实施例中,连接服务在确定出电子设备对应的目标执行服务后,连接服务可以根据连接请求中的电子设备的VPN IP地址和守护进程端口标识进行拼接处理,得到连接执行命令。例如,当调试工具为ADB、电子设备的VPN IP地址为10.6.12.122、守护进程端口标识为5556时,连接服务拼接得到的连接执行命令可以为:“adb connect 10.6.12.122:5556”。连接服务可以将连接执行命令发送给目标执行服务,如图13中连接服务确定出的目标执行服务为执行服务2,则连接服务可以根据执行服务2的VPN IP地址(10.6.12.6),调用执行服务2的API接口将连接执行命令发给执行服务2。
S1004:服务器中的目标执行服务根据电子设备的VPN IP地址与电子设备建立连接。
一种可选的实施方式中,目标执行服务可以从连接请求中获取电子设备的VPN IP地址,电子设备可以获取目标执行服务的VPN IP地址,目标执行服务和电子设备可以根据电子设备的VPN IP地址和目标执行服务的VPN IP地址建立连接。
在本申请实施例中,参考图7,执行服务中可以包括代理服务、调试客户端、调试服务端等子模块,目标执行服务在接收到连接执行命令后,可以调用目标执行服务上的调试客户端,使调试客户端与调试服务端建立连接,调试客户端向调试服务端发送连接执行命令,调试服务端执行连接执行命令通过电子设备暴露的守护进程端口与电子设备建立连接。
例如,图14为申请实施例提供的一种连接页面的示意图。参考图14,电子设备与目标执行服务建立连接后,电子设备可以在该连接页面中显示“已连接”。
S1005:服务器将电子设备的设备信息存储到设备数据库中。
一种可选的实施方式中,服务器中的目标执行服务与电子设备建立连接后,服务器中的连接服务可以将电子设备的设备信息发送给设备管理服务,设备管理服务将电子设备的设备信息存储到设备数据库中。例如,电子设备的设备信息可以包括电子设备的VPNIP地址、电子设备的型号、电子设备的序列号等参数中的至少一项。
其中,设备管理服务将电子设备的设备信息存储到设备数据库的操作还可以称为设备入库操作,设备管理服务执行设备入库操作可以视为电子设备接入真机平台,此后电子设备可以作为真机平台中的一个真机设备进行使用。
三、设备申请和使用
在本申请实施例中,服务器对电子设备执行设备入库操作后,其他用户可以使用用户设备向服务器申请使用电子设备。例如,开发者用户可以使用用户设备浏览设备申请页面,并在设备申请页面中申请使用电子设备。又例如,某品牌用户需要让该品牌的客服人员处理设备问题,则用户可以在电子设备上安装连接应用,将自己的电子设备接入真机平台,客服人员可以在设备申请页面申请使用用户的电子设备,处理设备问题。
本申请实施例还提供一种真机设备的设备申请和使用方法。图15为本申请实施例提供的一种设备申请和使用的方法流程图。参考图15,该方法包括以下步骤:
S1501:用户设备响应于用户触发的申请使用电子设备的操作,向服务器发送设备申请请求。
一种可选的实施方式中,用户设备可以显示设备申请页面,用户可以在设备申请页面中触发申请使用电子设备的操作。例如,图16为本申请实施例提供的一种设备申请页面的示意图。参考图16,设备申请页面可以包括设备列表,用户可以选择设备申请页面中的筛选条件以筛选设备列表中显示的电子设备。如图16中筛选条件可以包括设备类型、品牌、操作系统、地域等条件。设备申请页面中可以包括多个电子设备的信息,如图16中每个电子设备的信息可以包括电子设备的品牌、电子设备的型号、电子设备的序列号和操作系统。用户可以点击图16所示的设备申请页面中电子设备对应的“立即使用”控件,用户设备可以向服务器发送设备申请请求。
S1502:服务器根据接收到的设备申请请求从设备数据库中查询电子设备的设备信息,并将电子设备的设备使用状态更新为“占用”。
一种可选的实施方式中,服务器中的设备管理服务接收到设备申请请求后,可以根据设备申请请求中电子设备的序列号从设备数据库中查询该电子设备的设备信息。设备管理服务将电子设备的使用状态更新为“占用”,还可以将电子设备的使用人更新为用户设备对应的用户账户名。通过以上方式,用户设备成功申请使用电子设备。
S1503:用户设备接收用户输入调试命令。
用户设备在成功申请使用电子设备后,可以显示调试页面。用户可以在调试页面中输入调试命令,调试命令为用户希望在电子设备上运行的命令,通过该方式可以实现在电子设备上进行远程调试。
例如,图17为本申请实施例提供的一种调试页面的示意图。参考图17,调试页面中可以显示电子设备(如图17中的设备1)的显示界面、以及指导用户使用用户设备远程连接电子设备进行调试的信息,调试页面中还可以包括用于用户输入调试命令的输入框。用户可以在输入框输入调试命令,并点击调试框后的执行控件,以触发用户设备将调试命令发送给服务器。
S1504:用户设备将调试命令发送给服务器。
可选地,服务器中的设备管理服务可以接收用户设备发送的调试命令,设备管理服务可以获取电子设备的连接信息,如设备管理服务可以确定电子设备对应的目标执行服务。设备管理服务将调试命令发送给目标执行服务。目标执行服务中的代理服务可以调起调试客户端,并将调试命令发送给调试客户端,调试客户端将调试命令发送给调试服务端。
S1505:服务器将调试命令发送给电子设备。
一种可选的实施方式中,服务器的目标执行服务可以将调试命令发送给电子设备。可选地,目标执行服务中的调试服务端可以通过电子设备的守护进程端口将调试命令发送给电子设备。
S1506:电子设备执行调试命令。
本申请实施例中,电子设备接收到目标执行服务发送的调试命令后,电子设备可以执行调试命令,并获取执行调试命令后的执行结果。
可选地,电子设备在执行调试命令后,若执行结果包括显示界面的变换,电子设备可以在电子设备的显示屏中显示执行结果。
S1507:电子设备将调试命令对应的执行结果发送给服务器。
可选地,电子设备可以将调试命令对应的执行结果发送给目标执行服务,目标执行服务将调试命令对应的执行结果发送给设备管理服务。
S1508:服务器将调试命令对应的执行结果发送给用户设备。
一种可选的实施方式中,设备管理服务可以将调试命令对应的执行结果发送给用户设备。
S1509:用户设备显示执行结果。
可选地,用户设备在接收到服务器发送的执行结果后,用户设备可以将执行结果显示在调试页面中,以供用户查看。如用户设备可以在图17所示的调试页面中显示执行结果。
基于以上实施例,本申请还提供一种电子设备,包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储计算机程序指令,所述电子设备运行时,所述至少一个处理器执行本申请实施例所描述的各方法中电子设备执行的方法。例如执行图10所示的实施例中的电子设备执行的S1001-S1002以及S1004;又例如执行图15所示实施例中电子设备执行的S1506-S1507。
基于以上实施例,本申请还提供一种电子设备,所述电子设备包括多个功能模块;所述多个功能模块相互作用,实现本申请实施例所描述的各方法中第一电子设备或第三电子设备所执行的功能。例如执行图10所示的实施例中的电子设备执行的S1001-S1002以及S1004;又例如执行图15所示实施例中电子设备执行的S1506-S1507。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
基于以上实施例,本申请还提供一种服务器,该服务器包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储计算机程序指令,所述服务器运行时,所述至少一个处理器执行本申请实施例所描述的各方法中服务器所执行的功能。如执行图10所示实施例中的服务器执行的S1003-S1005。又例如执行图15所示实施例中电子设备执行的S1502、S1504-S1505、S1507-S1508。
基于以上实施例,本申请还提供一种服务器,包括多个功能模块;所述多个功能模块相互作用,实现本申请实施例所描述的各方法中的服务器所执行的功能。如执行图10所示实施例中的服务器执行的S1003-S1005。又例如执行图15所示实施例中电子设备执行的S1502、S1504-S1505、S1507-S1508。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
基于以上实施例,本申请还提供一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本申请实施例所描述的各方法。
基于以上实施例,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行本申请实施例所描述的各方法。
基于以上实施例,本申请还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现本申请实施例所描述的各方法。
基于以上实施例,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现本申请实施例所描述的各方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的保护范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种设备连接方法,其特征在于,应用于调试系统,所述调试系统包括服务器和电子设备;所述服务器包括连接服务和执行服务;所述方法包括:
所述电子设备响应于用户触发的连接操作,向所述连接服务发送连接请求;所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;
所述连接服务根据所述连接请求确定目标执行服务,所述目标执行服务与所述电子设备具有相同网段地址;
所述电子设备获取所述目标执行服务的VPN IP地址;
根据所述电子设备的VPN IP地址和所述目标执行服务的VPN IP地址,所述目标执行服务与所述电子设备建立连接;所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
2.如权利要求1所述的方法,其特征在于,所述服务器包括与所述电子设备具有相同网段地址的多个执行服务,所述目标执行服务为所述多个执行服务中当前连接设备数量最少的执行服务。
3.如权利要求1或2所述的方法,其特征在于,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述目标执行服务与所述电子设备建立连接之后,所述方法还包括:
服务器将所述电子设备的设备信息存储到所述服务器的设备数据库中。
5.如权利要求1-4任一项所述的方法,其特征在于,在所述目标执行服务与所述电子设备建立连接之前,所述方法还包括:
所述服务器接收所述电子设备发送的VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;
当不存在所述电子设备对应的VPN账户信息时,所述服务器创建所述电子设备对应的VPN账户,所述服务器将所述电子设备对应的VPN账户信息发送给所述电子设备;所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址;
当存在所述电子设备对应的VPN账户信息时,所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址。
6.如权利要求5所述的方法,其特征在于,在所述电子设备根据所述VPN账户信息获取所述电子设备的VPN IP地址之前,所述方法还包括:
若所述电子设备本地不存在所述VPN账户对应的证书信息,所述电子设备将所述VPN证书信息下载至本地,并生成建立所述连接时所需的配置文件。
7.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述服务器为每个执行服务分配VPN IP地址;以及
所述服务器为所述电子设备分配VPN IP地址。
8.如权利要求1-7任一项所述的方法,其特征在于,在所述目标执行服务与所述电子设备建立连接之后,所述方法还包括:
所述服务器接收用户设备发送的设备申请请求,所述设备申请请求用于请求使用所述电子设备进行调试;
所述目标执行服务通过所述连接将所述调试命令发送给所述电子设备;
所述电子设备执行所述调试命令,并将所述调试命令对应的执行结果通过所述连接发送给所述目标执行服务;
所述服务器将所述调试命令对应的执行结果发送给所述用户设备。
9.一种设备连接方法,其特征在于,应用于电子设备,所述方法包括:
响应于用户触发的连接操作,向服务器的连接服务发送连接请求;其中,所述连接请求包括所述电子设备的虚拟专用网络互联网协议VPN IP地址;
获取目标执行服务的VPN IP地址;所述目标执行服务为所述服务器中与所述电子设备具有相同网段地址的执行服务;
根据所述目标执行服务的VPN IP地址与所述目标执行服务建立连接;所述连接用于所述服务器向所述电子设备下发调试命令,以及用于所述电子设备向所述服务器返回所述调试命令对应的执行结果。
10.如权利要求9所述的方法,其特征在于,所述服务器包括与所述电子设备具有相同网段地址的多个执行服务,所述目标执行服务为所述多个执行服务中当前连接设备数量最少的执行服务。
11.如权利要求9或10所述的方法,其特征在于,所述连接请求还包括所述电子设备的守护进程端口标识;所述守护进程端口标识用于所述电子设备和所述目标执行服务建立所述连接。
12.如权利要求9-11任一项所述的方法,其特征在于,在所述根据所述目标执行服务的VPN IP地址与所述服务器中的目标执行服务建立连接之前,所述方法还包括:
向所述服务器发送VPN校验请求,所述VPN校验请求用于请求所述服务器校验是否存在所述电子设备对应的VPN账户信息;
当不存在所述电子设备对应的VPN账户信息时,接收所述服务器发送的所述电子设备对应的VPN账户信息,根据所述VPN账户信息获取所述电子设备的VPN IP地址;
当存在所述电子设备对应的VPN账户信息时,根据所述VPN账户信息获取所述电子设备的VPN IP地址。
13.如权利要求12所述的方法,其特征在于,在所述根据所述VPN账户信息获取所述电子设备的VPN IP地址之前,所述方法还包括:
若不存在所述VPN账户对应的证书信息,将所述VPN证书信息下载至本地,生成建立连接时所需的配置文件。
14.如权利要求9-13任一项所述的方法,其特征在于,在所述根据所述目标执行服务的VPN IP地址与所述服务器中的目标执行服务建立连接之后,所述方法还包括:
通过所述连接接收所述目标连接服务发送的调试命令,所述调试命令为用户设备发送给所述服务器的;
执行所述调试命令,并将所述调试命令对应的执行结果通过所述连接发送给所述目标执行服务。
15.一种电子设备,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于读取所述至少一个存储器所存储的计算机程序,以执行如权利要求9-14中任一所述的方法。
16.一种服务器,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于读取所述至少一个存储器所存储的计算机程序,以执行如权利要求1-8中任一所述的方法中服务器执行的功能。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求9-14中任一所述的方法,或执行如权利要求1-8中任一所述的方法中服务器执行的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999999.XA CN117640717A (zh) | 2022-08-19 | 2022-08-19 | 一种设备连接方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999999.XA CN117640717A (zh) | 2022-08-19 | 2022-08-19 | 一种设备连接方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640717A true CN117640717A (zh) | 2024-03-01 |
Family
ID=90027529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210999999.XA Pending CN117640717A (zh) | 2022-08-19 | 2022-08-19 | 一种设备连接方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640717A (zh) |
-
2022
- 2022-08-19 CN CN202210999999.XA patent/CN117640717A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4002108B1 (en) | Application start method and electronic device | |
CN112291764B (zh) | 一种内容接续系统 | |
CN111684778B (zh) | 应用功能的实现方法及电子设备 | |
CN111434132A (zh) | 一种eSIM卡的开户方法及终端 | |
WO2022089207A1 (zh) | 一种跨设备应用交互方法、电子设备与服务器 | |
CN113094123A (zh) | 应用程序中功能的实现方法、装置、电子设备和存储介质 | |
CN112738143B (zh) | 一种账号绑定方法、设备及系统 | |
CN110602686A (zh) | 一种使用远程sim模块的方法及电子设备 | |
CN115080941B (zh) | 账号登录的方法及电子设备 | |
CN115499897B (zh) | WiFi网络接入方法及相关装置 | |
CN112860445B (zh) | 一种快应用与原生应用间数据共享的方法及终端 | |
CN116431044A (zh) | 开启应用程序的方法、装置及终端设备 | |
CN114741008B (zh) | 分布式跨设备协同方法、电子设备及通信系统 | |
EP4095723B1 (en) | Permission reuse method, permission reuse-based resource access method, and related device | |
CN115048642A (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
CN114862398A (zh) | 一种基于分布式安全设备的风险控制方法以及相关装置 | |
WO2023005711A1 (zh) | 一种服务的推荐方法及电子设备 | |
CN117640717A (zh) | 一种设备连接方法及设备 | |
CN110868640A (zh) | 资源转移方法、装置、设备及存储介质 | |
CN115981576B (zh) | 共享数据的方法、电子设备及存储介质 | |
CN117216428B (zh) | 一种网页资源请求方法、终端设备及计算机可读存储介质 | |
WO2023165413A1 (zh) | 一种应用开发系统、方法及设备 | |
CN117950677A (zh) | 一种软件分发方法、电子设备及系统 | |
CN117857646A (zh) | 数据网络共享方法、电子设备及存储介质 | |
CN116933219A (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 |