CN113452830B - 安卓云手机的批量控制方法、计算机可读介质及电子设备 - Google Patents
安卓云手机的批量控制方法、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN113452830B CN113452830B CN202110659011.0A CN202110659011A CN113452830B CN 113452830 B CN113452830 B CN 113452830B CN 202110659011 A CN202110659011 A CN 202110659011A CN 113452830 B CN113452830 B CN 113452830B
- Authority
- CN
- China
- Prior art keywords
- android
- mobile phone
- communication link
- adb
- batch control
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种安卓云手机的批量控制方法、计算机可读介质及电子设备,该安卓云手机的批量控制方法,包括将预安装的ADB客户端通过ADB服务端后台进程中的默认端口与被创建并运行于虚拟机中的安卓云手机中的ADB守护进程相互通信,以建立第一通信链路;为安卓云手机配置的第三方应用程序与外网相互通信,以建立第二通信链路,第一通信链路与第二通信链路相互隔离。在本申请中,通过在云手机中配置相互隔离的第一虚拟网卡与第二虚拟网卡以建立相互隔离的第一通信链路与第二通信链路,实现了用户对安卓云手机的批量控制操作,确保了网络的安全性,并解决了安卓云手机存在网络卡顿及延时较大的问题,提高了用户体验。
Description
技术领域
本发明涉及网络转发技术领域,尤其涉及一种安卓云手机的批量控制方法、计算机可读介质及电子设备。
背景技术
云手机是基于云计算强大虚拟应用和移动互联网的智能手机应用云平台。基于云计算在大规模计算、强大的存储能力、虚拟化应用等方面突出的优势,云平台为智能手机用户提供多元化、全方位的虚拟手机应用和服务,全面支持各种手机应用程序的展示、下载、应用与管理服务,并卓越实现全天候云端智能托管应用,让用户脱离移动终端的状态下,也能将各种应用程序托管到云端,保持全天候在线状态,全面实现智能云手机的应用虚拟化。
安卓云手机是基于安卓操作系统的云手机,并基于ADB(Android Debug Birdge,Android调试桥)对云手机统一地进行创建、删除、开机、关机、修改、删除、安装APP、更新系统、上传文件等批量化操作。目前,对安卓云手机进行批量化管理时,由于安卓云手机与外网(Internet)及创建安卓云云手机的宿主机的内网并未分离,导致对安卓云手机进行批量化管理时存在安卓云手机对外网带宽占用较大,从而导致安卓云手机存在网络卡顿及延时较大的缺陷,由此对基于安卓云手机的业务运行及用户体验造成了较大影响。
同时,申请人经过检索后发现公开号CN110784422A的中国发明专利公开了一种云手机网络数据分离方法、装置、介质及终端设备。该现有技术通过交换机设备的第一出口网络与第二出口网络分别对视频数据与应用数据执行独立转发。申请人指出,该现有技术虽然实现了视频数据与应用数据的相互分离,但在实际应用过程中仍然存在视频数据与应用数据不同步等诸多缺陷,并存在用户体验效果不佳的问题;尤其的,该现有技术依然无法解决对基于安卓系统的云手机执行批量控制的技术问题。
有鉴于此,有必要对现有技术中的安卓云手机的批量控制方法等方面予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种安卓云手机的批量控制方法,以及运行该安卓云手机的批量控制方法的一种计算机可读介质及其电子设备,用以解决现有技术中基于安卓系统的云手机执行批量控制操作时所存在的诸多缺陷,尤其是为了解决安卓云手机无法执行批量控制操作的缺陷,并能够使得业务网络与ADB控制网络的彻底分离,以确保网络的安全性及良好的用户体验。
为实现上述第一个目的,本发明提供了一种安卓云手机的批量控制方法,包括:
将预安装的ADB客户端通过ADB服务端后台进程中的默认端口与至少一个被创建并运行于虚拟机中的安卓云手机中的ADB守护进程相互通信,以建立第一通信链路;
为安卓云手机配置的第三方应用程序与外网相互通信,以建立第二通信链路,所述第一通信链路与第二通信链路相互隔离。
作为本发明的进一步改进,所述第一通信链路使用ADB命令脚本执行对安卓云手机的批量控制操作;
所述批量控制操作包括安装第三方应用程序操作、文件上传操作、文件下载操作、创建操作、删除操作、开机操作、关机操作、迁移操作、故障恢复操作、修改操作或者查询操作中的一种或者几种的组合。
作为本发明的进一步改进,为安卓云手机配置独立的第一虚拟网卡与第二虚拟网卡,所述第一虚拟网卡用于建立所述第一通信链路,所述第二虚拟网卡用于建立第二通信链路;所述第一通信链路用于建立ADB控制网络,第二通信链路用于建立安卓云手机的业务网络。
作为本发明的进一步改进,所述第一通信链路与第二通信链路相互隔离在安卓云手机启动后,执行网络分离脚本并在安卓云手机的开机启动项中添加network.sh命令至安卓云手机的源代码中,并修改配置文件。
作为本发明的进一步改进,所述配置文件为init.rc、sepolicy、device.mk及Android.mk。
作为本发明的进一步改进,在安卓云手机的开机启动项中添加network.sh命令至安卓云手机的源代码中后,还包括:通过DHCP Tool向所述第一虚拟网卡与第二虚拟网卡配置不同的路由表和路由策略。
作为本发明的进一步改进,所述第三方应用程序安装并运行于安卓云手机中,并通过所述第二通信链路响应用户向安卓云手机发起的访问请求。
作为本发明的进一步改进,所述安卓云手机部署于云平台中,所述云平台包含至少一个计算节点、至少一个网络节点,以及至少一个控制节点;所述安卓云手机配置并运行于计算节点的虚拟机中,且在计算节点中基于Qemu、KVM或者Libvirt中的任意一种虚拟化技术创建所述安卓云手机。
基于相同发明思想,本发明还揭示了一种计算机可读介质,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如上述任一项发明创造所揭示的安卓云手机的批量控制方法中的步骤。
最后,基于相同发明思想,本发明还揭示了一种电子设备,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所所述计算机程序时执行如第一项发明创造所述的安卓云手机的批量控制方法中的步骤。
与现有技术相比,本发明的有益效果是:
在本申请中通过在云手机中配置相互隔离的第一虚拟网卡与第二虚拟网卡,且第一虚拟网卡与第二虚拟网卡不需要借助交换机或者路由器即可建立相互隔离的第一通信链路与第二通信链路,使得用户在运行云手机的物理设备端分别与云手机之间建立业务数据的转发操作与对云手机的批量控制操作,从而实现了用户能够对云手机执行批量控制操作,确保了网络的安全性,并解决了安卓云手机存在网络卡顿及延时较大的问题,提高了用户体验。
附图说明
图1为本发明一种安卓云手机的批量控制方法的整体流程图;
图2为基于安卓开源项目(AOSP)在云平台中启动云手机的拓扑图;
图3为在虚拟机中创建云手机通过独立配置的第一虚拟网卡与第二虚拟网卡分别建立业务数据转发通道及ADB转发通道的拓扑图;
图4为计算节点中创建多个云手机的场景中物理机通过ADB端口控制云手机的拓扑图;
图5为计算节点中创建的云手机通过独立配置的第一虚拟网卡与第二虚拟网卡分别建立第一通信链路与第二通信链路的拓扑图;
图6为本发明一种计算机可读介质的拓扑图;
图7为本发明一种电子设备的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
在详细阐述本申请各个实施例之前,对实施例中涉及的技术术语的含义予以简要阐述。
术语“AVM”:Android Virtual Machine,基于安卓操作系统的虚拟机。通常的,AVM运行于计算节点所形成的宿主机中。
术语“VM”:虚拟机。
术语“ADB”:Android Debug Bridge,一种与安卓设备(例如安卓云手机)进行交互的命令行工具。
术语“AOSP”:Android Open-Source Project,Android开放源代码项目。
术语“云手机”与术语“安卓云手机”具等同技术含义,并使用AOSP予以创建。
术语“hostportforwarding”:基于qemu虚拟化技术所提供的主机端口转发功能,将宿主机上面的端口和云手机内某个端口进行绑定,这样就能在宿主机连接到虚拟机内部的某个端口上。
以下通过多个实施例对本申请所揭示的一种安卓云手机的批量控制方法、一种计算机可读介质及一种电子设备的具体实现过程予以阐述。
实施例一:
参图1至图5所示,本实施例揭示了一种安卓云手机的批量控制方法(以下简称“批 量控制方法”)的一种具体实施方式。
在本实施例中,该批量控制方法,包括以下步骤。
步骤S1、将预安装的ADB客户端通过ADB服务端后台进程(即ADB Daemon428)中的默认端口与至少一个被创建并运行于虚拟机VM中的安卓云手机431中的ADB守护进程(ADBDaemon428)相互通信,以建立第一通信链路81。
第一通信链路81使用ADB命令脚本执行对安卓云手机421的批量控制操作。具体的,该批量控制操作包括安装第三方应用程序操作、文件上传操作、文件下载操作、创建操作、删除操作、开机操作、关机操作、迁移操作、故障恢复操作、修改操作或者查询操作中的一种或者几种的组合。第三方应用程序安装并运行于安卓云手机421中,并通过所述第二通信链路82响应用户向安卓云手机421发起的访问请求。
步骤S2、为安卓云手机配置的第三方应用程序(APP)与外网相互通信,以建立第二通信链路82,第一通信链路81与第二通信链路82相互隔离。在本实施例中,上述所谓的所谓相互隔离,并非依靠路由器或者交换机根据流表机制进行网络隔离,而是通过第一虚拟网卡(eth0)所形成的ADB转发端口451以及通过第二虚拟网卡(eth1)所形成的业务端口424所实现的,ADB转发端口451与业务端口424在逻辑上完全独立。
第三方应用程序安装并运行于安卓云手机421中,并通过所述第二通信链路82响应用户向安卓云手机421发起的访问请求。用户对某个具体的安卓云手机421通过云管理平台10向执行业务指令(例如基于APP427所具有的基于业务数据的请求、调用、响应等过程),以及对安卓云手机421所下发的批量控制指令,以实现对多个安卓云手机421执行批量化的系统升级、关机操作、开机操作或者故障迁移等非业务数据的控制操作。
ADB客户端44与ADB服务端423运行于计算节点40的宿主机中,并与配置且运行于计算节点40的云手机421相互通信。计算节点40可配置并运行多个云手机,即云手机421、云手机421a...云手机421z。
前述的默认端口为5037,ADB客户端44与ADB服务端423之间通过127.0.0.1:5037连通,其中5037为ADB的默认端口。ADB服务端423与计算节点Host端口426之间通过TCP/IP协议相互通信。计算节点Host端口426与云手机421中的ADB Daemon428所配置的ADB转发端口451通过Qemu port forward(利用主机端口转发实现对QEMU虚拟机的访问)相互通信,从而将虚拟机端口Guest_port映射到主机端口Host_port上,从而实现外部(即用户)对虚拟机VM的访问,只要该网络数据传输是基于TCP/IP协议或UDP协议。
结合图2与图3所示,在本实施例中,安卓云手机421部署于云平台(例如基于Openstack的云平台)中,云平台包含至少一个计算节点40、至少一个网络节点30,以及至少一个控制节点20。所述安卓云手机配置并运行于计算节点40的虚拟机(VM)中,且在计算节点40中基于Qemu、KVM或者Libvirt中的任意一种虚拟化技术创建安卓云手机421,鉴于该部分为成熟的现有技术,在此不再赘述。
继续参图2所示,控制节点20包含控制服务21,该控制服务21可由Nova组件41、Cinder、Neutron或者Keystone中的任意一种或者几种组成。Nova组件41基于虚拟化技术hyperivisor实现创建和终止虚拟机。Nova组件41整合了计算资源CPU、存储、网络三类资源部署管理虚拟机,实现计算能力的交付,Nova组件41主要包括如下内容:运行虚拟机、终止虚拟机、重启虚拟机、挂载虚拟机、挂载云硬盘、卸载云硬盘、控制台输出。
首先,可以从AOSP(安卓开源项目)编译生成系统镜像,并基于Ubuntu系统上面进行编译系统镜像对应的版本。编译成功后会生成system.img、userdate.img、ramdisk.img三个系统镜像,其中,可用认为userdata.img确定了系统的可用空间大小。所有可用根据要求就行调整,并且可以通过kpartx和Qemu-img等合并三个镜像为一个镜像(avm.img49)。然后上传到Openstack的包含glance镜像库的Glance服务49中,以便后面使用和管理。
其次,基于Linuxbridge\openvswitch,通过Neutron(部署于Openstack中,并实现网络节点上的dhcp-agent)结合SDN等来实现对应ADB控制网络的一种或者几种控制功能。
然后,虚拟化层使用KVM\Qemu(ARM64版本)\Libvirt来虚拟化管理。
最后,使用Openstack开源管理平台进行整体控制和管理,以实现规范化、产品化管理;另外,借助Openstack相关功能,就可以实现安卓云手机421的热迁移、故障恢复、云手机安卓版本的升级和/或降级等批量控制的功能场景。例如,在OpenStack的云平台中可基于Live migration和Block migration实现安卓云手机421的热迁移。Live migration需要实例保存在NFS共享存储中,这种迁移主要是实例的内存状态的迁移,速度应该会很快。Block migration除了实例内存状态要迁移外,还得迁移磁盘文件,速度会慢些,但是它不要求实例存储在共享文件系统中。
参图2所示,在本实施例中,云管理平台10提供统一的与控制节点20与网络节点30的入口,并通过控制节点20与网络节点30连接至少一个计算节点40。网络节点30通过云手机控制程序43访问ADB客户端44(ADB Client),并通过ADB客户端44连接ADB服务端45。ADB服务端45通过端口转发建立与(安卓)云手机421所形成的控制网络的建立。
在本实施例中,为安卓云手机421配置独立的第一虚拟网卡(eth0)与第二虚拟网卡(eth1),第一虚拟网卡(eth0)用于建立所述第一通信链路81,第二虚拟网卡(eth1)用于建立第二通信链路82。第一通信链路81用于建立ADB控制网络,第二通信链路82用于建立安卓云手机421的业务网络。所有对云手机421所执行的批量控制(例如安装第三方应用程序操作、文件上传操作、文件下载操作、创建操作、删除操作等)均通过第一通信链路81转发至云手机421上,而云手机421上安装的第三方应用程序(如APP427)则通过第二数据链路82执行业务数据转发。云手机421分别形成业务端口424与ADB转发端口451,业务端口424在逻辑上由第二虚拟网卡(eth1)配置形成,ADB转发端口451在逻辑上由第一虚拟网卡(eth0)配置形成。VM42中可配置一个或者多个VM42,且VM42可基于Qemu或者KVM(Kernel-basedVirtual Machine)等进行配置。第一虚拟网卡(eth0)连接至控制节点20,第二虚拟网卡(eth1)连接至网络节点30。在本实施例中,术语“ADB控制网络”与术语“控制网络”具等同技术含义。
第一通信链路81形成业务网络,第二通信链路82形成ADB控制网络。安卓云手机421的业务网络可基于Neutron服务提供的网络,与现有的虚拟机网络一样,业务网络可自身业务特点进行部署和调整,例如通过OVS流表、Linux Bridge等予以实现。Linux Bridge用于连接两个不同网段,以实现L2数据链路层进行数据包的转发。第二通信链路82使用第二虚拟网卡(eth1)连接外网交换机(物理态)或者直接通过网络节点30进行业务数据的转发与接收。网络节点30与计算节点40中的物理网卡(未示出),该物理网卡通过计算节点40中的虚拟网络及虚拟网卡(即第二虚拟网卡eth1)与VM42相通信。更具体的,在本实施例中,网络节点30与计算节点40彼此均设置物理网卡(未示出),并通过网络节点30与计算节点40所分别设置的物理网卡接入逻辑上部署于网络节点30与计算节点40内部的通道网桥(br-tun),并由各自内部的通道网桥(br-tun)连接各自内部的集成网桥(br-int)。在计算节点40中集成网桥(br-int)通过qbr网桥与VM42通信。在计算节点40通常部署安全策略管理(Security Group)以隔离不同用户的VM。鉴于计算节点40与网络节点30之间建立通信连接是成熟的现有技术,在此不再赘述。
安卓云手机421中的ADB服务端后台进程(即ADB Daemon428)的监听的port(默认监听5555端口)转发出来,这样即保证了隔离性和安全性,也可以使用户通过宿主机上转发出来的端口(例如是22222)来访问ADB以完成操作安卓云手机421的功能了。上述命令行中,“5555”为默认监听端口。
其次,需要持久化地记录安卓云手机421和对应端口的对应关系,以便于执行批量控制管理。在本实施例中,可使用数据库或者文件等持久化方式来完成持久化地记录安卓云手机421和对应端口的对应关系。
ADB是Android SDK中的一个工具,使用ADB的时候需先将Android SDK安装到目录路径中。使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备(例如安卓云手机)。当然也可基于ADB对物理态的Andriod设备(例如基于安卓操作系统的平板电脑或者可穿戴电子设备等)进行批量的控制操作。ADB的主要功能包括:可在Android设备上运行Shell命令行;管理模拟器或设备的端口映射;在PC和设备(例如安卓云手机)之间上传/下载文件;将PC上的本地APK软件安装至Android模拟器或设备(例如安卓云手机)上。
结合图3至图5所示,由于ADB是一个C/S架构的应用程序,且由三部分组成:
(1)运行在PC端的ADB client(ADB客户端):命令行程序“ADB”用于从shell或脚本中运行ADB命令。首先,“aADB”程序尝试定位主机上的ADB服务端,如果找不到ADB服务器,“ADB”程序自动启动一个ADB服务端。接下来,当设备的adbd和PC端的ADB Server(即ADB服务端45)建立连接后,ADB Client就可以向ADB Servcer发送服务请求。
(2)运行在PC端的ADB server:ADB Server(ADB服务端45)是运行在主机(HOST)上的一个后台进程,用于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将ADB Client的请求通过USB或者TCP/IP的方式发送到对应的adbd。
(3)运行在设备端的常驻进程ADB Demon(adbd):程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行,用于连接ADB服务端,并为运行在主机上的ADB客户端提供服务。
以下示出了安卓云手机421与形成安卓云手机所在计算节点40的网络连接实例代码。
首先,为了实现宿主机上能够直接通过ADB控制网络来批量控制计算节点40上面所运行的安卓云手机421,在配置并运行安卓云手机421的宿主机(即Openstack云平台中的计算节点40)上,创建安卓云手机421时通过添加Qemu的端口转发功能(定义一个用户模式网络),来实现对ADB转发端口451对控制指令的转发功能。
客户机(虚拟机)与主机之间通讯可通过hostfwd参数指定ADB转发端口451来实现(hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport),把虚拟机端口Guest_port映射到主机端口Host_port上,从而实现外部(即用户)对虚拟机VM的访问,只要该网络数据传输是基于TCP/IP或UDP协议的。而且hostaddr和guestaddr选项是可选的,当主机或者虚拟机有多个IP地址,而用户只期望对其中一个IP实现ADB转发端口451的转发时,指定一下即可。下述为Qemu启动云手机的网络部分的命令行。
qemu-system-x86_64–device virtio-net-
pci,netdev=nic0,mac=00:16:3e:0c:12:78
netdev tap,id=nic0,br=br0,helper=/usr/local/libexec/qemu-bridge-
helper,vhost=on–net nic–net user,,hostfwd=tcp::55555-:5555
而在通过Openstack来管理安卓云手机421时,需要调整生成的libvirt.xml文件来定义具体的主机端口转发规则。
在本实施例中,首先,需要在创建安卓云手机时加入qemu:commandline(如下实例),实现hostfwd(主机端口转发)功能。
<domain type='kvm'xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<qemu:commandline>
<qemu:arg value='-netdev'/>
<qemu:arg value='user,id=adbnet,hostfwd=tcp:0.0.0.0:55555-:5555'/>
<qemu:arg value='-device'/>
<qemu:arg value='virtio-net-pci,netdev=adbnet/>
</qemu:commandline>
通过上述技术方案,已经实现了对安卓云手机421的批量控制操作。
在本实施例中,该第一通信链路81与第二通信链路82相互隔离在安卓云手机421启动后,执行网络分离脚本并在安卓云手机421的开机启动项中添加network.sh命令至安卓云手机421的源代码中,并修改配置文件。例如,该配置文件为init.rc、sepolicy、device.mk及Android.mk。执行网络分离脚本可通过在安卓云手机421中安装busybox予以实现,以执行Linux命令,例如grep、awk等。同时,在安卓云手机421的开机启动项中添加network.sh命令至安卓云手机421的源代码后,加入基于前述配置文件所对应的各个操作的权限。
在安卓云手机421的开机启动项中添加network.sh命令至安卓云手机421的源代码中后,还包括:通过DHCP Tool向所述第一虚拟网卡(eth0)与第二虚拟网卡(eth1)配置不同的路由表和路由策略,部分代码如下所示。
在通过DHCP Tool向所述第一虚拟网卡(eth0)与第二虚拟网卡(eth1)配置不同的路由表和路由策略之后,还包括以下技术方案。
(1)编辑network.sh内容,以下示出主要部分,其中,$ethN为参数引用,例如是eth0。
(1)获取ip地址:dhcptool eth0\dhcptool eth1
(2)添加路由表和路由策略,对应的命令行如下所示。
ip rule add from 10.0.2.15 lookup 1
ip route add 10.0.2.0/24 dev$ethN table 1
ip route add default via 10.0.2.2 dev$ethN table 1
(2)重启两块虚拟网卡(即第一虚拟网卡与第二虚拟网卡)ifconfig$ethN down、ifconfig$ethN up。
通过上述技术方案,实现了ADB控制网络与业务网络的彻底分离并互不干扰,也互相不形成竞争关系,既保证了网络的安全性,也解决了网络性能问题。
在本实施例中,可以直接调用ADB命令行来实现很多例如批量锁屏、批量调整音量、批量安装、卸载某个APP等扩展功能,甚至调用ADB shell sendeven来完成批量安卓云手机的一系列操作下发功能等。例如,当查询到某台安卓云手机对应的ADB的主机转发端口是“55555”时,可以直接通过命令行:adb-s localhost:55555shell“reboot-p”来完成诸如关机的控制操作。
另外,在本实施例中,还可以扩展其他相关功能。例如,借助python-adb、pure-python-adb等库来实现各种安卓云手机421所具有的各种功能的调用,以批量地对安卓云手机421实现控制管理。
实施例二:
参图6所示,基于实施例一所揭示的批量控制方法,本实施例还揭示了一种计算机可读介质700,所述计算机可读介质700中存储有计算机程序指令,所述计算机程序指令701被一处理器读取并运行时,执行如实施例一的安卓云手机的批量控制方法中的步骤。
可选地,计算机可读介质700可被配置为(物理/虚拟)服务器,且该服务器运行于构建私有云、混合云或者公有云的物理设备上。同时,该计算机可读介质700还可被配置为随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)。
本实施例所揭示的处理器702可以是一种集成电路芯片,具有信号的处理能力。该处理器702可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规处理器。
本实施例所揭示的一种计算机可读介质700与实施例一中相同部分的技术方案,请参实施例一所示,在此不再赘述。
实施例三:
参图7所示,本实施例揭示了一种电子设备100,包括:处理器51、存储器52以及存储在所述存储器52中且被配置为由所述处理器51执行的计算机程序,该处理器51在执行所所述计算机程序时执行如实施例一所述的安卓云手机的批量控制方法中的步骤。
具体的,该存储器52由若干存储单元组成,即存储单元521~存储单元52i,其中,参数i取大于或者等于二的正整数。处理器51与存储器52均接入系统总线53。系统总线53的形式并不需要予以具体限定,I2C总线、SPI总线、SCI总线、PCI总线、PCI-e总线、ISA总线等,并可根据电子设备500的具体类型及应用场景需求予以合理变更。系统总线53并非本申请发明点,故在本申请中不予展开陈述。
需要说明的是,本实施例中的存储单元52可为物理态的存储单元,从而将电子设备100理解为物理态的计算机或者计算机集群或者集群服务器;同时,存储单元52还可为虚拟态的存储单元,例如基于物理存储设备通过底层虚拟化技术所形成的虚拟存储空间,从而将该电子设备100配置为虚拟服务器或者虚拟集群等虚拟装置。
本实施例所示出的电子设备100与实施例一和/或实施例二中相同部分的技术方案,请参实施例一和/或实施例二所示,在此不再赘述。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种安卓云手机的批量控制方法,其特征在于,包括:
S1、将预安装的ADB客户端通过ADB服务端后台进程中的默认端口与被创建并运行于虚拟机中的安卓云手机中的ADB守护进程相互通信,以建立第一通信链路;
S2、为安卓云手机配置的第三方应用程序与外网相互通信,以建立第二通信链路,执行网络分离脚本,以将所述第一通信链路与第二通信链路相互隔离,所述第一通信链路使用ADB命令脚本执行对安卓云手机的批量控制操作,所述第一通信链路用于建立ADB控制网络,第二通信链路用于建立安卓云手机的业务网络。
2.根据权利要求1所述的安卓云手机的批量控制方法,其特征在于,所述批量控制操作包括安装第三方应用程序操作、文件上传操作、文件下载操作、创建操作、删除操作、开机操作、关机操作、迁移操作、故障恢复操作、修改操作或者查询操作中的一种或者几种的组合。
3.根据权利要求1所述的安卓云手机的批量控制方法,其特征在于,为安卓云手机配置独立的第一虚拟网卡与第二虚拟网卡,所述第一虚拟网卡用于建立所述第一通信链路,所述第二虚拟网卡用于建立第二通信链路。
4.根据权利要求3所述的安卓云手机的批量控制方法,其特征在于,所述执行网络分离脚本包括以下子步骤:
S21、向安卓云手机的AOSP源代码中安装busybox;
S22、添加和/或修改network.sh脚本至安卓云手机的AOSP源代码,以添加和/或修改安卓云手机的开机启动项;
S23、修改配置文件,并从安卓云手机的AOSP源代码中编译出安卓云手机的镜像文件;
S24、调用安卓云手机的镜像文件以启动安卓云手机,并由安卓云手机调用当前network.sh脚本,以隔离所述第一通信链路与第二通信链路;
S25、重启第一虚拟网卡与第二虚拟网卡。
5.根据权利要求4所述的安卓云手机的批量控制方法,其特征在于,所述配置文件为init.rc、sepolicy、device.mk及Android.mk;所述安卓云手机的批量控制方法在修改配置文件后还包括:向配置文件下发操作权限。
6.根据权利要求4所述的批量控制方法,其特征在于,所述子步骤S22还包括:通过DHCPTool向所述第一虚拟网卡与第二虚拟网卡配置不同的路由表和路由策略。
7.根据权利要求3所述的安卓云手机的批量控制方法,其特征在于,所述第三方应用程序安装并运行于安卓云手机中,并通过所述第二通信链路响应用户向安卓云手机发起的访问请求。
8.根据权利要求1所述的安卓云手机的批量控制方法,其特征在于,所述安卓云手机部署于云平台中,所述云平台包含至少一个计算节点、至少一个网络节点,以及至少一个控制节点;所述安卓云手机配置并运行于计算节点的虚拟机中,且在计算节点中基于Qemu、KVM或者Libvirt中的任意一种或者任意几种虚拟化技术创建所述安卓云手机。
9.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如权利要求1至8中任一项所述的安卓云手机的批量控制方法中的步骤。
10.一种电子设备,其特征在于,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时执行如权利要求1至8中任一项所述的安卓云手机的批量控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110659011.0A CN113452830B (zh) | 2021-06-15 | 2021-06-15 | 安卓云手机的批量控制方法、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110659011.0A CN113452830B (zh) | 2021-06-15 | 2021-06-15 | 安卓云手机的批量控制方法、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452830A CN113452830A (zh) | 2021-09-28 |
CN113452830B true CN113452830B (zh) | 2022-11-01 |
Family
ID=77811599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110659011.0A Active CN113452830B (zh) | 2021-06-15 | 2021-06-15 | 安卓云手机的批量控制方法、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452830B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023068275A1 (ja) * | 2021-10-18 | 2023-04-27 | Fairy Devices株式会社 | 情報処理システム |
CN114205149B (zh) * | 2021-12-06 | 2024-07-16 | 厦门星界链科技有限公司 | 网络通信方法及装置 |
CN114281453A (zh) * | 2021-12-15 | 2022-04-05 | 天翼电信终端有限公司 | 云手机与终端应用交互执行方法、装置、服务器及存储介质 |
CN114500718B (zh) * | 2021-12-27 | 2023-11-03 | 天翼云科技有限公司 | 一种云手机管理方法及装置 |
CN114500519B (zh) * | 2022-01-24 | 2024-08-20 | 北京百度网讯科技有限公司 | 基于云手机的通讯方法、装置、设备和存储介质 |
CN114793225B (zh) * | 2022-03-30 | 2023-04-28 | 广东悦伍纪网络技术有限公司 | 一种云手机与真机的数据通信方法及系统 |
CN115314484A (zh) * | 2022-06-15 | 2022-11-08 | 广州九尾信息科技有限公司 | 一种基于mqtt协议的局域网安卓测试包自动分发装置 |
CN117651177B (zh) * | 2024-01-30 | 2024-04-12 | 北京朝歌数码科技股份有限公司 | 安卓智能终端接入iptv业务的方法、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486192A (zh) * | 2014-12-05 | 2015-04-01 | 国云科技股份有限公司 | 一种虚拟网络隔离方法 |
CN108173883A (zh) * | 2018-03-06 | 2018-06-15 | 国云科技股份有限公司 | 一种双网隔离的云桌面连接方法及系统 |
CN110784422A (zh) * | 2019-10-14 | 2020-02-11 | 广州微算互联信息技术有限公司 | 一种云手机网络数据分离方法、装置、介质及终端设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300726B2 (en) * | 2013-01-15 | 2016-03-29 | International Business Machines Corporation | Implementing a private network isolated from a user network for virtual machine deployment and migration and for monitoring and managing the cloud environment |
CN103345406A (zh) * | 2013-06-21 | 2013-10-09 | 中国科学院深圳先进技术研究院 | 一种实现智能移动终端的云端虚拟移动终端的系统和方法 |
CN107800743B (zh) * | 2016-09-06 | 2020-11-24 | 中国电信股份有限公司 | 云桌面系统、云管理系统和相关设备 |
CN108632360A (zh) * | 2018-04-12 | 2018-10-09 | 北京百悟科技有限公司 | 一种虚拟云终端和虚拟云终端服务器 |
CN110572439B (zh) * | 2019-08-14 | 2020-07-10 | 中电莱斯信息系统有限公司 | 一种基于元数据服务和虚拟转发网桥的云监控方法 |
CN110806922B (zh) * | 2019-10-14 | 2022-06-21 | 广州微算互联信息技术有限公司 | 一种执行脚本方法、装置、设备及存储介质 |
CN112261152A (zh) * | 2020-11-09 | 2021-01-22 | 黎鸿 | 基于弹性云服务器和智能终端的虚拟终端分布式系统 |
CN112748985B (zh) * | 2020-12-31 | 2023-09-26 | 网络通信与安全紫金山实验室 | 拟态应用的网络隔离方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-15 CN CN202110659011.0A patent/CN113452830B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486192A (zh) * | 2014-12-05 | 2015-04-01 | 国云科技股份有限公司 | 一种虚拟网络隔离方法 |
CN108173883A (zh) * | 2018-03-06 | 2018-06-15 | 国云科技股份有限公司 | 一种双网隔离的云桌面连接方法及系统 |
CN110784422A (zh) * | 2019-10-14 | 2020-02-11 | 广州微算互联信息技术有限公司 | 一种云手机网络数据分离方法、装置、介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113452830A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113452830B (zh) | 安卓云手机的批量控制方法、计算机可读介质及电子设备 | |
US11502950B2 (en) | Universal customer premise equipment | |
CN108509210B (zh) | 自动更新基本输入输出系统的系统与方法 | |
US11429369B2 (en) | Distributed upgrade in virtualized computing environments | |
US20230104129A1 (en) | Network policy generation for continuous deployment | |
US9588807B2 (en) | Live logical partition migration with stateful offload connections using context extraction and insertion | |
US9329894B2 (en) | Method and apparatus for extending local area networks between clouds and permanently migrating virtual machines using static network addresses | |
US9430256B2 (en) | Method and apparatus for migrating virtual machines between cloud computing facilities using multiple extended local virtual networks and static network addresses | |
US8830870B2 (en) | Network adapter hardware state migration discovery in a stateful environment | |
US9311140B2 (en) | Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses | |
US20110032944A1 (en) | Method and System for Switching in a Virtualized Platform | |
CN103595801B (zh) | 一种云计算系统及其虚拟机实时监控方法 | |
US9792106B1 (en) | Technique for fast network device configuration upgrade and reload | |
CN113419815B (zh) | 一种预启动运行环境装机的方法、系统、设备及介质 | |
WO2019100266A1 (zh) | 移动边缘主机服务通知方法和装置 | |
CN108667779B (zh) | 一种远程登录容器的方法及服务器 | |
US12074884B2 (en) | Role-based access control autogeneration in a cloud native software-defined network architecture | |
WO2023035758A1 (zh) | 输入法设置方法及其装置、输入方法及电子设备 | |
US20230336414A1 (en) | Network policy generation for continuous deployment | |
EP4297359A1 (en) | Metric groups for software-defined network architectures | |
CN115941457A (zh) | 用于多个集群的云本地软件定义网络架构 | |
CN115941593A (zh) | 用于云本地软件定义网络架构的虚拟网络路由器 | |
US11792156B1 (en) | 5G unikernel services | |
CN115941513A (zh) | 云本地软件定义网络架构 | |
CN117278428A (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 |