本发明专利技术公开一种基于云原生的大规模边缘安卓设备纳管系统及其纳管方法,纳管系统包括部署在云端的K8S Master、云端安卓应用部署资源控制器、云端元数据存储库、安卓应用apk存储库,以及部署在边端的边缘节点代理模块、安卓应用部署CRI运行时模块、边缘元数据存储库。本发明专利技术基于主流容器编排操作系统K8S,能够实现安卓设备大规模管理,跨地域接入,且能够实现应用远程部署升级。应用远程部署升级。应用远程部署升级。
【技术实现步骤摘要】
基于云原生的大规模边缘安卓设备纳管系统及其纳管方法
[0001]本专利技术涉及边缘计算和安卓设备交叉领域,具体涉及一种基于云原生的大规模边缘安卓设备纳管系统及其纳管方法。
技术介绍
[0002]随着5G时代的来临,物联网设备数量快速上升,而其中有大量的设备基于Android操作系统,例如车联网车载终端、智慧教室多媒体终端、自动贩卖机可视化终端等等。目前的安卓群控系统有如下几个特点:
[0003](1)旨在通过模拟用户操作而实现与安卓设备批量交互;
[0004](2)设备接入距离短,通过USB/WIFI实现电脑与安卓设备相联通;
[0005](3)设备连接规模小,至多为数十至一百台级别;
[0006](4)无法支持需要同步的复杂并行应用部署。
[0007]目前的大规模服务器节点通常采用Kubernetes技术。其中,Kubernetes是一个分布式集群,由管理节点(Master
‑
node)和节点(node)组成。Master
‑
node主要运行着应用程序编程接口服务器(application programming interface server,apiserver)、调度程序(scheduler)、控制器(controller)、存储器(etcd)等核心组件,node主要运行着kubelet,容器运行时等组件。Master
‑
node和node通过声明命令的方式进行交互完成对资源的管理。K8S作为一套主流的分布式容器编排管理系统,提供了普遍使用的例如复杂部署、扩展、负载均衡、日志记录、监控等方案。
[0008]但是目前接入K8S的大多为基于Linux系统的x86服务器。对于广泛服务于物联网的安卓设备,目前还未有一个成熟可用的K8S平台接入方案,这导致了成熟而强大的K8S调度管理能力无法复用到安卓设备群上。
技术实现思路
[0009]针对现有技术的不足,本专利技术公开一种基于云原生的大规模边缘安卓设备纳管系统及其纳管方法,
[0010]一种基于云原生的大规模边缘安卓设备纳管系统,该系统包括部署在云端的K8S Master、云端安卓应用部署资源控制器、云端元数据存储库、安卓应用apk存储库,以及部署在边端的边缘节点代理模块、安卓应用部署CRI运行时模块、边缘元数据存储库;
[0011]所述K8S Master用于处理用户创建部署安卓应用所需要的声明式数据,并将其存储在云端元数据存储库,供云端安卓应用部署资源控制器拉取;
[0012]所述云端安卓应用部署资源控制器用于控制边缘节点的接入,监控安卓应用部署资源数据并将其分发到不同的边缘节点的边缘元数据存储库;
[0013]所述安卓应用apk存储库用于存储用户上载的安卓应用apk,以供边缘节点拉取;
[0014]所述边缘节点代理模块通过云端安卓应用部署资源控制器接入k8s Master;根据边缘元数据存储库中的安卓应用部署资源数据运行相应的安卓应用,并确保实际运行状态
同声明状态一致,达到管控安卓设备上安卓应用的生命周期的目的;
[0015]所述安卓应用部署CRI运行时模块对接所述边缘节点代理模块,负责具体安卓设备adbd服务的调用,以执行边缘节点代理模块下发的安卓应用生命周期管控命令及安卓应用apk生命周期管控的命令;安卓应用apk生命周期管控命令包括通过调用安卓操作系统adbd服务从安卓应用apk存储库下载安卓应用apk,以及安卓应用apk的安装、卸载;
[0016]所述边缘元数据存储库用于持久化存储安卓应用部署资源数据,确保网络断连重启下,节点应用能恢复运行。
[0017]进一步地,所述安卓应用部署CRI运行时模块包括两大类线程;
[0018]一类为应用生命周期管理指令处理线程,负责将所述边缘节点代理模块发来的关于应用生命周期管理的指令解释成对应的adb指令,最终调用安卓操作系统adbd服务,完成安卓应用的生命周期管理操作;
[0019]一类为应用apk管理指令处理线程,负责将边缘节点代理模块发来的关于安卓应用apk管理指令解释成对应的adb命令,最终调用安卓操作系统adbd服务来完成安卓应用apk的管理。
[0020]一种基于云原生的大规模边缘安卓设备纳管方法,该方法包括如下步骤:
[0021]S1:云端部署K8S Master、云端安卓应用部署资源控制器、云端元数据存储库、安卓应用apk存储库,边缘安卓设备部署边缘节点代理模块、安卓应用部署CRI运行时模块、边缘元数据存储库;然后将边缘节点代理模块连接至云端安卓应用部署资源控制器,并将其注册进K8S Master,以节点类型存储在云端元数据存储库中;
[0022]S2:K8S Master接收用户创建的安卓应用部署资源数据,并将其存储至云端元数据存储库中,该声明包括安卓应用运行所期望的状态,以及安卓应用运行当前的状态;
[0023]S3:所述安卓应用部署资源数据的创建事件被云端安卓应用部署资源控制器所监测到,并将安卓应用部署资源数据分发到对应的边缘安卓设备;
[0024]S4:所述的边缘安卓设备上的边缘节点代理模块在接收到所述安卓应用部署资源数据后,首先将其持久化存储到边缘元数据存储库;
[0025]S5:所述边缘节点代理模块,根据云边网络状况,自动切换安卓应用部署资源数据的获取来源;在云端与边端网络良好时,边缘节点代理模块从云端安卓应用部署资源控制器获取安卓应用部署资源数据;在云端与边端网络断开时,边缘节点代理模块从边缘元数据存储库获取安卓应用部署资源数据;
[0026]S6:所述边缘节点代理模块根据获取的安卓应用部署资源数据和调用安卓应用CRI运行时模块获取的安卓应用实时状态数据,持久循环检测两者是否保持一致,如果不一致,则向安卓应用CRI运行时模块下发调控指令,所述安卓应用部署CRI运行时模块根据调控指令调用安卓操作系统adbd服务,从云端安卓应用apk存储库中下载安装apk,启动对应安卓应用,调整安卓应用的实时状态同声明状态一致;安卓应用部署CRI运行时模块实时更新所述安卓应用部署资源数据当前的状态,回传上报至云端。
[0027]本专利技术的有益效果如下:
[0028]本专利技术的基于云原生的大规模边缘安卓设备纳管系统及其纳管方法,基于主流容器编排操作系统K8S,能够实现安卓设备大规模管理,跨地域接入,且能够实现应用远程部署升级。
附图说明
[0029]图1为安卓设备纳管系统架构图;
[0030]图2为安卓应用CRI运行时模块设计图。
具体实施方式
[0031]下面根据附图和优选实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0032]如图1所示,本专利技术的基于云原生的大规模边缘安卓设备纳管系统,包括部署在云端的K8S Master、云端安卓应用部署资源本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于云原生的大规模边缘安卓设备纳管系统,其特征在于,该系统包括部署在云端的K8S Master、云端安卓应用部署资源控制器、云端元数据存储库、安卓应用apk存储库,以及部署在边端的边缘节点代理模块、安卓应用部署CRI运行时模块、边缘元数据存储库;所述K8S Master用于处理用户创建部署安卓应用所需要的声明式数据,并将其存储在云端元数据存储库,供云端安卓应用部署资源控制器拉取;所述云端安卓应用部署资源控制器用于控制边缘节点的接入,监控安卓应用部署资源数据并将其分发到不同的边缘节点的边缘元数据存储库;所述安卓应用apk存储库用于存储用户上载的安卓应用apk,以供边缘节点拉取;所述边缘节点代理模块通过云端安卓应用部署资源控制器接入k8s Master;根据边缘元数据存储库中的安卓应用部署资源数据运行相应的安卓应用,并确保实际运行状态同声明状态一致,达到管控安卓设备上安卓应用的生命周期的目的;所述安卓应用部署CRI运行时模块对接所述边缘节点代理模块,负责具体安卓设备adbd服务的调用,以执行边缘节点代理模块下发的安卓应用生命周期管控命令及安卓应用apk生命周期管控的命令;安卓应用apk生命周期管控命令包括通过调用安卓操作系统adbd服务从安卓应用apk存储库下载安卓应用apk,以及安卓应用apk的安装、卸载。所述边缘元数据存储库用于持久化存储安卓应用部署资源数据,确保网络断连重启下,节点应用能恢复运行。2.根据权利要求1所述的基于云原生的大规模边缘安卓设备纳管系统,其特征在于,所述安卓应用部署CRI运行时模块包括两大类线程;一类为应用生命周期管理指令处理线程,负责将所述边缘节点代理模块发来的关于应用生命周期管理的指令解释成对应的adb指令,最终调用安卓操作系统adbd服务,完成安卓应用的生命周期管理操作;一类为应用apk管理指令处理线程,负责将边缘节点代理模块发来的关于安卓应用apk管理指令解释...
【专利技术属性】
技术研发人员:龚哲,丁轶群,才振功,王翱宇,
申请(专利权)人:杭州谐云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。