本文作者:kaifamei

一種基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法及系統(tǒng)與流程

更新時(shí)間:2025-12-27 13:32:42 0條評(píng)論

一種基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法及系統(tǒng)與流程



1.本發(fā)明涉及安卓應(yīng)用開發(fā)技術(shù)領(lǐng)域,具體涉及一種基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法。


背景技術(shù):

2.openharmony作為一個(gè)新興的操作系統(tǒng),具備很多領(lǐng)先的技術(shù)特性,如分布式能力;在物聯(lián)網(wǎng)高速發(fā)展的大背景下,這一特性可以給物聯(lián)網(wǎng)場(chǎng)景提供強(qiáng)大的創(chuàng)新能力。如分布式任務(wù)調(diào)度能力,可以支持跨設(shè)備的應(yīng)用啟動(dòng)、遠(yuǎn)程調(diào)用、應(yīng)用遷移等功能,實(shí)現(xiàn)跨設(shè)備的資源共享,算力融合等功能體驗(yàn),大幅降低物聯(lián)網(wǎng)應(yīng)用的創(chuàng)新成本,促進(jìn)“萬物互聯(lián)”的快速到來。
3.然而,openharmony也存在其致命的弱點(diǎn),即作為一款新的操作系統(tǒng),其生態(tài)應(yīng)用嚴(yán)重不足,裝機(jī)量較?。涣硪环矫?,android作為主流的操作系統(tǒng),其生態(tài)應(yīng)用豐富,裝機(jī)量巨大;如果能將提供一種技術(shù)實(shí)現(xiàn)android與openharmony的融合,并賦予android應(yīng)用分布式能力,則可以大幅提高openharmony與android生態(tài)的融合性,促進(jìn)“萬物互聯(lián)”的快速到來。
4.為了實(shí)現(xiàn)系統(tǒng)融合,通常會(huì)實(shí)現(xiàn)android應(yīng)用兼容層,而兼容層通常會(huì)采用隔離技術(shù),如容器或者虛擬化技術(shù)。如圖1所示,當(dāng)android應(yīng)用及兼容層被隔離到起來后,android應(yīng)用則無法直接訪問宿主系統(tǒng)openharmony的分布式特性,從而無法具備分布式能力。


技術(shù)實(shí)現(xiàn)要素:

