CN107688479B - Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 - Google Patents
Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 Download PDFInfo
- Publication number
- CN107688479B CN107688479B CN201610629818.9A CN201610629818A CN107688479B CN 107688479 B CN107688479 B CN 107688479B CN 201610629818 A CN201610629818 A CN 201610629818A CN 107688479 B CN107688479 B CN 107688479B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- android
- task
- target
- queue
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统,包括:任务服务器接收虚拟机安装指令,根据虚拟机安装指令安装虚拟机,虚拟机有对应的守护联络程序;虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,并载入安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中守护联络程序通过Android调试桥adb对Android虚拟机进行控制;将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,提高Android系统网络集群控制能力。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统。
背景技术
安卓Android,是一个基于Linux内核的开放移动操作系统,主要用于移动设备,如智能手机和平板电脑。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。Android虚拟机可以在PC端安装运行模拟Android系统,并可以在电脑端进行几乎任何手机上可以进行的操作,经常需要搭建Android系统网络集群通过Android虚拟机进行开发、测试等。
传统搭建Android系统网络集群使用官方安卓虚拟机,下发任务给集群,随机选择节点运行任务,对任务下发的控制程度不高,不能灵活的控制任务请求的发送。
发明内容
基于此,有必要针对上述技术问题,提供一种Android系统网络集群搭建的方法,提高Android系统网络集群对任务下发的控制能力。
一种Android系统网络集群搭建的方法,所述方法包括:
任务服务器接收虚拟机安装指令,根据所述虚拟机安装指令安装虚拟机,所述虚拟机有对应的守护联络程序;
所述虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,载入所述Android PC系统虚拟机镜像安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中所述守护联络程序通过Android调试桥adb对所述Android虚拟机进行控制;
将所述Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在所述消息服务器存储Android虚拟机和虚拟机队列之间的对应关系。
上述Android系统网络集群搭建的方法,通过任务服务器接收虚拟机安装指令,根据虚拟机安装指令安装虚拟机,虚拟机有对应的守护联络程序,虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,载入Android PC系统虚拟机镜像安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中守护联络程序通过Android调试桥adb对Android虚拟机进行控制,将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,通过消息服务器和任务服务器的配合,搭建的Android系统网络集群,在消息服务器中存储了Android虚拟机和虚拟机队列之间的对应关系,在下发任务时,可指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
一种Android系统网络集群数据处理的方法,所述方法包括:
消息服务器接收携带虚拟机队列类型标识的任务请求,根据所述虚拟机队列类型标识获取对应的目标虚拟机队列;
所述消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将所述任务请求发送至所述目标虚拟机队列对应的目标Android虚拟机的守护联络程序;
所述守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务。
一种Android系统网络集群数据处理的系统,所述系统包括:
目标虚拟机队列获取模块,用于通过消息服务器接收携带虚拟机队列类型标识的任务请求,根据所述虚拟机队列类型标识获取对应的目标虚拟机队列;
第一发送模块,用于通过所述消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将所述任务请求发送至所述目标虚拟机队列对应的目标Android虚拟机的守护联络程序;
任务执行模块,用于所述守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务。
上述Android系统网络集群数据处理的方法和系统,通过消息服务器接收携带虚拟机队列类型标识的任务请求,根据虚拟机队列类型标识获取对应的目标虚拟机队列,消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序,守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,执行任务请求对应的任务,在下发任务请求时通过携带虚拟机队列类型标识可指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
一种Android系统网络集群,所述集群包括:
任务服务器,用于接收虚拟机安装指令,根据所述虚拟机安装指令安装虚拟机,所述虚拟机有对应的守护联络程序;
消息服务器,用于发送Android PC系统虚拟机镜像至所述虚拟机,以使所述虚拟机载入所述Android PC系统虚拟机镜像安装得到Android虚拟机;
所述任务服务器还用于打开虚拟机在本地主机上的端口映射,其中所述守护联络程序通过Android调试桥adb对所述Android虚拟机进行控制;
所述消息服务器还用于将所述Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,存储Android虚拟机和虚拟机队列之间的对应关系。
上述Android系统网络集群,通过虚拟机安装指令和Android PC系统虚拟机镜像在任务服务器上部署Android虚拟机,且不同的Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,通过消息服务器与任务服务器形成的集群,可在下发任务时指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
附图说明
图1为一个实施例中Android系统网络集群搭建的方法、Android系统网络集群数据处理的方法的应用环境图;
图2为一个实施例中Android系统网络集群搭建的方法的流程图;
图3为一个实施例中将Android虚拟机归入虚拟机队列的流程图;
图4为一个实施例中Android系统网络集群数据处理的方法的流程图;
图5为一个实施例中通过通用操作adb命令接口执行任务的流程图;
图6为一个实施例中通用操作adb命令数据结构示意图;
图7为一个实施例中Android系统网络集群数据处理的系统的结构框图;
图8为一个实施例中任务执行模块的结构框图;
图9为另一个实施例中Android系统网络集群数据处理的系统的结构框图;
图10为一个实施例中Android系统网络集群的结构框图。
具体实施方式
图1为一个实施例中Android系统网络集群搭建的方法、Android系统网络集群数据处理的方法运行的应用环境图。如图1所示,该应用环境包括终端110、消息服务器120和任务服务器130,任务服务器130包括多个节点,包括节点131、……节点13n,其中终端110、消息服务器120、任务服务器130可以通过网络进行通信。每个任务服务器节点上可部署一个或多个Android虚拟机,不同的Android虚拟机归入不同的虚拟机队列,包括第一虚拟机队列141、第二虚拟机队列142……第m虚拟机队列14m。
终端110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。通过在任务服务器130安装虚拟机和载入Android PC(personal computer,个人计算机)系统虚拟机镜像,如Android x86系统虚拟机镜像,形成Android虚拟机,任务服务器130和消息服务器120组成Android系统网络集群,其中消息服务器120可为AMQP(Advanced MessageQueuing Protocol,高级消息队列协议)服务器,如RabbitMQ消息服务器。消息服务器120可根据终端110的任务请求获取对应的目标虚拟机队列,从而将任务请求发送至目标虚拟机队列对应的目标Android虚拟机。
在一个实施例中,如图2所示,提供了一种Android系统网络集群搭建的方法,以搭建上述应用环境,包括如下步骤:
步骤S210,任务服务器接收虚拟机安装指令,根据虚拟机安装指令安装虚拟机,虚拟机有对应的守护联络程序。
具体的,任务服务器用于部署虚拟机,执行针对虚拟机的任务,包括调度执行维护等。一个服务器上可部署一个或多个虚拟机。虚拟机安装指令用于安装虚拟机,根据虚拟机安装指令的不同,可安装不同类型的虚拟机。安装的虚拟机是可定制处理流程的虚拟机。如可在Win或Linux系统上安装VirtualBox虚拟机。VirtualBox是一款开源虚拟机软件,正是由于其开源性,可以对其进行修改实现可定制的虚拟机处理流程。虚拟机有对应的守护联络程序,守护联络程序是为虚拟机提供支持服务的程序,用于接收消息服务器发送的虚拟机操作消息,以及维护、启动虚拟机等。如每个VirtualBox虚拟机对应一个Python编写的守护联络程序。
步骤S220,虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,载入Android PC系统虚拟机镜像安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中守护联络程序通过Android调试桥adb(Android Debug Bridge)对Android虚拟机进行控制。
具体的,消息服务器用于接收下发的任务,并将任务转发给对应的虚拟机队列。消息服务器可为AMQP协议服务器,AMQP网络协议支持符合要求的客户端应用和消息中间件代理之间进行通信,不受客户端和中间件不同产品,不同的开发语言等条件的限制,通过AMQP协议服务器可接受不同设备发送的任务,通过AMQP交换机将任务路由到对应的虚拟机队列。
在一个实施例中,消息服务器为RabbitMQ消息服务器,RabbitMQ消息服务器是支持AMQP协议的消息服务器或叫中间件,应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。
Android PC系统虚拟机镜像可为使用Android PC安装光盘安装到虚拟机然后导出的镜像,直接在虚拟机载入就能运行,用于提供运行于x86或其它指令集的PC上的Android操作系统。如把Android x86系统虚拟机镜像载入安装到一个VirtualBox上新建的虚拟机,即可安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,使得守护联络程序可以通过Android调试桥adb对Android虚拟机进行控制,通过adb可方便的对Android虚拟机进行控制和调试。
在一个实施例中,在Android x86系统虚拟机镜像添加Arm代码二进制转换模块,使得同时支持Arm和X86两个架构的APK文件。
步骤S230,将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系。
具体的,虚拟机队列类型标识用于区分不同类型的虚拟机队列,不同类型的虚拟机队列可具有不同的计算处理能力,虚拟机队列类型标识可根据需要自定义,如“快速验证”、“常规验证”等。可根据虚拟机所在的服务器的硬件属性信息、工作状态信息等将虚拟机划分至不同的虚拟机队列。如图1中的虚拟机1属于第一虚拟机队列,虚拟机2-4属于第二虚拟机队列等。在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,从而可根据虚拟机队列类型标识获取对应的目标虚拟机队列,根据对应关系获取目标虚拟机队列对应的Android虚拟机。从而在下发任务时,可指定虚拟机队列,而不是随机选择虚拟机,提高了Android系统网络集群对任务下发的控制能力。
本实施例中,通过任务服务器接收虚拟机安装指令,根据虚拟机安装指令安装虚拟机,虚拟机有对应的守护联络程序,虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,载入Android PC系统虚拟机镜像安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中守护联络程序通过Android调试桥adb对Android虚拟机进行控制,将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,通过消息服务器和任务服务器的配合,搭建的Android系统网络集群,在消息服务器中存储了Android虚拟机和虚拟机队列之间的对应关系,在下发任务时,可指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
在一个实施例中,如图3所示,步骤S230中将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列的步骤包括:
步骤S231,建立预设虚拟机队列类型标识对应的虚拟机队列,获取任务服务器的相关信息,相关信息包括硬件属性信息、工作状态信息中的至少一种。
具体的,预设虚拟机队列类型标识可根据需要自定义,硬件属性信息包括内存、磁盘空间、cpu核数等,工作状态信息包括负载量、可用内存等,可以虚拟机为最小单元获取每个虚拟机的工作状态信息,从而将各个虚拟机划分到不同的虚拟机队列。同一个任务服务器的虚拟机可根据工作状态信息的不同,划分到不同的虚拟机队列。
步骤S232,根据相关信息确定任务服务器中Android虚拟机对应的目标虚拟机队列类型标识,将Android虚拟机归入与目标虚拟机队列类型标识一致的虚拟机队列。
具体的,划分的规则可根据需要自定义,可以根据不同业务、负载均衡等原则进行划分。如负载量小于预设阈值的第一虚拟机划对应的目标虚拟机队列类型标识为“快速验证”、负载量大于预设阈值的第二虚拟机划对应的目标虚拟机队列类型标识为“常规验证”,从而将第一虚拟机归入“快速验证”对应的第一虚拟机队列,将第二虚拟机归入“常规验证”对应的第二虚拟机队列。
本实施例中,通过预设规则将虚拟机归入不同的虚拟机队列,便于下发任务时有针对性的下发到指定的虚拟机队列,提高了资源的利用率,提高Android系统网络集群对任务下发的控制能力。
在一个实施例中,如图4所示,提供了一种Android系统网络集群数据处理的方法,包括:
步骤S310,消息服务器接收携带虚拟机队列类型标识的任务请求,根据虚拟机队列类型标识获取对应的目标虚拟机队列。
具体的,在接收任务请求之前,已经为不同的虚拟机队列设置了不同的虚拟机队列类型标识,虚拟机队列类型标识用于区分不同类型的虚拟机队列,不同类型的虚拟机队列可具有不同的计算处理能力,虚拟机队列类型标识可根据需要自定义,如“快速验证”、“常规验证”等。可根据虚拟机所在的服务器的硬件属性信息、工作状态信息等将虚拟机划分至不同的虚拟机队列。获取任务请求中携带的虚拟机队列类型标识对应的目标虚拟机队列,如虚拟机队列类型标识为“快速验证”,则目标虚拟机队列为标签为“快速验证”的虚拟机队列。通过虚拟机队列类型标识,可有针对性的下发不同的任务到合适的虚拟机队列,而不是随机选择虚拟机,提高了资源利用率,提高了Android系统网络集群对任务下发的控制能力。
步骤S320,消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序。
具体的,在消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,从而可根据对应关系获取目标虚拟机队列对应的Android虚拟机。在下发任务时,只有目标虚拟机队列中的虚拟机才会接收到任务。目标虚拟机队列中的虚拟机不会直接接收到任务请求,任务请求会先发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序。目标虚拟机队列中如果存在多个Android虚拟机,则可根据业务或负载均衡的原因获取其中一个虚拟机为目标Android虚拟机,如获取负载量小的虚拟机为目标Android虚拟机。
步骤S330,守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,执行任务请求对应的任务。
具体的,每个虚拟机都有对应的守护联络程序,守护联络程序是为虚拟机提供支持服务的程序,用于接收消息服务器发送的虚拟机操作消息,以及维护、启动虚拟机等。守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,再由目标Android虚拟机执行任务请求对应的任务。通过adb命令可方便的对Android虚拟机进行控制和调试,adb命令有预设的格式,也可对adb命令对应的接口函数进行修改和封装,从而可通过简化的adb命令发送任务请求。
本实施例中,通过消息服务器接收携带虚拟机队列类型标识的任务请求,根据虚拟机队列类型标识获取对应的目标虚拟机队列,消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序,守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,执行任务请求对应的任务,在下发任务请求时通过携带虚拟机队列类型标识可指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
在一个实施例中,步骤S330包括:获取与任务请求对应的封装的通用操作adb命令接口,通过通用操作adb命令接口执行任务请求对应的任务。
具体的,封装的通用操作adb命令接口,可在初始化时自动获取adb命令所需的参数,减少了命令行参数个数,使得对虚拟机的任务下发更简单方便,封装的通用操作adb命令接口可处理各种控制命令,如重启虚拟机、检测虚拟机是否在线和稳定等,从而执行不同的任务。如检测虚拟机是否在线和稳定在没有封装通用操作adb命令接口时,需要大量的多个命令配合完成,而通过通用操作adb命令接口,只需要调用一条命令接口就可完成,如在一个具体的实施例中,操作adb命令数据结构为Pipes类,通过调用Pipes.device_tcp_online_check()完成检测虚拟机是否在线和稳定。
在一个实施例中,如图5所示,通过通用操作adb命令接口执行任务请求对应的任务的步骤包括:
步骤S331,获取目标Android虚拟机标识,根据目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例。
具体的,目标Android虚拟机标识用于标识目标Android虚拟机,在下发任务时,根据信息服务器发送到的守护联络程序确定与之一一对应的目标Android虚拟机,从而得到目标Android虚拟机标识。根据目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例。如获取目标Android虚拟机标识device_id,使用device_id填充通用操作adb命令数据结构Pieps类中对应的参数得到通用操作adb命令实例Pieps。操作adb命令实例Pieps中的各个通用操作adb命令接口都可以使用已经填充过数据的参数。
步骤S332,根据通用操作adb命令实例调用通用操作adb命令接口执行任务请求对应的任务。
具体的,根据通用操作adb命令实例调用通用操作adb命令接口时,未知参数已经在步骤S331中进行了填充,从而调用时不需要传入多个参数,简单方便。如重启虚拟机传统的adb命令接口为subprocess.check_call([‘adb’,‘-s’,‘device_id’,‘reboot’]),通用操作adb命令接口为pipes.adb_command_spec(‘reboot’),集群自动填充device_id,简单方便。在一个具体的实施例中,如图6所示为通用操作adb命令数据结构pipes示意图,pipes中包括了多个通用操作adb命令接口。
在一个实施例中,方法还包括:通过消息服务器控制Android系统网络集群进行集群快照、热备份、快速还原中的至少一种。
具体的,集群快照指把当前的系统状态做备份,随时还原,热备份是系统处于正常运转状态下的备份,快速还原是指快速的将系统恢复到原先的状态和设置,通过信息服务器能统一控制,解决了官方虚拟机无法实现集群快照、热备份、快速还原功能的问题。
在一个实施例中,如图7所示,提供了一种Android系统网络集群数据处理的系统,包括:
目标虚拟机队列获取模块410,用于通过消息服务器接收携带虚拟机队列类型标识的任务请求,根据虚拟机队列类型标识获取对应的目标虚拟机队列。
第一发送模块420,用于通过消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序。
任务执行模块430,用于守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,执行任务请求对应的任务。
在一个实施例中,如图8所示,任务执行模块430包括:
获取单元431,用于获取与所述任务请求对应的封装的通用操作adb命令接口。
执行单元432,用于通过通用操作adb命令接口执行所述任务请求对应的任务。
在一个实施例中,执行单元432还用于获取目标Android虚拟机标识,根据目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例,根据通用操作adb命令实例调用通用操作adb命令接口执行任务请求对应的任务。
在一个实施例中,如图9所示,系统还包括:
系统容错模块440,用于通过消息服务器控制Android系统网络集群进行集群快照、热备份、快速还原中的至少一种。
在一个实施例中,如图10所示,提供了一种Android系统网络集群,包括:
任务服务器510,用于接收虚拟机安装指令,根据虚拟机安装指令安装虚拟机,虚拟机有对应的守护联络程序。
消息服务器520,用于发送Android PC系统虚拟机镜像至所述虚拟机,以使虚拟机载入Android PC系统虚拟机镜像安装得到Android虚拟机。
任务服务器510还用于打开虚拟机在本地主机上的端口映射,其中守护联络程序通过Android调试桥adb对Android虚拟机进行控制。
消息服务器520还用于将Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,存储Android虚拟机和虚拟机队列之间的对应关系。
本实施例中,任务服务器510可为一个或多个,通过虚拟机安装指令和Android PC系统虚拟机镜像在任务服务器510上部署Android虚拟机,且不同的Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,消息服务器520存储Android虚拟机和虚拟机队列之间的对应关系,通过消息服务器520与任务服务器510形成的集群,可在下发任务时指定虚拟机队列,而不是随机选择虚拟机,且采用adb对Android虚拟机进行控制,控制灵活方便,提高了Android系统网络集群对任务下发和任务执行的控制能力。
在一个实施例中,消息服务器520为RabbitMQ消息服务器。
在一个实施例中,消息服务器520还用于接收携带虚拟机队列类型标识的任务请求,根据虚拟机队列类型标识获取对应的目标虚拟机队列,获取存储的Android虚拟机和虚拟机队列之间的对应关系,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机的守护联络程序。
任务服务器510还用于根据守护联络程序通过Android调试桥adb将任务请求发送至对应的目标Android虚拟机,执行任务请求对应的任务。
在一个实施例中,任务服务器510还用于获取与任务请求对应的封装的通用操作adb命令接口,通过通用操作adb命令接口执行任务请求对应的任务。
在一个实施例中,任务服务器还用于获取目标Android虚拟机标识,根据目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例,根据通用操作adb命令实例调用通用操作adb命令接口执行任务请求对应的任务。
在一个实施例中,消息服务器还用于控制Android系统网络集群进行集群快照、热备份、快速还原中的至少一种。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种Android系统网络集群搭建的方法,所述方法包括:
任务服务器接收虚拟机安装指令,根据所述虚拟机安装指令安装虚拟机,所述虚拟机有对应的守护联络程序;
所述虚拟机接收消息服务器发送的Android PC系统虚拟机镜像,载入所述Android PC系统虚拟机镜像安装得到Android虚拟机,打开虚拟机在本地主机上的端口映射,其中所述守护联络程序通过Android调试桥adb对所述Android虚拟机进行控制;
将所述Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,在所述消息服务器存储Android虚拟机和虚拟机队列之间的对应关系,所述消息服务器根据终端的携带虚拟机队列类型标识的任务请求获取对应的目标虚拟机队列,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机为VirtualBox虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述消息服务器为RabbitMQ消息服务器。
4.根据权利要求1所述的方法,其特征在于,所述将所述Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列的步骤包括:
建立预设虚拟机队列类型标识对应的虚拟机队列;
获取任务服务器的相关信息,所述相关信息包括硬件属性信息、工作状态信息中的至少一种;
根据所述相关信息确定所述任务服务器中Android虚拟机对应的目标虚拟机队列类型标识,将Android虚拟机归入与目标虚拟机队列类型标识一致的虚拟机队列。
5.一种Android系统网络集群数据处理的方法,所述方法包括:
消息服务器接收终端发送的携带虚拟机队列类型标识的任务请求,根据所述虚拟机队列类型标识获取对应的目标虚拟机队列;
所述消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将所述任务请求发送至所述目标虚拟机队列对应的目标Android虚拟机的守护联络程序;
任务服务器根据所述守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务。
6.根据权利要求5所述的方法,其特征在于,所述守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务的步骤包括:
获取与所述任务请求对应的封装的通用操作adb命令接口;
通过所述通用操作adb命令接口执行所述任务请求对应的任务。
7.根据权利要求6所述的方法,其特征在于,所述通过所述通用操作adb命令接口执行所述任务请求对应的任务的步骤包括:
获取目标Android虚拟机标识,根据所述目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例;
根据所述通用操作adb命令实例调用所述通用操作adb命令接口执行所述任务请求对应的任务。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过所述消息服务器控制所述Android系统网络集群进行集群快照、热备份、快速还原中的至少一种。
9.一种Android系统网络集群数据处理的系统,其特征在于,所述系统包括:
目标虚拟机队列获取模块,用于通过消息服务器接收终端发送的携带虚拟机队列类型标识的任务请求,根据所述虚拟机队列类型标识获取对应的目标虚拟机队列;
第一发送模块,用于通过所述消息服务器获取存储的Android虚拟机和虚拟机队列之间的对应关系,将所述任务请求发送至所述目标虚拟机队列对应的目标Android虚拟机的守护联络程序;
任务执行模块,用于任务服务器根据所述守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务。
10.一种Android系统网络集群,其特征在于,所述集群包括:
任务服务器,用于接收虚拟机安装指令,根据所述虚拟机安装指令安装虚拟机,所述虚拟机有对应的守护联络程序;
消息服务器,用于发送Android PC系统虚拟机镜像至所述虚拟机,以使所述虚拟机载入所述Android PC系统虚拟机镜像安装得到Android虚拟机;
所述任务服务器还用于打开虚拟机在本地主机上的端口映射,其中所述守护联络程序通过Android调试桥adb对所述Android虚拟机进行控制;
所述消息服务器还用于将所述Android虚拟机归入不同的携带虚拟机队列类型标识的虚拟机队列,存储Android虚拟机和虚拟机队列之间的对应关系,根据终端的携带虚拟机队列类型标识的任务请求获取对应的目标虚拟机队列,将任务请求发送至目标虚拟机队列对应的目标Android虚拟机。
11.根据权利要求10所述的集群,其特征在于,所述消息服务器还用于接收携带虚拟机队列类型标识的任务请求,根据所述虚拟机队列类型标识获取对应的目标虚拟机队列,获取存储的Android虚拟机和虚拟机队列之间的对应关系,将所述任务请求发送至所述目标虚拟机队列对应的目标Android虚拟机的守护联络程序;
所述任务服务器还用于根据守护联络程序通过Android调试桥adb将所述任务请求发送至对应的目标Android虚拟机,执行所述任务请求对应的任务。
12.根据权利要求10所述的集群,其特征在于,所述任务服务器还用于获取与所述任务请求对应的封装的通用操作adb命令接口,通过所述通用操作adb命令接口执行所述任务请求对应的任务。
13.根据权利要求12所述的集群,其特征在于,所述任务服务器还用于获取目标Android虚拟机标识,根据所述目标Android虚拟机标识初始化通用操作adb命令数据结构得到通用操作adb命令实例,根据所述通用操作adb命令实例调用所述通用操作adb命令接口执行所述任务请求对应的任务。
14.根据权利要求10所述的集群,其特征在于,所述消息服务器还用于控制所述Android系统网络集群进行集群快照、热备份、快速还原中的至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610629818.9A CN107688479B (zh) | 2016-08-03 | 2016-08-03 | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610629818.9A CN107688479B (zh) | 2016-08-03 | 2016-08-03 | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688479A CN107688479A (zh) | 2018-02-13 |
CN107688479B true CN107688479B (zh) | 2021-05-28 |
Family
ID=61151361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610629818.9A Active CN107688479B (zh) | 2016-08-03 | 2016-08-03 | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688479B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115964118A (zh) * | 2021-10-13 | 2023-04-14 | 中兴通讯股份有限公司 | Vnf实例生成方法、vnf蓝图生成方法、nfvo及存储介质 |
CN115794313B (zh) * | 2022-12-26 | 2024-04-09 | 科东(广州)软件科技有限公司 | 一种虚拟机调试方法、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654836A (zh) * | 2011-03-01 | 2012-09-05 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机安装系统及方法 |
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
CN103345406A (zh) * | 2013-06-21 | 2013-10-09 | 中国科学院深圳先进技术研究院 | 一种实现智能移动终端的云端虚拟移动终端的系统和方法 |
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460112B2 (en) * | 2014-02-07 | 2019-10-29 | Northwestern University | System and method for privacy leakage detection and prevention system without operating system modification |
-
2016
- 2016-08-03 CN CN201610629818.9A patent/CN107688479B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654836A (zh) * | 2011-03-01 | 2012-09-05 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机安装系统及方法 |
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
CN103345406A (zh) * | 2013-06-21 | 2013-10-09 | 中国科学院深圳先进技术研究院 | 一种实现智能移动终端的云端虚拟移动终端的系统和方法 |
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107688479A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3479224B1 (en) | Memory allocation techniques at partially-offloaded virtualization managers | |
CN106598655B (zh) | 应用程序页面处理方法和装置 | |
CN106970810B (zh) | 固件烧录方法和系统 | |
US10402216B1 (en) | Live support integration in a virtual machine based development environment | |
CN109168328B (zh) | 虚拟机迁移的方法、装置和虚拟化系统 | |
US11099915B2 (en) | Optimizing startup time for event-driven functions | |
CN107368353B (zh) | 一种实现虚拟机内存热添加的方法和装置 | |
CN114721719B (zh) | 一种在集群中容器化部署异构应用的方法和系统 | |
CN111669284A (zh) | OpenStack自动化部署方法、电子设备、存储介质及系统 | |
CN106776064B (zh) | 多系统中管理日志的方法及装置 | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
CN113849272A (zh) | 在虚拟机中添加gpu资源的方法及装置 | |
CN107688479B (zh) | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 | |
CN110968392B (zh) | 一种升级虚拟化模拟器的方法和装置 | |
CN114968776A (zh) | 一种应用程序的检测方法和装置 | |
CN112154417A (zh) | 经由仿真网络通信信道在应用的单机版本和基于Web的版本之间共享代码库 | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
CN111382012B (zh) | MySQL云数据库的备份方法、装置、计算机设备和存储介质 | |
CN113242309A (zh) | 云计算方法、系统、设备和介质 | |
CN116185571B (zh) | 数据迁移方法、设备、存储介质及装置 | |
JP6859463B2 (ja) | 仮想マシンを起動させるための方法、装置、デバイス及び媒体 | |
CN112214413A (zh) | 一种应用程序的测试方法、装置、设备及存储介质 | |
CN106330595B (zh) | 分布式平台的心跳检测方法和装置 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN116225541A (zh) | 一种带内cpu与带外管理bmc通信的方法及通信系统 |
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 |