CN107870825A - 一种基于Docker的自动化ADB隔离方法及装置 - Google Patents

一种基于Docker的自动化ADB隔离方法及装置 Download PDF

Info

Publication number
CN107870825A
CN107870825A CN201610860074.1A CN201610860074A CN107870825A CN 107870825 A CN107870825 A CN 107870825A CN 201610860074 A CN201610860074 A CN 201610860074A CN 107870825 A CN107870825 A CN 107870825A
Authority
CN
China
Prior art keywords
adb
docker
mobile terminal
connections
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610860074.1A
Other languages
English (en)
Other versions
CN107870825B (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.)
Wuhan Antian Information Technology Co Ltd
Original Assignee
Wuhan Antian Information Technology 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 Wuhan Antian Information Technology Co Ltd filed Critical Wuhan Antian Information Technology Co Ltd
Priority to CN201610860074.1A priority Critical patent/CN107870825B/zh
Publication of CN107870825A publication Critical patent/CN107870825A/zh
Application granted granted Critical
Publication of CN107870825B publication Critical patent/CN107870825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于Docker的自动化ADB隔离方法,包括以下步骤:在PC端启动usb监控服务;当监控到移动终端通过usb连接至PC端时,获取移动终端的标识;PC端搭建若干相互隔离的Docker容器,为Docker容器分配获得的标识并建立PC端与相应移动终端的ADB连接;为每个ADB连接配置所需环境。如此设计保证了任一移动终端与PC端的连接是相互独立的,避免出现现有技术中一旦某一台移动终端与PC端连接中断而导致其他移动终端连接中断的情况,实现了ADB集群连接的稳定性。另外,本发明还公开了一种基于Docker的自动化ADB隔离装置。

Description

