一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于影子进程实现安卓应用分布式能力的方法及系统与流程

2022-11-28 10:10:38 来源:中国专利 TAG:


1.本发明涉及安卓应用开发技术领域,具体涉及一种基于影子进程实现安卓应用分布式能力的方法。


背景技术:

2.openharmony作为一个新兴的操作系统,具备很多领先的技术特性,如分布式能力;在物联网高速发展的大背景下,这一特性可以给物联网场景提供强大的创新能力。如分布式任务调度能力,可以支持跨设备的应用启动、远程调用、应用迁移等功能,实现跨设备的资源共享,算力融合等功能体验,大幅降低物联网应用的创新成本,促进“万物互联”的快速到来。
3.然而,openharmony也存在其致命的弱点,即作为一款新的操作系统,其生态应用严重不足,装机量较小;另一方面,android作为主流的操作系统,其生态应用丰富,装机量巨大;如果能将提供一种技术实现android与openharmony的融合,并赋予android应用分布式能力,则可以大幅提高openharmony与android生态的融合性,促进“万物互联”的快速到来。
4.为了实现系统融合,通常会实现android应用兼容层,而兼容层通常会采用隔离技术,如容器或者虚拟化技术。如图1所示,当android应用及兼容层被隔离到起来后,android应用则无法直接访问宿主系统openharmony的分布式特性,从而无法具备分布式能力。


技术实现要素:

5.发明目的:本发明目的在于针对现有技术的不足,提供一种基于影子进程实现安卓应用分布式能力的方法及系统,在android与openharmony的融合系统上,解决为android应用提供openharmony的分布式能力这一技术难题,使得android应用可以跨设备访问远端设备的硬件资源。
6.技术方案:本发明所述基于影子进程实现安卓应用分布式能力的方法,包括如下步骤:s1、创建影子进程:启动融合系统,获取用户启动android应用的请求,对应创建一个影子进程,将android应用与影子进程的映射关系注册到资源共享桥,影子进程通过openharmory的分布式组件获取远端设备的资源信息并注册至资源共享桥,android应用访问资源共享桥获取与其对应影子进程注册的远端设备的资源信息;s2、获取数据:影子进程调用分布式组件接收远端设备发送的数据,将接收的数据注入资源共享桥,android应用访问资源共享桥获取影子进程注入的数据;s3、发送数据:android应用将数据发送至资源共享桥,影子进程访问资源共享桥读取android应用发送的数据,再通过分布式组件发送至远端设备。
7.进一步完善上述技术方案,还包括获取注销影子进程,获取用户注销影子进程的请求,注销android应用与影子进程之间的映射,断开影子进程通过资源共享桥与android
应用之间的通信。
8.进一步地,所述融合系统包括宿主系统和客户系统,宿主系统为openharmony系统,客户系统为android系统,所述android系统采用容器隔离技术实现android应用兼容层以运行所述android应用。
9.用于实现上述基于影子进程实现安卓应用分布式能力的方法的系统,包括:影子进程管理器,用于获取android应用的启动请求,创建与android应用对应的影子进程,将android应用与影子进程的映射关系注册到资源共享桥;影子进程,与所述android应用一一对应,能够通过openharmory的分布式组件获取远端设备的资源信息并注册至共享资源桥;以及资源共享桥,连接所述影子进程与android应用之间,供所述android应用读取所述影子进程注册的远端设备的资源信息,以进行分布式数据传输。
10.进一步地,所述影子进程管理器用于影子进程的生命周期管理,包括影子进程的创建、注销、状态管理和查询。
11.进一步地,所述分布式数据传输是指:所述影子进程从资源共享桥获取android应用发送的数据,并通过分布式组件发送到远端设备;以及从分布式组件获得远端设备的数据并通过资源共享桥传输至android应用。
12.进一步地,所述资源共享桥提供如下接口:register_sp、unregister_sp、push_device_list、get_device_list、push_remote_data、get_remote_data、pop_remote_data、send_remote_data;所述影子进程管理器调用所述register_sp、unregister_sp接口分别进行影子进程与android应用映射关系的注册和注销;所述影子进程调用push_device_list接口将通过openharmory的分布式组件获取远端设备的资源信息进行封装后注册至资源共享桥,所述android应用调用get_device_list接口获取与其对应影子进程注册至资源共享桥中远端设备的资源信息;所述影子进程调用push_remote_data接口将通过分布式组件接收的远端设备数据注入到共享资源桥,所述android应用调用get_remote_data接口获取与其对应影子进程注入至资源共享桥上的远端设备数据;所述android应用调用send_remote_data接口将android数据发送至资源共享桥,所述影子进程调用pop_remote_data接口读取所述android数据并通过分布式组件发送至远端设备。
13.有益效果:与现有技术相比,本发明的优点在于:本发明解决了基于容器隔离技术实现android应用兼容层的条件下,如何赋予android应用的分布式能力,并实现与远端openharmony设备的分布式通信。本发明不需要对android应用进行改造和侵入式的修改,具备极大的扩展性,可以适配各个版本的android系统,从而促进android和openharmony在物联网场景的互联融合。
附图说明
14.图1是现有融合系统的架构示意图;图2是本发明基于影子进程实现安卓应用分布式能力的方法的架构示意图;图3是本发明基于影子进程实现安卓应用分布式能力的方法的流程图。
具体实施方式
15.下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于
所述实施例。
16.系统融合是将多个操作系统同时运行在一个硬件上,反之“融合系统”则指经过“系统融合”后同时运行在一个硬件上的多个系统。在系统融合的情况下,通常存在一个主系统,该主系统能够获得所有的资源访问权,该系统成为宿主系统;而其他的系统则需要依赖宿主系统提供的接口进行资源的访问,这些系统成为客户系统或者从系统。
17.本发明中openharmony是宿主系统,android是客户系统,兼容层是一种系统融合技术,该兼容层运行在openharmony之上,实现android应用运行于openharmony之上。android应用兼容层为了保证安全性和一致性,会采用隔离技术,如容器或者虚拟化技术。分布式特性,它是openharmony上的一个独有特性,可以实现应用在不同设备间的分布式流转等功能。
18.本发明通过设计影子进程和资源共享桥来实现赋予android应用的分布式能力,其架构如图2所示,包括影子进程、影子进程管理器、android应用、资源共享桥。
19.影子进程与资源共享桥的作用如下:影子进程和android应用是一一对应的关系,当系统每启动一个android应用时,即会为该android应用创建一个android进程,这个进程被隔离在兼容层的空间内。同时系统会在宿主系统侧创建一个对应的影子进程,该进程由于直接运行在宿主系统侧,所以被视为openharmony的原生应用,可以访问直接分布式组件;所以,影子进程可以通过分布式组件访问远端设备的硬件资源。
20.影子进程管理器用于影子进程的生命周期管理,如影子进程的创建、注销、状态管理、查询等功能。比如,当融合系统启动一个android应用时,会通知影子进程管理器,由其创建影子进程,它还负责将影子进程与android应用的映射关系注册到资源共享桥,保证影子进程与android应用的一一对应关系。
21.资源共享桥负责连接android应用于影子进程,当影子进程通过分布式组件获得远端设备的硬件资源的访问权限后,则会在资源共享桥上注册该设备;此后,android应用则可以从资源共享桥上发现给设备,并像访问本地设备一样对该设备进行操作。
22.表格 资源共享桥的接口表