5.發(fā)明目的:本發(fā)明目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法及系統(tǒng),在android與openharmony的融合系統(tǒng)上,解決為android應(yīng)用提供openharmony的分布式能力這一技術(shù)難題,使得android應(yīng)用可以跨設(shè)備訪問遠(yuǎn)端設(shè)備的硬件資源。
6.技術(shù)方案:本發(fā)明所述基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法,包括如下步驟:s1、創(chuàng)建影子進(jìn)程:?jiǎn)?dòng)融合系統(tǒng),獲取用戶啟動(dòng)android應(yīng)用的請(qǐng)求,對(duì)應(yīng)創(chuàng)建一個(gè)影子進(jìn)程,將android應(yīng)用與影子進(jìn)程的映射關(guān)系注冊(cè)到資源共享橋,影子進(jìn)程通過openharmory的分布式組件獲取遠(yuǎn)端設(shè)備的資源信息并注冊(cè)至資源共享橋,android應(yīng)用訪問資源共享橋獲取與其對(duì)應(yīng)影子進(jìn)程注冊(cè)的遠(yuǎn)端設(shè)備的資源信息;s2、獲取數(shù)據(jù):影子進(jìn)程調(diào)用分布式組件接收遠(yuǎn)端設(shè)備發(fā)送的數(shù)據(jù),將接收的數(shù)據(jù)注入資源共享橋,android應(yīng)用訪問資源共享橋獲取影子進(jìn)程注入的數(shù)據(jù);s3、發(fā)送數(shù)據(jù):android應(yīng)用將數(shù)據(jù)發(fā)送至資源共享橋,影子進(jìn)程訪問資源共享橋讀取android應(yīng)用發(fā)送的數(shù)據(jù),再通過分布式組件發(fā)送至遠(yuǎn)端設(shè)備。
7.進(jìn)一步完善上述技術(shù)方案,還包括獲取注銷影子進(jìn)程,獲取用戶注銷影子進(jìn)程的請(qǐng)求,注銷android應(yīng)用與影子進(jìn)程之間的映射,斷開影子進(jìn)程通過資源共享橋與android
應(yīng)用之間的通信。
8.進(jìn)一步地,所述融合系統(tǒng)包括宿主系統(tǒng)和客戶系統(tǒng),宿主系統(tǒng)為openharmony系統(tǒng),客戶系統(tǒng)為android系統(tǒng),所述android系統(tǒng)采用容器隔離技術(shù)實(shí)現(xiàn)android應(yīng)用兼容層以運(yùn)行所述android應(yīng)用。
9.用于實(shí)現(xiàn)上述基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法的系統(tǒng),包括:影子進(jìn)程管理器,用于獲取android應(yīng)用的啟動(dòng)請(qǐng)求,創(chuàng)建與android應(yīng)用對(duì)應(yīng)的影子進(jìn)程,將android應(yīng)用與影子進(jìn)程的映射關(guān)系注冊(cè)到資源共享橋;影子進(jìn)程,與所述android應(yīng)用一一對(duì)應(yīng),能夠通過openharmory的分布式組件獲取遠(yuǎn)端設(shè)備的資源信息并注冊(cè)至共享資源橋;以及資源共享橋,連接所述影子進(jìn)程與android應(yīng)用之間,供所述android應(yīng)用讀取所述影子進(jìn)程注冊(cè)的遠(yuǎn)端設(shè)備的資源信息,以進(jìn)行分布式數(shù)據(jù)傳輸。
10.進(jìn)一步地,所述影子進(jìn)程管理器用于影子進(jìn)程的生命周期管理,包括影子進(jìn)程的創(chuàng)建、注銷、狀態(tài)管理和查詢。
11.進(jìn)一步地,所述分布式數(shù)據(jù)傳輸是指:所述影子進(jìn)程從資源共享橋獲取android應(yīng)用發(fā)送的數(shù)據(jù),并通過分布式組件發(fā)送到遠(yuǎn)端設(shè)備;以及從分布式組件獲得遠(yuǎn)端設(shè)備的數(shù)據(jù)并通過資源共享橋傳輸至android應(yīng)用。
12.進(jìn)一步地,所述資源共享橋提供如下接口:register_sp、unregister_sp、push_device_list、get_device_list、push_remote_data、get_remote_data、pop_remote_data、send_remote_data;所述影子進(jìn)程管理器調(diào)用所述register_sp、unregister_sp接口分別進(jìn)行影子進(jìn)程與android應(yīng)用映射關(guān)系的注冊(cè)和注銷;所述影子進(jìn)程調(diào)用push_device_list接口將通過openharmory的分布式組件獲取遠(yuǎn)端設(shè)備的資源信息進(jìn)行封裝后注冊(cè)至資源共享橋,所述android應(yīng)用調(diào)用get_device_list接口獲取與其對(duì)應(yīng)影子進(jìn)程注冊(cè)至資源共享橋中遠(yuǎn)端設(shè)備的資源信息;所述影子進(jìn)程調(diào)用push_remote_data接口將通過分布式組件接收的遠(yuǎn)端設(shè)備數(shù)據(jù)注入到共享資源橋,所述android應(yīng)用調(diào)用get_remote_data接口獲取與其對(duì)應(yīng)影子進(jìn)程注入至資源共享橋上的遠(yuǎn)端設(shè)備數(shù)據(jù);所述android應(yīng)用調(diào)用send_remote_data接口將android數(shù)據(jù)發(fā)送至資源共享橋,所述影子進(jìn)程調(diào)用pop_remote_data接口讀取所述android數(shù)據(jù)并通過分布式組件發(fā)送至遠(yuǎn)端設(shè)備。
13.有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明解決了基于容器隔離技術(shù)實(shí)現(xiàn)android應(yīng)用兼容層的條件下,如何賦予android應(yīng)用的分布式能力,并實(shí)現(xiàn)與遠(yuǎn)端openharmony設(shè)備的分布式通信。本發(fā)明不需要對(duì)android應(yīng)用進(jìn)行改造和侵入式的修改,具備極大的擴(kuò)展性,可以適配各個(gè)版本的android系統(tǒng),從而促進(jìn)android和openharmony在物聯(lián)網(wǎng)場(chǎng)景的互聯(lián)融合。
附圖說明
14.圖1是現(xiàn)有融合系統(tǒng)的架構(gòu)示意圖;圖2是本發(fā)明基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法的架構(gòu)示意圖;圖3是本發(fā)明基于影子進(jìn)程實(shí)現(xiàn)安卓應(yīng)用分布式能力的方法的流程圖。
具體實(shí)施方式
15.下面通過附圖對(duì)本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明,但是本發(fā)明的保護(hù)范圍不局限于
所述實(shí)施例。
16.系統(tǒng)融合是將多個(gè)操作系統(tǒng)同時(shí)運(yùn)行在一個(gè)硬件上,反之“融合系統(tǒng)”則指經(jīng)過“系統(tǒng)融合”后同時(shí)運(yùn)行在一個(gè)硬件上的多個(gè)系統(tǒng)。在系統(tǒng)融合的情況下,通常存在一個(gè)主系統(tǒng),該主系統(tǒng)能夠獲得所有的資源訪問權(quán),該系統(tǒng)成為宿主系統(tǒng);而其他的系統(tǒng)則需要依賴宿主系統(tǒng)提供的接口進(jìn)行資源的訪問,這些系統(tǒng)成為客戶系統(tǒng)或者從系統(tǒng)。
17.本發(fā)明中openharmony是宿主系統(tǒng),android是客戶系統(tǒng),兼容層是一種系統(tǒng)融合技術(shù),該兼容層運(yùn)行在openharmony之上,實(shí)現(xiàn)android應(yīng)用運(yùn)行于openharmony之上。android應(yīng)用兼容層為了保證安全性和一致性,會(huì)采用隔離技術(shù),如容器或者虛擬化技術(shù)。分布式特性,它是openharmony上的一個(gè)獨(dú)有特性,可以實(shí)現(xiàn)應(yīng)用在不同設(shè)備間的分布式流轉(zhuǎn)等功能。
18.本發(fā)明通過設(shè)計(jì)影子進(jìn)程和資源共享橋來實(shí)現(xiàn)賦予android應(yīng)用的分布式能力,其架構(gòu)如圖2所示,包括影子進(jìn)程、影子進(jìn)程管理器、android應(yīng)用、資源共享橋。
19.影子進(jìn)程與資源共享橋的作用如下:影子進(jìn)程和android應(yīng)用是一一對(duì)應(yīng)的關(guān)系,當(dāng)系統(tǒng)每啟動(dòng)一個(gè)android應(yīng)用時(shí),即會(huì)為該android應(yīng)用創(chuàng)建一個(gè)android進(jìn)程,這個(gè)進(jìn)程被隔離在兼容層的空間內(nèi)。同時(shí)系統(tǒng)會(huì)在宿主系統(tǒng)側(cè)創(chuàng)建一個(gè)對(duì)應(yīng)的影子進(jìn)程,該進(jìn)程由于直接運(yùn)行在宿主系統(tǒng)側(cè),所以被視為openharmony的原生應(yīng)用,可以訪問直接分布式組件;所以,影子進(jìn)程可以通過分布式組件訪問遠(yuǎn)端設(shè)備的硬件資源。
20.影子進(jìn)程管理器用于影子進(jìn)程的生命周期管理,如影子進(jìn)程的創(chuàng)建、注銷、狀態(tài)管理、查詢等功能。比如,當(dāng)融合系統(tǒng)啟動(dòng)一個(gè)android應(yīng)用時(shí),會(huì)通知影子進(jìn)程管理器,由其創(chuàng)建影子進(jìn)程,它還負(fù)責(zé)將影子進(jìn)程與android應(yīng)用的映射關(guān)系注冊(cè)到資源共享橋,保證影子進(jìn)程與android應(yīng)用的一一對(duì)應(yīng)關(guān)系。
21.資源共享橋負(fù)責(zé)連接android應(yīng)用于影子進(jìn)程,當(dāng)影子進(jìn)程通過分布式組件獲得遠(yuǎn)端設(shè)備的硬件資源的訪問權(quán)限后,則會(huì)在資源共享橋上注冊(cè)該設(shè)備;此后,android應(yīng)用則可以從資源共享橋上發(fā)現(xiàn)給設(shè)備,并像訪問本地設(shè)備一樣對(duì)該設(shè)備進(jìn)行操作。
22.表格 資源共享橋的接口表
?
如圖3所示,android應(yīng)用實(shí)現(xiàn)分布式能力的調(diào)用流程如下:1、啟動(dòng)資源共享橋當(dāng)融合系統(tǒng)啟動(dòng)后,即宿主系統(tǒng)與客戶系統(tǒng)都啟動(dòng)后,自動(dòng)啟動(dòng)資源共享橋。資源共享橋在宿主系統(tǒng)(openharmony)側(cè)提供若干接口,影子進(jìn)程可以調(diào)用這些接口,將從分布式組件中獲取到的遠(yuǎn)端設(shè)備資源注冊(cè)到共享資源橋上。另一方面,它還在客戶系統(tǒng)(android)側(cè)提供若干接口,android應(yīng)用可以通過調(diào)用這些接口獲取遠(yuǎn)端設(shè)備的設(shè)備信息,也可以與遠(yuǎn)端設(shè)備進(jìn)行分布式數(shù)據(jù)通信等。
23.2、啟動(dòng)影子進(jìn)程管理器在資源共享橋啟動(dòng)完成后,系統(tǒng)啟動(dòng)影子進(jìn)程管理器。
24.3、啟動(dòng)一個(gè)android應(yīng)用用戶啟動(dòng)一個(gè)android應(yīng)用時(shí),系統(tǒng)會(huì)通知影子進(jìn)程管理器,在android應(yīng)用啟動(dòng)成功后,創(chuàng)建一個(gè)影子進(jìn)程,創(chuàng)建過程調(diào)用openharmony的標(biāo)準(zhǔn)接口完成,影子進(jìn)程運(yùn)行于后臺(tái)。當(dāng)影子進(jìn)程創(chuàng)建完成后,影子進(jìn)程管理器調(diào)用register_sp接口將影子進(jìn)程與android應(yīng)用的映射關(guān)系注冊(cè)到資源共享橋。
25.4、通過分布式組件獲取遠(yuǎn)端設(shè)備資源
影子進(jìn)程通過openharmony的分布式組件獲得遠(yuǎn)端設(shè)備的資源信息,并將遠(yuǎn)端設(shè)備的資源信息注冊(cè)到資源共享橋。
26.5、android應(yīng)用獲得分布式能力android應(yīng)用從資源共享橋中讀取影子進(jìn)程注冊(cè)的遠(yuǎn)端設(shè)備的資源信息,并調(diào)用共享資源橋的接口獲取或者發(fā)送數(shù)據(jù)。
27.6、通過影子進(jìn)程與遠(yuǎn)端設(shè)備實(shí)現(xiàn)分布式數(shù)據(jù)傳輸影子進(jìn)程從共享資源橋獲取android應(yīng)用發(fā)送的數(shù)據(jù),并通過分布式組件發(fā)送到遠(yuǎn)端設(shè)備。同樣的,可以從分布式組件獲得遠(yuǎn)端設(shè)備的數(shù)據(jù)并通過共享資源橋傳遞給android應(yīng)用。
28.本發(fā)明為android應(yīng)用提供一個(gè)通用的分布式能力,并實(shí)現(xiàn)與遠(yuǎn)端openharmony設(shè)備的分布式通信。本發(fā)明不需要對(duì)android應(yīng)用進(jìn)行改造和侵入式的修改,具備極大的擴(kuò)展性,可以適配各個(gè)版本的android系統(tǒng);從而促進(jìn)android和openharmony在物聯(lián)網(wǎng)場(chǎng)景的互聯(lián)融合。
29.如上所述,盡管參照特定的優(yōu)選實(shí)施例已經(jīng)表示和表述了本發(fā)明,但其不得解釋為對(duì)本發(fā)明自身的限制。在不脫離所附權(quán)利要求定義的本發(fā)明的精神和范圍前提下,可對(duì)其在形式上和細(xì)節(jié)上作出各種變化。


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-15-1061-0.html

來源:專利查詢檢索下載-實(shí)用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請(qǐng)保留出處。本站文章發(fā)布于 2022-11-27 21:27:12

發(fā)表評(píng)論

驗(yàn)證碼:
用戶名: 密碼: 匿名發(fā)表
評(píng)論列表 (有 條評(píng)論
,2人圍觀
參與討論