一种基于Docker的自动化ADB隔离方法及装置
技术领域
本发明涉及移动网络技术领域,尤其涉及自动化ADB隔离方法及装置。
背景技术
ADB是Android SDK中用于管理和控制Android设备的工具。它由三个运行部件组成:
(1)ADB客户端,是计算机中的一个命令行工具,向用户提供管理和控制功能,例如为设备安装指定的应用程序等;
(2)ADB服务端,是计算机中的一个后台进程,管理设备,并负责计算机与设备之间的数据交换;
(3)ADB守护进程adbd,是运行在Android系统中的一个进程,它接收ADB服务端发来的数据并执行发来的指令。
其中,ADB客户端和ADB服务端在物理上存在于同一个可执行文件之中,在Windows系统中名为adb.exe。但两者运行时是不同的进程,执行不同的代码。ADB客户端负责与用户交互,执行完命令后就退出;而ADB服务端在第一次启动后就一直运行于计算机中。
现有ADB连接存在以下缺点:
(1)无法保证集群连接的稳定性。当多个ADB客户端连接一个ADB服务端时,即多台移动终端与PC端通过ADB连接,一旦某一台移动终端与服务端连接中断,可能会导致其他的移动终端连接中断。
(2)无法快速处理异常情况。传统的ADB连接系统基于单一的环境,无法为每一个ADB连接配置独立所需环境。传统的ADB连接一旦出现异常情况,需重启adb服务端,导致全部ADB连接中断,无法快速恢复。
发明内容
本发明的目的在于提供一种基于Docker的自动化ADB隔离方法及系统,其能实现稳定的adb集群连接,且当ADB连接出现异常时能快速恢复。
为了实现上述目的,本发明公开了一种基于Docker的自动化ADB隔离方法,其包括以下步骤:
在PC端启动usb监控服务;
当监控到移动终端通过usb连接至PC端时,获取移动终端的标识;
PC端搭建若干相互隔离的Docker容器,为Docker容器分配获得的标识并建立PC端与相应移动终端的ADB连接;
为每个ADB连接配置所需环境。
进一步的,所述ADB隔离方法还包括当监控到ADB连接出现异常时,重新搭建Docker容器,恢复ADB连接。
进一步的,所述标识为usb参数。
进一步的,所述usb参数包括供应商id、生产商id、串号中的至少一种。
进一步的,搭建若干相互隔离的Docker容器包括以下步骤:
在PC端部署Docker环境;
在Docker环境中创建镜像;
在镜像中创建与移动终端数量一致且相互隔离的若干Docker容器。
进一步的,配置ADB连接所需环境包括配置cpu、内存、网络信息。
本发明还公开了一种基于Docker的自动化ADB隔离装置,用于将至少一个移动终端连接至PC端,该自动化ADB隔离装置包括监控模块、调度模块、环境配置模块,其中:
所述监控模块用于在PC端开启usb监控服务,一旦监测到移动终端通过usb连接至PC端,该服务会自动获取移动终端的标识,并启动调度模块;
所述调度模块用于自动搭建若干相互隔离的Docker容器,为各Docker容器分配监控模块获取到的标识,为每一台移动终端建立相互隔离的ADB连接;
所述环境配置模块用于为每个ADB连接配置所需环境。
进一步的,所述ADB隔离装置还包括异常处理模块,所述异常处理模块用于当监控到ADB连接出现异常时,重新启动调度模块,恢复ADB连接。
进一步的,所述调度模块自动搭建若干相互隔离的Docker容器包括以下步骤:
在PC端部署Docker环境;
在Docker环境中创建镜像;
在镜像中创建与移动终端数量一致且相互隔离的若干Docker容器。
本发明与现有技术相比的有益效果:本发明中实现了自动化的ADB连接,一旦有移动终端通过usb连接,即可与PC端建立ADB连接;搭建了若干相互隔离的Docker容器,各Docker容器根据标识建立了PC端与相应移动终端的ADB连接,如此设计保证了任一移动终端与PC端的连接是相互独立的,避免出现现有技术中一旦某一台移动终端与PC端连接中断而导致其他移动终端连接中断的情况,实现了ADB集群连接的稳定性。另外,本发明建立了相互隔离的ADB连接,能为每一个ADB连接配置独立的环境,当ADB连接出现异常时,无需中断全部ADB连接,可针对性的快速恢复相应的ADB连接。
附图说明
图1为本发明基于Docker的自动化ADB隔离方法的流程图。
图2为本发明基于Docker的自动化ADB隔离装置的使用方式示意图。
图3为本发明基于Docker的自动化ADB隔离装置的结构示意图图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
本发明结合Docker的特性以解决现有ADB连接技术的缺点。Docker是一个开源的应用容器引擎,能虚拟出多个容器(Container,轻量级虚拟机),每个容器之间相互隔离没有接口,因此每个容器的生产环境和开发环境与其余容器互不影响。另外,每个容器拥有自己独立的各种命名空间,包括:PID进程、MNT文件系统、NET网络、IPC、UTS(UNIX Time-sharing System,UNIX时间共享系统)等。
本发明底层系统具体为Linux操作系统,Docker运行于Linux操作系统之上,本发明的实施例以Ubuntu为例。
在一些实施例中,如图1所示,本发明基于Docker的ADB隔离方法包括如下步骤:
S01,在PC端启动usb监控服务。
S02,当监控到移动终端通过usb连接至PC端时,获取移动终端的标识。
该标识主要用于识别不同的移动终端,方便PC端与相应的移动终端建立ADB连接。本实施例以usb参数为标识,PC端获取各移动终端的usb参数。
usb参数包括供应商id、生产商id、串号中的至少一种。为了提供标识移动终端的精确度,可以将供应商id、生产商id及串号全部获取。
S03,PC端搭建若干相互隔离的Docker容器,为Docker容器分配获得的标识并建立PC端与相应移动终端的ADB连接。
其中,搭建若干相互隔离的Docker容器包括以下步骤:
S031,在PC端部署Docker。
S032,在Docker中创建镜像(Images),根据操作系统选择相应的镜像。本实施例中,在Docker中创建Ubuntu镜像。
S033,在镜像中创建与移动终端数量一致且相互隔离的若干Docker容器。
可以理解的,一个Docker容器仅接受一个移动终端的usb参数。
例如,某个Docker容器接收了第一移动终端的usb参数,则在PC端与第一移动终端之间建立ADB连接。
S04,为每个ADB连接配置所需环境。
配置ADB连接所需环境包括配置cpu、内存、网络信息等。
当监控到ADB连接出现异常(中断、连接不上、崩溃等)时,本ADB隔离方法还会启动异常处理脚本以快速恢复ADB连接。
本发明实现了自动化的ADB连接,一旦有移动终端通过usb连接,即可与PC端建立ADB连接;本发明中还搭建了若干相互隔离的Docker容器,各Docker容器根据标识建立了PC端与相应移动终端的ADB连接,如此设计保证了任一移动终端与PC端的连接是相互独立的,避免出现现有技术中一旦某一台移动终端与PC端连接中断而导致其他移动终端连接中断的情况,实现了adb集群连接的稳定性。另外,本发明建立了相互隔离的ADB连接,能为每一个ADB连接配置独立的环境,当ADB连接出现异常时,无需中断全部ADB连接,可针对性的快速恢复相应的ADB连接。
结合图2、图3所示,本发明还公开了一种基于Docker的自动化ADB隔离装置11,用于将至少一个移动终端20连接至PC端10,该自动化ADB隔离装置11包括监控模块111、调度模块112、环境配置模块113,其中:
监控模块111用于在PC端10开启usb监控服务,一旦监测到移动终端20通过usb连接至PC端10,该服务会自动获取移动终端的标识,并启动调度模块112。
调度模块112用于自动搭建若干相互隔离的Docker容器,为各Docker容器分配监控模块获取到的标识,为每一台移动终端20建立相互隔离的ADB连接。
该标识主要用于识别不同的移动终端20,方便PC端10与相应的移动终端20建立ADB连接。本实施例以usb参数为标识。usb参数包括供应商id、生产商id、串号中的至少一种。优选的,为了更好的标识移动终端,可以将供应商id、生产商id及串号全部获取。
各Docker容器中根据获得的标识建立PC端10与相应移动终端20的ADB连接。例如,某Docker容器接收了第一移动终端的usb参数,则该Docker容器内建立的是唯一连接PC端10与第一移动终端的ADB。
环境配置模块113用于为每个ADB连接配置所需环境,包括配置cpu、内存、网络信息等。
该ADB隔离装置11还包括异常处理模块114,该异常处理模块114用于监控到ADB连接出现异常时(中断、连接不上、崩溃等),重新启动调度模块112,恢复ADB连接。
本发明实现了自动化的ADB连接,一旦有移动终端通过usb连接,即可与PC端建立ADB连接;本发明还在Docker的ADB隔离装置11中搭建了若干相互隔离的Docker容器,各Docker容器根据usb参数建立了PC端与相应移动终端的ADB连接,如此设计保证了任一移动终端与PC端的连接是相互独立的,避免出现现有技术中一旦某一台移动终端与PC端连接中断而导致其他移动终端连接中断的情况,实现了adb集群连接的稳定性。另外,本发明建立了相互隔离的ADB连接,能为每一个ADB连接配置独立的环境,当ADB连接出现异常时,无需中断全部ADB连接,可针对性的快速恢复相应的ADB连接。
上述说明示出并描述了本发明的若干实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种基于Docker的自动化ADB隔离方法,其特征在于,包括以下步骤:
在PC端启动usb监控服务;
当监控到移动终端通过usb连接至PC端时,获取移动终端的标识;
PC端搭建若干相互隔离的Docker容器,为各Docker容器分配获得的标识并建立PC端与相应移动终端的ADB连接;
为每个ADB连接配置所需环境。
2.如权利要求1所述的ADB隔离方法,其特征在于,所述ADB隔离方法还包括当监控到ADB连接出现异常时,重新搭建Docker容器,恢复ADB连接。
3.如权利要求1所述的ADB隔离方法,其特征在于,所述标识为usb参数。
4.如权利要求3所述的ADB隔离方法,其特征在于,所述usb参数包括供应商id、生产商id、串号中的至少一种。
5.如权利要求1所述的ADB隔离方法,其特征在于,搭建若干相互隔离的Docker容器包括以下步骤:
在PC端部署Docker环境;
在Docker环境中创建镜像;
在镜像中创建与移动终端数量一致且相互隔离的若干Docker容器。
6.如权利要求1所述的ADB隔离方法,其特征在于,配置ADB连接所需环境包括配置cpu、内存、网络信息。
7.一种基于Docker的自动化ADB隔离装置,用于将至少一个移动终端连接至PC端,其特征在于,该自动化ADB隔离装置包括监控模块、调度模块、环境配置模块,其中:
所述监控模块用于在PC端开启usb监控服务,一旦监测到移动终端通过usb连接至PC端,该服务会自动获取移动终端的标识,并启动调度模块;
所述调度模块用于自动搭建若干相互隔离的Docker容器,为各Docker容器分配监控模块获取到的标识,为每一台移动终端建立相互隔离的ADB连接;
所述环境配置模块用于为每个ADB连接配置所需环境。
8.如权利要求7所述的ADB隔离装置,其特征在于,还包括异常处理模块,所述异常处理模块用于当监控到ADB连接出现异常时,重新启动所述调度模块,恢复ADB连接。
9.如权利要求7所述的ADB隔离装置,其特征在于,所述调度模块自动搭建若干相互隔离的Docker容器包括以下步骤:
在PC端部署Docker环境;
在Docker环境中创建镜像;
在镜像中创建与移动终端数量一致且相互隔离的若干Docker容器。
CN201610860074.1A 2016-09-27 2016-09-27 一种基于Docker的自动化ADB隔离方法及装置 Active CN107870825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610860074.1A CN107870825B (zh) 2016-09-27 2016-09-27 一种基于Docker的自动化ADB隔离方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610860074.1A CN107870825B (zh) 2016-09-27 2016-09-27 一种基于Docker的自动化ADB隔离方法及装置