如图3所示,android应用实现分布式能力的调用流程如下:1、启动资源共享桥当融合系统启动后,即宿主系统与客户系统都启动后,自动启动资源共享桥。资源共享桥在宿主系统(openharmony)侧提供若干接口,影子进程可以调用这些接口,将从分布式组件中获取到的远端设备资源注册到共享资源桥上。另一方面,它还在客户系统(android)侧提供若干接口,android应用可以通过调用这些接口获取远端设备的设备信息,也可以与远端设备进行分布式数据通信等。
23.2、启动影子进程管理器在资源共享桥启动完成后,系统启动影子进程管理器。
24.3、启动一个android应用用户启动一个android应用时,系统会通知影子进程管理器,在android应用启动成功后,创建一个影子进程,创建过程调用openharmony的标准接口完成,影子进程运行于后台。当影子进程创建完成后,影子进程管理器调用register_sp接口将影子进程与android应用的映射关系注册到资源共享桥。
25.4、通过分布式组件获取远端设备资源
影子进程通过openharmony的分布式组件获得远端设备的资源信息,并将远端设备的资源信息注册到资源共享桥。
26.5、android应用获得分布式能力android应用从资源共享桥中读取影子进程注册的远端设备的资源信息,并调用共享资源桥的接口获取或者发送数据。
27.6、通过影子进程与远端设备实现分布式数据传输影子进程从共享资源桥获取android应用发送的数据,并通过分布式组件发送到远端设备。同样的,可以从分布式组件获得远端设备的数据并通过共享资源桥传递给android应用。
28.本发明为android应用提供一个通用的分布式能力,并实现与远端openharmony设备的分布式通信。本发明不需要对android应用进行改造和侵入式的修改,具备极大的扩展性,可以适配各个版本的android系统;从而促进android和openharmony在物联网场景的互联融合。
29.如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献