100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(2)——架构详解

简介:

移动测试的应用架构

作为一整个庞大的移动测试解决方案,MQC专有云系统内部包含了非常多的软硬件模块,整个系统紧密高效的互相连接稳定配合。从模块划分上来看,主要包括:用户交互平台、任务调度平台、移动终端控制系统、无线机房管理平台、自动化测试能力、中间件(数据库、缓存、文件存储)、无线机房硬件方案、专家支持服务。除了自动化测试能力,其他应用模块构成专有云基础服务。

专有云基础服务是专有云解决方案必须包含的一整套软硬件方案,是整个专有云系统的软硬件基础。基础服务里包含几个重要平台:用户交互平台、任务调度平台、移动终端控制系统、无线机房管理平台、中间件、无线机房硬件方案。

为了满足潜在的支撑容量需求(比如支持的机型数量需要增加、使用的用户增加、使用频度增加),基础服务所包含的平台都可以支持横向热扩展,并且扩展期间不会影响到原先整体服务的稳定性。整个系统在可扩展性上非常灵活,可以涵盖潜在的大部分扩展需求。这也是这个方案的核心优势之一。

1.用户交互平台

用户交互平台是企业内部用户使用各个测试功能的WEB入口,内部用户可以通过域名或者IP直接访问用户交互平台。该平台主要包含两类功能:面向普通用户的移动测试相关功能;面向管理员的配置管理功能。

普通用户可以通过用户交互平台使用专有云购买的所有服务,比如企业购买了Android兼容性测试能力,那么用户可以通过Android兼容性测试提测页面进行测试任务的提交、通过测试报告页查看完整的测试报告、通过App管理页和测试管理页管理自己提交的App和测试报告。

管理员可以通过用户交互平台完成对整个系统的管理,比如对特定用户增加黑名单,阻止其继续使用服务等功能。

总之,用户交互平台是基于Web提供给企业使用各项服务的窗口。

2. 任务调度平台

任务调度平台顾名思义是指整个系统的任务调度处理大脑。专有云系统所有的任务创建、任务调度分派、任务结果收集、设备状态管理、对外接口暴露都集中在任务调度平台上。

任务调度平台是以Web应用的方式部署在linux服务器上,对外只暴露出必要的HTTP API,例如创建测试任务接口。同时在安全性上有足够的保障,有一套严格的访问鉴权方案。

任务调度平台对接口的请求流量实现了负载均衡,对测试任务的调度也考虑了任务优先级以及任务的执行情况,保障测试任务高效,有序地分发、执行。

3. 移动终端控制系统

移动终端控制系统是控制终端设备的枢纽,承载着移动终端设备接入、测试程序的执行的作用。

移动终端设备的接入:一个移动终端控制系统可以同时接入多个、多种移动终端设备,多个移动终端控制系统组成分布式移动终端测试执行体系。移动终端控制系统是直接对移动终端发送指令,并直接从移动终端获取数据的系统,它负责对移动终端进行直接的控制、命令下达以及数据采集。不仅如此,移动终端控制系统还负责维护移动终端的生命周期,对移动终端的健康程度进行维护(比如清理移动终端的垃圾数据),以及对移动终端的在线情况进行监控。

测试程序的执行:测试程序的真正执行发生在移动终端控制系统,移动终端控制系统负责接收任务调度平台的指令,对所接入的指定终端执行测试程序,并对测试结果数据进行反馈。不同移动终端的测试程序环境相互隔离,互不干扰。

4. 无线机房管理

由于移动终端种类繁多,数量庞大,对这些移动终端的统一管理是一个很繁重的工作。无线机房管理平台就是为了方便对无线终端、以及其他支持设备的统一管理。功能包括终端数据录入、终端在线情况监控、终端在线运维工具、工单系统、借用功能。

