CN106534342B - 连接控制方法、主机及系统 - Google Patents

连接控制方法、主机及系统 Download PDF

Info

Publication number
CN106534342B
CN106534342B CN201611115563.0A CN201611115563A CN106534342B CN 106534342 B CN106534342 B CN 106534342B CN 201611115563 A CN201611115563 A CN 201611115563A CN 106534342 B CN106534342 B CN 106534342B
Authority
CN
China
Prior art keywords
adb
host
transfer server
control command
analysis program
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.)
Active
Application number
CN201611115563.0A
Other languages
English (en)
Other versions
CN106534342A (zh
Inventor
黄琰
孙大伟
方亮
荆彦青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611115563.0A priority Critical patent/CN106534342B/zh
Publication of CN106534342A publication Critical patent/CN106534342A/zh
Application granted granted Critical
Publication of CN106534342B publication Critical patent/CN106534342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种连接控制方法、主机及系统,在第一主机和第二主机之间搭建中转服务器,并在第二主机中安装ADB解析程序,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析程序之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。

Description

连接控制方法、主机及系统
技术领域
本发明涉及控制技术领域,更具体地说,涉及一种连接控制方法、主机及系统。
背景技术
在Android开发中,Android调试桥(Android Debug Bridge,ADB)是Android SDK(Software DevelopmentKit,软件开发工具包)里的一个工具,用这个工具可以直接操作或管理Android模拟器或者真实的Andriod终端,如Android手机等。ADB要对Android终端进行操作,首先需要ADB与Android终端的守护进程(Android Debug Bridge Daemon,ADBD)建立连接。ADB可以通过USB接口与ADBD建立连接;也可以通过网络与ADBD建立连接。
目前,较常用的ADB通过网络与ADBD建立连接的方式为:ADB安装在第一主机上,Android终端通过USB接口连接在与第一主机建立网络连接的第二主机上,ADB通过adb命令直接建立第一主机上的ADB客户端程序与第二主机上的ADB服务程序之间的连接,由第二主机上的ADB服务程序通过USB接口与ADBD建立连接。然而,在某些情况下,出于安全的考虑等原因,第一主机和第二主机之间不一定能够建立网络连接。
因此,如何保证第一主机与第二主机的网络连通性成为亟待解决的问题。
发明内容
本发明的目的是提供一种连接控制方法、主机及系统,以保证第一主机与第二主机的网络连通性。
为实现上述目的,本发明提供了如下技术方案:
一种连接控制系统,包括:第一主机,中转服务器和第二主机;其中,
所述第一主机通过ADB客户端程序获取连接命令,并通过第一ADB服务程序向所述中转服务器发送所述连接命令及鉴权请求;
所述中转服务器向所述第二主机转发所述连接命令;
所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接;
所述中转服务器向所述ADB解析程序转发所述鉴权请求;
所述ADB解析程序通过所述中转服务器向所述第一ADB服务程序返回响应,以建立所述第一ADB服务程序与所述ADB解析程序的连接;
所述第二主机通过所述ADB解析程序与第二ADB服务程序连接,以通过所述第二ADB服务程序获取Android终端的信息,并返回给所述第一主机的第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
本发明实施例还提供一种连接控制方法,应用于第一主机,所述方法包括:
通过ADB客户端程序获取连接命令;
通过第一ADB服务程序向中转服务器发送所述连接命令及鉴权请求,以便所述中转服务器将所述连接命令转发至第二主机,使得所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得所述第二主机通过所述ADB解析程序响应于所述鉴权请求,以建立所述第一ADB服务程序与所述ADB解析程序的连接,使得所述第二主机通过所述第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给所述第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
本发明实施例还提供另一种连接控制方法,应用于第二主机,所述方法包括:
接收中转服务器发送的连接命令,响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接;所述连接命令为第一主机向所述中转服务器发送的命令;
接收中转服务器发送的鉴权请求,响应于所述鉴权请求,使得所述ADB解析程序通过所述中转服务器与所述第一主机的第一ADB服务程序建立连接;所述鉴权请求为所述第一主机向所述中转服务器发送的鉴权请求;
通过所述ADB解析程序与第二ADB服务程序连接,以通过所述第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务程序;
所述第二ADB服务程序用于与Android终端的守护进程建立连接。
本发明实施例还提供一种第一主机,包括:
ADB客户端模块,用于获取连接命令;
第一ADB服务模块,用于向中转服务器发送所述连接命令及鉴权请求,以便所述中转服务器将所述连接命令转发至第二主机,使得所述第二主机响应于所述连接命令,通过ADB解析模块与所述中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得所述第二主机通过所述ADB解析模块响应于所述鉴权请求,以建立所述第一ADB服务模块与所述ADB解析模块的连接,使得所述第二主机通过所述第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务模块;
所述第二ADB服务模块还用于与Android终端的守护进程建立连接。
本发明实施例还提供一种第二主机,包括:
连接模块,用于接收中转服务器发送的连接命令,响应于所述连接命令,触发ADB解析模块与所述中转服务器建立连接;所述连接命令为第一主机向所述中转服务器发送的命令;
所述ADB解析模块还用于,接收中转服务器发送的鉴权请求,响应于所述鉴权请求,以通过所述中转服务器与所述第一主机的第一ADB服务模块建立连接;与第二ADB服务模块连接,以通过所述第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务模块;所述鉴权请求为所述第一主机向所述中转服务器发送的鉴权请求;
第二ADB服务模块,用于与Android终端的守护进程建立连接,以便获取Android终端的信息。
本发明实施例提供的连接控制方法、主机及系统,在第一主机和第二主机之间搭建中转服务器,并在第二主机中安装ADB解析程序,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析程序之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的连接控制系统的一种结构示意图;
图2为本发明实施例提供的连接控制方法的一种实现流程图;
图3为本发明实施例提供的连接控制方法的另一种实现流程图;
图4为本发明实施例提供的连接控制方法的又一种实现流程图;
图5为本发明实施例提供的第一主机的一种结构示意图;
图6为本发明实施例提供的第二主机的一种结构示意图;
图7为本发明实施例提供的第一主机的一种硬件结构框图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的连接控制系统的一种结构示意图。可以包括:第一主机11,中转服务器12和第二主机13;其中,
第一主机11中安装有ADB客户端程序和第一ADB服务程序;第二主机13中安装有ADB解析程序和第二ADB服务程序。
中转服务器12用于第一主机11和第二主机13之间的连接。
第一主机11与中转服务器12之间可以通过局域网连接,也可以通过广域网连接。
第二主机13位于局域网,通过局域网与中转服务器12连接。
第二主机13可以通过USB接口与Android终端建立连接。Android终端是指安装有Android操作系统的终端,如手机、平板电脑等。
下面说明第一主机11的ADB(由ADB客户端程序和ADB服务程序构成)与Android终端的守护进程ADBD建立连接的过程。如图2所示,为本发明实施例提供的连接控制方法的一种实现流程图,可以包括:
步骤S201:第一主机11的用户通过ADB客户端程序输入连接命令,该连接命令指定接收该命令的地址和端口为中转服务器12的地址和端口。
步骤S202:ADB客户端程序接收到用户输入的连接命令后,将该连接命令发送给第一ADB服务程序。
步骤S203:第一ADB服务程序将该连接命令以及鉴权请求发送给中转服务器12;通常,ADB客户端程序与ADB服务程序之间的传输协议,以及ADB服务程序与中转服务器12之间的传输协议是不同的协议,因此,第一ADB服务程序将该连接命令进行协议转换后发送给中转服务器12。当然,鉴权请求在传输时也是符合ADB服务程序与中转服务器12之间的传输协议的。
步骤S204:中转服务器12接收到连接命令和鉴权请求后,将连接命令转发至第二主机13。
在一个可选的实施例中,中转服务器12可以通过预先存储的第一主机地址与第二主机地址的对应关系,确定与第一主机11的地址对应的目标第二主机地址,将连接命令发送至目标第二主机。
在另一可选的实施例中,第一ADB服务程序在向中转服务器12发送连接命令和鉴权请求的同时,还向中转服务器12发送目标第二主机的地址,以便中转服务器12根据目标第二主机的地址,将连接命令转发至目标第二主机。
步骤S205:第二主机13接收到连接命令后,通过ADB解析程序与中转服务器12建立网络连接;这样,第一主机11与第二主机13建立网络连接。
在一可选的实施例中,第二主机13可以通过监控进程接收中转服务器转发的连接命令,由该监控进程触发ADB解析程序与中转服务器12建立连接。也就是说,ADB解析程序不是一直与中转服务器12保持连接的,而是在第二主机13接收到中转服务器12转发的连接命令后,才与中转服务器12建立连接。这样可以降低中转服务器12和第二主机13的功耗。
在另一可选的实施例中,第二主机13可以通过监控进程接收中转服务器转发的连接命令,由该触发进程启动ADB解析程序,使得ADB解析程序启动并运行后,与中转服务器12建立连接。本实施例中,ADB解析程序在与中转服务器12建立连接之前,一直处于未启动状态,只有在需要与中转服务器12建立连接时(即接收到连接命令时),才由监控进程启动,启动后通过局域网与中转服务器12建立连接。进一步降低了第二主机13的功耗。
步骤S206:ADB解析程序与中转服务器12建立连接后,中转服务器12向ADB解析程序转发上述鉴权请求;
步骤S207:ADB解析程序接收到鉴权请求后,通过中转服务器向第一ADB服务程序返回响应,以建立第一ADB服务程序与ADB解析程序的连接,即第一ADB服务程序通过中转服务器12与ADB解析程序建立连接。
步骤S208:第一ADB服务程序通过中转服务器12与ADB解析程序建立连接后,ADB解析程序与第二ADB服务程序建立连接。
步骤S209:ADB解析程序与第二ADB服务程序建立连接后,第二ADB服务程序获取Android终端的相关信息,如Android终端的厂商、型号等信息。
步骤S210:第二ADB服务程序将获取的Android终端的相关信息返回给ADB解析程序。
步骤S211:ADB解析程序将Android终端的相关信息通过中转服务器12返回给第一ADB服务程序。至此,第一主机的ADB与Android终端的守护进程建立连接。
本发明实施例提供连接控制系统,在第一主机和第二主机之间搭建中转服务器,并在第二主机中安装ADB解析程序,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析程序之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
在第一主机的ADB与Android终端的守护进程建立连接后,就可以通过第一主机的ADB向Android终端的守护进程发送adb控制命令,实现第一主机的ADB对Android终端的操作管理。
具体的,假设用户想使用第一类控制指令,则用户通过第一主机11的ADB客户端程序输入与第一类控制指令对应的预设格式的adb命令后,第一主机11的ADB服务程序将adb命令进行协议转换后依次经过第一主机11的第一ADB服务程序、中转服务器12、第二主机13的ADB解析程序、第二主机13的第二ADB服务程序,最终发送到Android终端的ADBD,然后ADBD进行响应,生成响应指令,该响应指令原路返回到第一主机11的第一ADB服务程序,之后用户可以正常使用第一类控制指令了。
例如,假设用户想使用shell命令对Android终端进行操作管理,则具体的处理过程为:
用户通过第一主机11的ADB客户端程序输入adb shell,按回车之后,shell命令依次经过第一主机11的第一ADB服务程序、中转服务器12、第二主机13的ADB解析程序、第二主机13的第二ADB服务程序,最终发送到Android终端的ADBD,然后ADBD进行响应,生成响应指令OK,该响应依次经过第二主机13的第二ADB服务程序、第二主机13的ADB解析程序、中转服务器12、最终返回到第一主机11的第一ADB服务程序,之后用户可以正常使用shell指令了。
在一可选的实施例中,为了进一步避免用户的不当操作对Android终端造成破坏,保证Android终端的安全,在一可选的实施例中,ADB解析程序在接收到控制命令后,还对控制命令进行过滤,判断该控制命令是否为危险命令;若该控制命令为危险命令,则不对该控制命令进行解析;若该控制命令不是危险命令,则将该控制命令解析为第二ADB服务程序能够识别的控制命令后向第二ADB服务程序发送。
在一可选的实施例中,ADB解析程序可以根据控制命令是否位于预置的危险命令清单中判断控制命令是否为危险命令;若控制命令位于预置的危险命令清单中,确定控制命令为危险命令;否则,确定控制命令不为危险命令。
在一可选的实施例中,第一主机11通过ADB客户端程序获取的连接命令可以为adbconnect命令。这样,用户只需输入adb connect IP:PORT命令时指定中转服务器的地址(IP)和端口(PORT)即可,后续的命令无需再指定中转服务器的地址和端口,简化了用户操作。而传统的通过adb命令建立第一主机上的ADB客户端与第二主机上的ADB服务器之间的连接时,每次发送adb命令都需要指定第二主机的地址和端口号,使得用户操作比较繁琐。
本发明实施例还提供一种应用于第一主机的连接控制方法,如图3所示,为本发明实施例提供的连接控制方法的另一种实现流程图,可以包括:
步骤S31:通过ADB客户端程序获取连接命令;
在一可选的实施例中,该连接命令可以为adb connect命令。这样,用户只需输入adb connect IP:PORT命令时指定中转服务器的地址(IP)和端口(PORT)即可,后续的命令无需再指定中转服务器的地址和端口,简化了用户操作。
步骤S32:通过第一ADB服务程序向中转服务器发送上述连接命令及鉴权请求,以便中转服务器将连接命令转发至第二主机,使得第二主机响应于该连接命令,通过ADB解析程序与中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得所述第二主机通过所述ADB解析程序响应于所述鉴权请求,以建立所述第一ADB服务程序与所述ADB解析程序的连接,使得所述第二主机通过所述第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给所述第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
本发明实施例中,在建立第一主机的ADB与Android终端的守护进程的连接过程中的鉴权过程,在第一主机的第一ADB服务程序和第二主机的ADB解析程序之间进行,从而无需Android终端的用户操作,与现有技术中需要用户在Android终端参与鉴权过程相比,简化了用户操作。
第一ADB服务程序向中转服务器发送上述连接命令和鉴权请求时,可以携带目标第二主机的地址,也可以不携带目标第二主机的地址。若第一ADB服务程序向中转服务器发送上述连接命令和鉴权请求时,携带目标第二主机的地址,则中转服务器可以通过该目标第二主机的地址,将连接命令转发给目标第二主机。若第一ADB服务程序向中转服务器发送上述连接命令和鉴权请求时,未携带目标第二主机的地址,则可以根据本地预先存储的第一主机地址与第二主机地址的对应关系,确定目标第二主机的地址,将连接命令转发给目标第二主机。
步骤S33:接收中转服务器发送的Android终端信息,所述Android终端信息由第二主机的ADB解析程序向中转服务器发送。
本发明实施例提供的连接控制方法,在第二主机中安装ADB解析程序,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析程序之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
本发明实施例还提供一种应用于第二主机的连接控制方法,本发明实施例提供的连接控制方法的又一种实现流程图如图4所示,可以包括:
步骤S41:接收中转服务器发送的连接命令,响应于该连接命令,通过ADB解析程序与中转服务器建立连接;连接命令为第一主机向中转服务器发送的命令;
在一可选的实施例中,可以通过监控进程接收中转服务器转发的连接命令,由该监控进程触发ADB解析程序与中转服务器12建立连接。也就是说,ADB解析程序不是一直与中转服务器12保持连接的,而是在第二主机13接收到中转服务器12转发的连接命令后,才与中转服务器12建立连接。这样可以降低中转服务器12和第二主机13的功耗。
在另一可选的实施例中,可以通过监控进程接收中转服务器转发的连接命令,由该触发进程启动ADB解析程序,ADB解析程序启动后,与中转服务器12建立连接。本实施例中,ADB解析程序在与中转服务器12建立连接之前,一直处于未开启状态,只有在需要与中转服务器12建立连接时(即接收到连接命令时),才由监控进程启动,启动后通过局域网与中转服务器12建立连接。进一步降低了第二主机13的功耗。
步骤S42:通过ADB解析程序接收中转服务器发送的鉴权请求,ADB解析程序响应于该鉴权请求,使得ADB解析程序通过中转服务器与第一主机的第一ADB服务程序建立连接;上述鉴权请求为第一主机向中转服务器发送的鉴权请求;
步骤S43:通过ADB解析程序与第二ADB服务程序连接,以通过第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给第一主机的第一ADB服务程序;
第二ADB服务程序用于与Android终端的守护进程建立连接。
本发明实施例提供的连接控制方法,在第二主机中安装ADB解析程序,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析程序之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
在一可选的实施例中,上述连接控制方法还可以包括:
通过ADB解析程序接收中转服务器转发的控制命令;将控制命令解析为第二ADB服务程序能够识别的控制命令后向第二ADB服务程序发送。
在第一主机的ADB与Android终端的守护进程建立连接后,就可以通过第一主机的ADB向Android终端的守护进程发送adb控制命令,实现第一主机的ADB对Android终端的操作管理。
在一可选的实施例中,通过ADB解析程序将控制命令解析为第二ADB服务程序能够识别的命令的一种实现方式可以为:
通过ADB解析程序判断控制命令是否为危险命令;
当控制命令不为危险命令时,通过ADB解析程序将控制命令解析为第二ADB服务程序能够识别的控制命令。
本发明实施例中,ADB解析程序在接收到控制命令后,还对控制命令进行过滤,只对非危险命令进行解析,而不对危险命令进行解析,从而避免不当控制命令对Android终端造成破坏,保证Android终端的安全。
在一可选的实施例中,通过ADB解析程序判断控制命令是否为危险命令的一种实现方式可以为:
通过ADB解析程序判断控制命令是否位于预置的危险命令清单中;
若控制命令位于预置的危险命令清单中,通过第二ADB客户确定控制命令为危险命令;否则,确定控制命令不为危险命令。
与图3所示方法实施例相对应,本发明实施例还提供一种第一主机,本发明实施例提供的第一主机的一种结构示意图如图5所示,可以包括:
ADB客户端模块51和第一ADB服务模块52;其中,
ADB客户端模块51用于获取连接命令;该连接命令可以为adb connect命令。
第一ADB服务模块52用于向中转服务器发送连接命令及鉴权请求,以便中转服务器将连接命令转发至第二主机,使得第二主机响应于连接命令,通过ADB解析模块与中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得第二主机通过ADB解析模块响应于鉴权请求,以建立第一ADB服务模块与ADB解析模块的连接,使得第二主机通过第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给第一主机的第一ADB服务模块;
所述第二ADB服务模块52还用于与Android终端的守护进程建立连接。
本发明实施例提供的第一主机,在第二主机中安装ADB解析模块,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析模块之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
与图4所示方法实施例相对应,本发明实施例还提供一种第二主机,本发明实施例提供的第二主机的一种结构示意图如图6所示,可以包括:
连接模块61,ADB解析模块62和第二ADB服务模块63;其中,
连接模块61用于接收中转服务器发送的连接命令,响应于该连接命令,触发ADB解析模块62与中转服务器建立连接;连接命令为第一主机向中转服务器发送的命令;
ADB解析模块62还用于,接收中转服务器发送的鉴权请求,响应于鉴权请求,以通过中转服务器与第一主机的第一ADB服务模块建立连接;与第二ADB服务模块连接,以通过第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给第一主机的第一ADB服务模块;鉴权请求为第一主机向中转服务器发送的鉴权请求;
第二ADB服务模块63用于与Android终端的守护进程建立连接,以便获取Android终端的信息。
本发明实施例提供的第二主机,在第二主机中安装ADB解析模块,通过中转服务器建立第一主机的ADB服务程序与第二主机的ADB解析模块之间的连接,通过第一主机的ADB服务程序、中转服务器以及第二主机的ADB解析程序建立第一主机的ADB客户端程序与第二主机的ADB服务程序的连接,实现了在第一主机和第二主机不能直接建立网络连接的情况下,第一主机和第二主机间的网络连通,并可以实现第一主机的ADB对Android终端的操作管理。
在可以可选的实施例中,ADB解析模块还用于,接收中转服务器转发的控制命令;将控制命令解析为第二ADB服务模块能够识别的控制命令后向第二ADB服务模块发送。
在一可选的实施例中,ADB解析模块用于将控制命令解析为第二ADB服务模块能够识别的控制命令,包括:
ADB解析模块用于,判断控制命令是否为危险命令;当控制命令不为危险命令时,通过ADB解析模块将控制命令解析为第二ADB服务模块能够识别的控制命令。
在一可选的实施例中,ADB解析模块用于判断控制命令是否为危险命令,包括:
ADB解析模块用于,判断控制命令是否位于预置的危险命令清单中;若控制命令位于预置的危险命令清单中,确定控制命令为危险命令;否则,确定控制命令不为危险命令。
如图7所示,示出了第一主机的硬件结构框图。该第一主机可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中,处理器1,通信接口2和存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体可以用于:
通过ADB客户端程序获取连接命令;
通过第一ADB服务程序向中转服务器发送所述连接命令及鉴权请求,以便所述中转服务器将所述连接命令转发至第二主机,使得所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接,使得所述第二主机通过所述ADB解析程序响应于所述鉴权请求,以建立所述第一ADB服务程序与所述ADB解析程序的连接,使得所述第二主机通过所述第二ADB服务程序获取Android终端的信息,并返回给所述第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
当然,图7所示硬件框图也可以用于第二主机,当应用第二主机时,上述程序具体可以用于:
接收中转服务器发送的连接命令,响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接;所述连接命令为第一主机向所述中转服务器发送的命令;
接收中转服务器发送的鉴权请求,响应于所述鉴权请求,使得所述ADB解析程序通过所述中转服务器与所述第一主机的第一ADB服务程序建立连接;所述鉴权请求为所述第一主机向所述中转服务器发送的鉴权请求;
通过所述ADB解析程序与第二ADB服务程序连接,以通过所述第二ADB服务程序获取Android终端的信息,并返回给所述第一主机的第一ADB服务程序;
所述第二ADB服务程序用于与Android终端的守护进程建立连接。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (18)

1.一种连接控制系统,其特征在于,包括:第一主机,中转服务器和第二主机;其中,
所述第一主机通过ADB客户端程序获取连接命令,并通过第一ADB服务程序向所述中转服务器发送所述连接命令及鉴权请求;
所述中转服务器向所述第二主机转发所述连接命令;
所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接;
所述中转服务器向所述ADB解析程序转发所述鉴权请求;
所述ADB解析程序通过所述中转服务器向所述第一ADB服务程序返回响应,以建立所述第一ADB服务程序与所述ADB解析程序的连接;
所述第二主机通过所述ADB解析程序与第二ADB服务程序连接,以通过所述第二ADB服务程序获取Android终端的信息,并返回给所述第一主机的第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
2.根据权利要求1所述的系统,其特征在于,所述第二主机还用于:
通过所述ADB解析程序接收所述中转服务器转发的控制命令,将所述控制命令解析为所述第二ADB服务程序能够识别的控制命令后向所述第二ADB服务程序发送。
3.根据权利要求2所述的系统,其特征在于,第二主机通过所述ADB解析程序将所述控制命令解析为所述第二ADB服务程序能够识别的控制命令,包括:
所述第二主机通过所述ADB解析程序判断所述控制命令是否为危险命令;当所述控制命令不为危险命令时,通过所述ADB解析程序将所述控制命令解析为所述第二ADB服务程序能够识别的控制命令。
4.根据权利要求3所述的系统,其特征在于,所述第二主机通过所述ADB解析程序判断所述控制命令是否为危险命令,包括:
所述第二主机通过所述ADB解析程序判断所述控制命令是否位于预置的危险命令清单中;若所述控制命令位于预置的危险命令清单中,确定所述控制命令为危险命令;否则,确定所述控制命令不为危险命令。
5.根据权利要求1所述的系统,其特征在于,所述第一主机通过ADB客户端程序获取连接命令包括:
所述第一主机通过ADB客户端程序获取adb connect命令。
6.根据权利要求1所述的系统,其特征在于,所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接,包括:
所述第二主机响应于所述连接命令,启动所述ADB解析程序;通过所述ADB解析程序与所述中转服务器建立连接。
7.一种连接控制方法,应用于第一主机,其特征在于,所述方法包括:
通过ADB客户端程序获取连接命令;
通过第一ADB服务程序向中转服务器发送所述连接命令及鉴权请求,以便所述中转服务器将所述连接命令转发至第二主机,使得所述第二主机响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得所述第二主机通过所述ADB解析程序响应于所述鉴权请求,以建立所述第一ADB服务程序与所述ADB解析程序的连接,使得所述第二主机通过第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给所述第一ADB服务程序;所述第二ADB服务程序用于与Android终端的守护进程建立连接。
8.根据权利要求7所述的方法,其特征在于,所述通过ADB客户端程序获取连接命令,包括:
通过ADB客户端程序获取adb connect命令。
9.一种连接控制方法,应用于第二主机,其特征在于,所述方法包括:
接收中转服务器发送的连接命令,响应于所述连接命令,通过ADB解析程序与所述中转服务器建立连接;所述连接命令为第一主机向所述中转服务器发送的命令;
接收中转服务器发送的鉴权请求,响应于所述鉴权请求,使得所述ADB解析程序通过所述中转服务器与所述第一主机的第一ADB服务程序建立连接;所述鉴权请求为所述第一主机向所述中转服务器发送的鉴权请求;
通过所述ADB解析程序与第二ADB服务程序连接,以通过所述第二ADB服务程序获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务程序;
所述第二ADB服务程序用于与Android终端的守护进程建立连接。
10.根据权利要求9所述的方法,其特征在于,还包括:
通过所述ADB解析程序接收所述中转服务器转发的控制命令;将所述控制命令解析为所述第二ADB服务程序能够识别的控制命令后向所述第二ADB服务程序发送。
11.根据权利要求10所述的方法,其特征在于,通过ADB解析程序将所述控制命令解析为所述第二ADB服务程序能够识别的命令,包括:
通过所述ADB解析程序判断所述控制命令是否为危险命令;
当所述控制命令不为危险命令时,通过所述ADB解析程序将所述控制命令解析为第二ADB服务程序能够识别的控制命令。
12.根据权利要求11所述的方法,其特征在于,所述通过所述ADB解析程序判断所述控制命令是否为危险命令,包括:
通过所述ADB解析程序判断所述控制命令是否位于预置的危险命令清单中;
若所述控制命令位于预置的危险命令清单中,通过第二ADB客户确定所述控制命令为危险命令;否则,确定所述控制命令不为危险命令。
13.一种第一主机,其特征在于,包括:
ADB客户端模块,用于获取连接命令;
第一ADB服务模块,用于向中转服务器发送所述连接命令及鉴权请求,以便所述中转服务器将所述连接命令转发至第二主机,使得所述第二主机响应于所述连接命令,通过ADB解析模块与所述中转服务器建立连接,使得所述中转服务器将所述鉴权请求转发至第二主机,使得所述第二主机通过所述ADB解析模块响应于所述鉴权请求,以建立所述第一ADB服务模块与所述ADB解析模块的连接,使得所述第二主机通过第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务模块;
所述第二ADB服务模块还用于与Android终端的守护进程建立连接。
14.根据权利要求13所述的第一主机,其特征在于,所述ADB客户端模块用于获取adbconnect命令。
15.一种第二主机,其特征在于,包括:
连接模块,用于接收中转服务器发送的连接命令,响应于所述连接命令,触发ADB解析模块与所述中转服务器建立连接;所述连接命令为第一主机向所述中转服务器发送的命令;
所述ADB解析模块还用于,接收中转服务器发送的鉴权请求,响应于所述鉴权请求,以通过所述中转服务器与所述第一主机的第一ADB服务模块建立连接;与第二ADB服务模块连接,以通过所述第二ADB服务模块获取Android终端的信息,并通过所述中转服务器返回给所述第一主机的第一ADB服务模块;所述鉴权请求为所述第一主机向所述中转服务器发送的鉴权请求;
第二ADB服务模块,用于与Android终端的守护进程建立连接,以便获取Android终端的信息。
16.根据权利要求15所述的第二主机,其特征在于,所述ADB解析模块还用于,接收所述中转服务器转发的控制命令;将所述控制命令解析为所述第二ADB服务模块能够识别的控制命令后向所述第二ADB服务模块发送。
17.根据权利要求16所述的第二主机,其特征在于,ADB解析模块用于将所述控制命令解析为所述第二ADB服务模块能够识别的控制命令,包括:
所述ADB解析模块用于,判断所述控制命令是否为危险命令;当所述控制命令不为危险命令时,通过所述ADB解析模块将所述控制命令解析为第二ADB服务模块能够识别的控制命令。
18.根据权利要求17所述的第二主机,其特征在于,所述ADB解析模块用于判断所述控制命令是否为危险命令,包括:
所述ADB解析模块用于,判断所述控制命令是否位于预置的危险命令清单中;若所述控制命令位于预置的危险命令清单中,确定所述控制命令为危险命令;否则,确定所述控制命令不为危险命令。
CN201611115563.0A 2016-12-07 2016-12-07 连接控制方法、主机及系统 Active CN106534342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611115563.0A CN106534342B (zh) 2016-12-07 2016-12-07 连接控制方法、主机及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611115563.0A CN106534342B (zh) 2016-12-07 2016-12-07 连接控制方法、主机及系统

Publications (2)

Publication Number Publication Date
CN106534342A CN106534342A (zh) 2017-03-22
CN106534342B true CN106534342B (zh) 2019-09-17

Family

ID=58341801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611115563.0A Active CN106534342B (zh) 2016-12-07 2016-12-07 连接控制方法、主机及系统

Country Status (1)

Country Link
CN (1) CN106534342B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463499B (zh) * 2017-08-08 2020-10-13 百度在线网络技术(北京)有限公司 Adb远程连接方法、装置、设备及存储介质
CN107590036A (zh) * 2017-08-11 2018-01-16 北京奇虎科技有限公司 安卓设备的远程调试方法、服务器和系统
CN109189629B (zh) * 2018-08-14 2022-04-12 福建天泉教育科技有限公司 基于usb设备实现终端远程控制的方法、存储介质
CN109800035B (zh) * 2019-01-24 2022-11-15 博云视觉科技(青岛)有限公司 一种算法集成服务框架系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279706A (zh) * 2013-06-07 2013-09-04 北京奇虎科技有限公司 拦截在移动终端中安装安卓应用程序的方法和装置
CN103902358A (zh) * 2014-03-18 2014-07-02 北京领通科技有限公司 移动终端的远程调试方法、系统及移动终端
CN105868109A (zh) * 2016-03-28 2016-08-17 北京奇虎科技有限公司 一种改进的移动端应用测试方法和系统
CN105893193A (zh) * 2015-12-08 2016-08-24 乐视移动智能信息技术(北京)有限公司 安卓调试桥adb的连接控制方法及相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279706A (zh) * 2013-06-07 2013-09-04 北京奇虎科技有限公司 拦截在移动终端中安装安卓应用程序的方法和装置
CN103902358A (zh) * 2014-03-18 2014-07-02 北京领通科技有限公司 移动终端的远程调试方法、系统及移动终端
CN105893193A (zh) * 2015-12-08 2016-08-24 乐视移动智能信息技术(北京)有限公司 安卓调试桥adb的连接控制方法及相关设备
CN105868109A (zh) * 2016-03-28 2016-08-17 北京奇虎科技有限公司 一种改进的移动端应用测试方法和系统

Also Published As

Publication number Publication date
CN106534342A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106534342B (zh) 连接控制方法、主机及系统
EP2615783A1 (en) Network system and network management method
JP5519718B2 (ja) システムオンチップ基盤のパケットフィルタリングを提供できるデバイス及びパケットフィルタリング方法
CN103369707A (zh) 无线网络连接的建立方法及终端设备
CN102983942B (zh) 数据传输方法及设备
JP2016533059A (ja) ブルートゥース通信方法及びブルートゥース通信設備
CN103346980B (zh) 一种业务调度方法、装置及网络设备
CN104836848A (zh) 智能家电设备远程升级的方法
CN110474960B (zh) 一种虚拟化网络中业务部署的方法和装置
CN106331152B (zh) 一种实现模块间信息同步的方法及装置
EP1887756A2 (en) Communication system, connection adapter for communication device, and network router
US20170318483A1 (en) Self-recovery method and device after disconnection of base station
CN106797329A (zh) 用于测量因特网线路质量的专用终端及其操作方法
CN113259942B (zh) 连接方法、装置、电子设备、系统及计算机可读存储介质
CN109343944A (zh) eSIM卡的数据处理方法、装置、终端及存储介质
CN104168322A (zh) 车载终端数据传输方法、应用服务器、客户端及用户终端
CN107404535B (zh) 设备的远端升级方法和装置
CN107636982A (zh) 数据帧路由处理的方法、近场通信控制器和终端
CN112787893A (zh) 远程诊断方法、装置、电子设备及存储介质
CN107454659A (zh) 一种终端识别方法、系统、终端设备和基站
CN103781098A (zh) 无线网络适配器及其自配置方法
US10506019B2 (en) Methods of servicing one or more consumer appliances
CN104348660A (zh) 防火墙设备中检测引擎的升级方法及装置
CN105281944B (zh) 网络协议地址的设定方法及服务管理系统
CN103209181A (zh) 一种linux网络架构下应用连接防火墙的实现方法

Legal Events

Date Code Title Description
C06 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