Publications (2)

Publication Number Publication Date
CN107870825A true CN107870825A (zh) 2018-04-03
CN107870825B CN107870825B (zh) 2021-05-04

Family

ID=61761030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610860074.1A Active CN107870825B (zh) 2016-09-27 2016-09-27 一种基于Docker的自动化ADB隔离方法及装置

Country Status (1)

Country Link
CN (1) CN107870825B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104267683A (zh) * 2014-09-16 2015-01-07 深圳市佳晨科技有限公司 产品质量测试启动控制系统及产品质量测试启动控制方法
CN105550024A (zh) * 2015-12-08 2016-05-04 北京元心科技有限公司 一种基于容器的移动终端关机方法和装置
US20160259665A1 (en) * 2015-03-05 2016-09-08 Vmware, Inc. Methods and apparatus to select virtualization environments for migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104267683A (zh) * 2014-09-16 2015-01-07 深圳市佳晨科技有限公司 产品质量测试启动控制系统及产品质量测试启动控制方法
US20160259665A1 (en) * 2015-03-05 2016-09-08 Vmware, Inc. Methods and apparatus to select virtualization environments for migration
CN105550024A (zh) * 2015-12-08 2016-05-04 北京元心科技有限公司 一种基于容器的移动终端关机方法和装置