终端数据录入:好比图书馆对海量图书进行分门别类,以书架为单位进行管理,每个书架都有编号,每本图书也有位置编号。无线机房管理平台也支持对海量移动终端进行统一编号管理,以机架机房为单元,每个移动终端都会由唯一的位置标号。方便对特定终端进行搜寻。系统支持录入每台移动终端的基本数据(如系统版本、CPU型号等),方便按特定条件进行分组管理。

终端在线情况监控:移动终端存在较大的不稳定因素,长期在线运行也容易发生一些系统或硬件故障,从而引发掉线。系统支持对所有接入的移动终端的在线情况进行监控,通过监控大盘,可以直观感知当前所有移动终端的掉线率,移动终端一旦发生掉线或其他异常,会自动报警。

终端在线运维工具:系统提供一些基本的在线运维功能,如:关机、重启等。
运维工单系统:对设备的运维记录通过工单系统进行沉淀,通过工单系统,可以有秩序地对移动终端进行运维,方便查看终端的运维历史。
借用功能:对移动终端的外借及归还,都需要在系统中进行登记,并明确借用人及归还时间,确保移动终端不及发生丢失的情况。

5.数据库、缓存、对象存储

MQC使用了一些中间件/存储软件以确保系统能高效稳定地运行。
结构化持久存储:系统使用了Mysql实现结构化持久存储,主备库的配置可以保证数据库高性能、高可用。

数据缓存:系统使用了Redis来实现数据缓存,通过数据缓存机制的加入,大大提高了系统性能,降低了持久存储的IO压力。

对象存储:在分布式场景下,需要对非结构化数据进行统一存储和高效地读写。对于MQC专有云,需要存储移动应用安装包数据、测试结果数据、测试脚本数据。系统采用了对象存储方案,不仅满足分布式文件存储需求,也大大提高了读写效率,对数据安全性也有很大的保障。

6.无线机房硬件方案

移动测试机房不像传统服务器机房,对智能设备的的无人托管具有很高的要求。MQC以多年的生产实践经验,打造出一套适用于托管智能设备的硬件产品:YUN-BOX(云盒) 。云盒可以给智能设备提供稳定的电源供应、网络环境、安全保障,是智能设备接入云服务的载体,具有低成本,高可靠,安全性高的特点。每个云盒都是管理智能终端的最小单元,多个云盒之间可以完美堆叠,可以灵活适应各种复杂的机房环境以及各种规模的智能终端接入。

_

更多移动测试专有云的详解续集,请继续关注哦~~
第一篇 移动测试专有云介绍
第三篇 专有云测试内容详解
第四篇 客户案例和总结
更多精彩内容,请看下回分解~

联系我们:
 网站地址:https://mqc.aliyun.com
客服邮箱:mqc_group@service.alibaba.com;
更多精彩技术分享 欢迎关注 MQC公众号

_

目录
相关文章
|
12天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
5天前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
110 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
29天前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
11天前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
|
18天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
40 1
|
25天前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####
|
25天前
|
Cloud Native 持续交付 云计算
深入理解云原生技术及其在现代IT架构中的应用
在数字化浪潮的推动下,云原生技术已成为企业转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、优势以及如何在企业中实现云原生架构。我们将一起揭开云原生的神秘面纱,了解它如何助力企业快速适应市场变化,提升业务的灵活性和创新能力。
|
26天前
|
敏捷开发 缓存 中间件
.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素
本文深入探讨了.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素,并通过企业级应用和Web应用开发的实践案例,展示了如何在实际项目中应用这些模式,旨在为开发者提供有益的参考和指导。
23 3
|
26天前
|
Cloud Native 云计算 Docker
云原生技术的崛起:从容器化到微服务架构
云原生技术的崛起:从容器化到微服务架构
|
18天前
|
Cloud Native 持续交付 云计算
云原生技术在现代IT架构中的转型力量####
本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的关键作用与实践路径。通过具体案例分析,展示了云原生如何赋能企业实现更高效的资源利用、更快的迭代速度以及更强的系统稳定性,为读者提供了一套可借鉴的实施框架与策略。 ####
21 0