Also Published As

Publication number Publication date
CN107870825B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
JP7257329B2 (ja) オープンアーキテクチャ産業制御システム
CN103986786A (zh) 一种远程云桌面操作系统
CN108737463A (zh) 一种软件部署方法、服务器和系统
CN101741904B (zh) 一种分布式空间计算服务节点的构建方法及网关装置
CN103441867A (zh) 一种更新虚拟机内部网络资源配置的方法
CN102866925B (zh) 一种中间件与用户界面的通信方法和系统
CN102523103A (zh) 一种工业监控网络数据采集结点
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
CN109450694B (zh) 基于自主可控软硬件的多节点异构运维管理方法及系统
CN111736867A (zh) 一种fpga更新设备、方法以及存储介质
EP4198739A1 (en) Matchmaking-based enhanced debugging for microservices architectures
CN108737163B (zh) 一种基于OpenFlow协议的SDN控制器应用性能分析方法
CN108737499A (zh) 服务器配置方法和装置
CN111966465A (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
CN112748961A (zh) 启动任务的执行方法和装置
CN114650223A (zh) 一种Kubernetes集群的网络配置方法、装置及电子设备
KR102007628B1 (ko) 모바일 디바이스 외부 컨트롤러 모듈
CN113703407A (zh) 基于数字孪生的机器人生产线操作系统构建方法、系统及设备
CN110290206B (zh) 一种用于网吧环境的分布式计算系统及方法
CN114168252A (zh) 信息处理系统及方法、网络方案推荐组件及方法
CN107870825A (zh) 一种基于Docker的自动化ADB隔离方法及装置
CN111901395A (zh) 多集群切换方法及装置
CN116418791A (zh) 固件升级方法、固件升级系统、服务器及存储介质
US20230195601A1 (en) Synthetic data generation for enhanced microservice debugging in microservices architectures
CN115495195A (zh) 一种数据处理方法、装置及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB02 Change of applicant information

Address after: 430000 Hubei city Wuhan East Lake New Technology Development Zone 8 Huacheng Road 8 Wuhan software new town industry three phase C20 building

Applicant after: WUHAN ANTIY INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 430000 software industry, No. 1 East Road, software park, East Lake New Technology Development Zone, Hubei, Wuhan 4-1, B4 building, room 12, floor 01

Applicant before: WUHAN ANTIY INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information