0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——分布式DeviceProfile

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-03-17 10:46 ? 次閱讀

OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)作為分布式操作系統(tǒng),讓多個(gè)設(shè)備之間能夠相互感知,進(jìn)而整合成一個(gè)超級(jí)終端。從而實(shí)現(xiàn)設(shè)備與設(shè)備之間取長(zhǎng)補(bǔ)短、相互幫助,為用戶提供自然流暢的分布式體驗(yàn)。那么超級(jí)終端中,設(shè)備的能力和狀態(tài)如何管理?設(shè)備之間如何進(jìn)行信息協(xié)同?要回答這些問(wèn)題,就不得不提我們本期的主角——DeviceProfile。

什么是DeviceProfile?

超級(jí)終端中的設(shè)備之間如何能實(shí)現(xiàn)取長(zhǎng)補(bǔ)短、相互幫助?首先,就必須知道每個(gè)設(shè)備的能力,以及設(shè)備是否在線。對(duì)此,OpenHarmony 提出了“設(shè)備畫像”,也就是通過(guò) DeviceProfile 來(lái)記錄設(shè)備的能力和狀態(tài)等信息。

DeviceProfile 是設(shè)備硬件能力和系統(tǒng)軟件特征的管理器,記錄的典型設(shè)備信息有設(shè)備類型、設(shè)備名稱、存儲(chǔ)容量、是否折疊屏、有無(wú)屏幕、分辨率、設(shè)備安全等級(jí)、設(shè)備 OS 類型、OS 版本號(hào)等。

(備注:DeviceProfile 支持分布式部署在多個(gè)設(shè)備上,所以 DeviceProfile 也稱為分布式 DeviceProfile。)

DeviceProfile的組成結(jié)構(gòu)

接下來(lái),我們來(lái)看看 DeviceProfile 的組成結(jié)構(gòu)。

ac122d3a-a541-11ec-952b-dac502259ad0.jpg

圖1 DeviceProfile的組成結(jié)構(gòu)

如圖 1 所示, DeviceProfile 主要包含以下模塊:

?數(shù)據(jù)管理:提供設(shè)備信息的插入、刪除、查詢、同步等數(shù)據(jù)管理功能;

?訂閱管理:訂閱和取消訂閱遠(yuǎn)端設(shè)備的同步完成事件和數(shù)據(jù)變更事件;

?安全管理:管控本地設(shè)備 DeviceProfile 的訪問(wèn)權(quán)限,保障數(shù)據(jù)在可信范圍內(nèi)獲取。

DeviceProfile的典型業(yè)務(wù)流程

分布式 DeviceProfile 基于分布式軟總線、分布式數(shù)據(jù)管理、分布式 Profile 等技術(shù)特性,構(gòu)建統(tǒng)一的設(shè)備信息管理機(jī)制。支持對(duì)設(shè)備信息的插入、刪除、查詢、跨設(shè)備同步、同步完成及數(shù)據(jù)變更事件監(jiān)聽(tīng)等操作。

圖 2 展示了兩個(gè)設(shè)備的分布式 DeviceProfile 及其內(nèi)部業(yè)務(wù)流程。

ac268e74-a541-11ec-952b-dac502259ad0.jpg

圖2 分布式DeviceProfile

在介紹業(yè)務(wù)流程之前,先讓我們來(lái)認(rèn)識(shí)一下圖 2 中涉及到的幾個(gè)模塊。

? DP Client 和 CS(Content Sensor)都是 DeviceProfile 一部分。DP Client 是 DeviceProfile 的客戶端,其他服務(wù)可以通過(guò) DP Client 來(lái)調(diào)用 DeviceProfile 的接口進(jìn)行數(shù)據(jù)同步、數(shù)據(jù)變更等。CS 負(fù)責(zé)采集本設(shè)備的設(shè)備信息;

? HiChain:設(shè)備互信認(rèn)證服務(wù),管理設(shè)備的可信群組;

?分布式數(shù)據(jù)管理服務(wù):DeviceProfile 通過(guò)分布式數(shù)據(jù)管理服務(wù)插入、更新、查詢、刪除及同步設(shè)備信息。

接下來(lái),我們就來(lái)詳細(xì)介紹分布式 DeviceProfile 的典型業(yè)務(wù)流程。

1.插入/刪除本地設(shè)備信息

CS 模塊定期探測(cè)本地設(shè)備的能力信息。當(dāng)設(shè)備能力發(fā)生變化時(shí),CS 發(fā)送給本地 DeviceProfile,本地 DeviceProfile 再通過(guò)分布式數(shù)據(jù)管理服務(wù)插入或更新設(shè)備信息。

當(dāng)設(shè)備的某項(xiàng)能力很久未使用,本地 DeviceProfile 會(huì)通過(guò)分布式數(shù)據(jù)管理服務(wù)刪除設(shè)備信息。

設(shè)備信息插入的內(nèi)部流程圖如圖 3 所示。本地 DeviceProfile 通過(guò) PutDeviceProfile 接口,請(qǐng)求寫入一條設(shè)備信息記錄。如果數(shù)據(jù)庫(kù)已經(jīng)初始化完成,DeviceProfileStorageManager 會(huì)直接調(diào)用 OnLineSyncTable 的 PutDeviceProfile 寫入數(shù)據(jù)庫(kù)。如果數(shù)據(jù)庫(kù)經(jīng)初始化未完成,則先將數(shù)據(jù)寫入臨時(shí)緩存,等初始化完成后再寫入數(shù)據(jù)庫(kù),并清理緩存。

ac3f0954-a541-11ec-952b-dac502259ad0.jpg

圖3 設(shè)備信息插入流程圖

2.跨設(shè)備同步設(shè)備信息

跨設(shè)備同步設(shè)備信息分為兩種場(chǎng)景:

(1)設(shè)備上線時(shí)自動(dòng)觸發(fā)同步

如圖 2,當(dāng) Device B 上線時(shí),Device A 的 DeviceProfile 會(huì)從分布式軟總線收到上線通知。DeviceProfile 的安全管理模塊通過(guò)與 HiChain 交互,獲知 Device B 在可信群組內(nèi)。此時(shí),自動(dòng)觸發(fā)同步,Device A 將自己的設(shè)備信息推送給 Device B 實(shí)現(xiàn)同步。同樣的,Device A 上線時(shí),Device B 也會(huì)收到上線通知,觸發(fā) Device B 主動(dòng)推送自己的設(shè)備信息給 Device A 實(shí)現(xiàn)同步。

(2)通過(guò) DP Client 調(diào)用接口觸發(fā)同步

系統(tǒng)服務(wù)也可以通過(guò) DP Client 調(diào)用 SyncDeviceProfile 接口,觸發(fā)兩個(gè)設(shè)備的分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)同步。

跨設(shè)備同步設(shè)備信息的內(nèi)部流程如圖 4 所示。設(shè)備 A 的 DeviceProfile 通過(guò) SyncDeviceProfile 接口發(fā)起同步請(qǐng)求,再通過(guò) CheckTrustGroup 接口獲取本設(shè)備(即設(shè)備 A)和需要同步設(shè)備(即設(shè)備 B)的可信群組信息。如果兩個(gè)設(shè)備的 GroupType 類型為 1(同賬號(hào)組網(wǎng))或者 256(點(diǎn)對(duì)點(diǎn)無(wú)賬號(hào)組網(wǎng)),并且 Visibility(可見(jiàn)性)為 public,則說(shuō)明兩個(gè)設(shè)備之間可信。設(shè)備 A 將自己的設(shè)備信息推送給設(shè)備 B。

ac5b968c-a541-11ec-952b-dac502259ad0.jpg

圖4 跨設(shè)備同步設(shè)備信息

3.查詢?cè)O(shè)備信息

跨設(shè)備同步設(shè)備信息之后,本地設(shè)備上除了自己設(shè)備的信息,還有遠(yuǎn)端設(shè)備的信息。因而,在本地設(shè)備上就可以查詢本地和遠(yuǎn)端設(shè)備信息,DeviceProfile 通過(guò) deviceid 來(lái)判斷是否為遠(yuǎn)端設(shè)備。DeviceProfile 提供的查詢接口為 GetDeviceProfile 接口,具體查詢流程如圖 5 所示。

ac6ded82-a541-11ec-952b-dac502259ad0.jpg

圖5 查詢遠(yuǎn)端設(shè)備信息

4.訂閱同步完成/數(shù)據(jù)變更事件

DeviceProfile 提供兩類事件的訂閱和取消訂閱功能:

?同步完成事件

跨設(shè)備同步設(shè)備信息時(shí),支持訂閱同步完成事件。比如 Device A 同步 Device B 的設(shè)備信息,如果 Device B 訂閱了同步完成事件,則同步完成后 Device B 會(huì)收到 Device A 發(fā)送的同步完成通知。如果 Device B 取消訂閱同步完成事件,則后續(xù)同步完成后不再收到通知。

DeviceProfile 提供的同步完成事件訂閱接口為 SubscribeProfileEvent 接口,取消訂閱的接口為 UnsubscribeProfileEvent 接口。

?數(shù)據(jù)變更事件

DeviceProfile 支持遠(yuǎn)程訂閱數(shù)據(jù)變更事件,比如,Device B 可以訂閱 Device A 的數(shù)據(jù)變更事件。當(dāng) Device A 的數(shù)據(jù)發(fā)生變更,Device B 會(huì)收到數(shù)據(jù)變更通知。如果 Device B 取消訂閱數(shù)據(jù)變更事件,則后續(xù)不再收到數(shù)據(jù)變更通知。

DeviceProfile 提供的數(shù)據(jù)變更事件訂閱接口為 SubscribeProfileChange 接口,取消訂閱的接口為 SubscribeProfileChange 接口。

同步完成事件、數(shù)據(jù)變更事件的訂閱流程相似。圖 6 展示了同步完成事件的訂閱流程。

ac7da9b6-a541-11ec-952b-dac502259ad0.jpg

圖6 同步完成事件的訂閱流程

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122755
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15746

原文標(biāo)題:OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——分布式DeviceProfile

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony南向開發(fā)案例:【分布式畫板】

    使用OpenHarmony3.1-Release開發(fā)的應(yīng)用。通過(guò)OpenHarmony分布式技術(shù),使多人能夠一起畫畫。
    的頭像 發(fā)表于 04-12 14:40 ?895次閱讀
    <b class='flag-5'>OpenHarmony</b>南向開發(fā)案例:【<b class='flag-5'>分布式</b>畫板】

    OpenHarmony 2.2 Beta2 版本發(fā)布,具備典型的分布式能力和媒體類產(chǎn)品開發(fā)能力

    多家公司推出了基于 OpenHarmony 項(xiàng)目開發(fā)的智能終端,如智能手表、智能家電、智慧屏等。亮點(diǎn)特性/核心特性OpenHarmony 2.2 B
    發(fā)表于 08-09 15:15

    OpenHarmony 3.1 Release全面解析

    ,還支持了分布式數(shù)據(jù)庫(kù)、分布式全新管理等能力。更多內(nèi)容可以查看OpenHarmony官方發(fā)布的 OpenHarmony 3.1 Releas
    發(fā)表于 03-31 10:36

    OpenHarmony 3.1 Release全面解析

    ,還支持了分布式數(shù)據(jù)庫(kù)、分布式全新管理等能力。更多內(nèi)容可以查看OpenHarmony官方發(fā)布的 OpenHarmony 3.1 Releas
    發(fā)表于 03-31 10:55

    喜大普奔!OpenHarmony 3.1特性—DAYU200能打電話了!

    。(4)2022年3月30號(hào)正式發(fā)布的OpenHarmony 3.1 版本,應(yīng)用框架支持卡片,軟總線能力進(jìn)一步增強(qiáng)、分布式數(shù)據(jù)、分布式硬件、
    發(fā)表于 04-04 10:52

    OpenHarmony3.1分布式技術(shù)資料合集

    1、OpenHarmony3.1分布式硬件管理框架簡(jiǎn)介分布式硬件管理框架是為分布式硬件子系統(tǒng)提供信息管理能力的部件。分布式硬件管理框架為
    發(fā)表于 04-11 11:50

    OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——OpenHarmony圖形框架

    問(wèn)題,OpenHarmony 圖形棧采取了 UI 與動(dòng)畫分離、測(cè)量布局繪制優(yōu)化等關(guān)鍵技術(shù)來(lái)提升動(dòng)畫性能。1. UI 與動(dòng)畫分離OpenHarmony 圖形棧采用 UI 與動(dòng)畫分離的設(shè)計(jì)思想,動(dòng)畫的使能和參數(shù)下發(fā)
    發(fā)表于 04-13 18:24

    【直播回顧】OpenHarmony 3.1 Release版本南北向關(guān)鍵能力解讀

    OpenHarmony3.1分布式能力新場(chǎng)景探索新版本解鎖了開發(fā)板的哪些新玩法OpenHarmony在PC端的技術(shù)布局……歡迎大家回看4月14日晚的直播《
    發(fā)表于 04-15 16:12

    OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——分布式DeviceProfile

    類型、設(shè)備名稱、存儲(chǔ)容量、是否折疊屏、有無(wú)屏幕、分辨率、設(shè)備安全等級(jí)、設(shè)備 OS 類型、OS 版本號(hào)等。(備注:DeviceProfile 支持分布式部署在多個(gè)設(shè)備上,所以 DevicePro
    發(fā)表于 04-25 11:14

    OpenHarmony技術(shù)日全面解讀3.1 Release版本,系統(tǒng)基礎(chǔ)能力再升級(jí)

    OpenHarmony 3.1 擁有了復(fù)雜圖形、安全、電話和分布式增強(qiáng)等全新特性。系統(tǒng)能力的持續(xù)迭代,助力 OpenHarmony 開發(fā)資
    發(fā)表于 04-27 10:15

    【項(xiàng)目連載】詳細(xì)分享OpenHarmony v3.1 Beta版本

    時(shí)間時(shí)區(qū)管理、DFX新增支持HiSysEvent部件提供查詢和訂閱接口。標(biāo)準(zhǔn)系統(tǒng)分布式能力增強(qiáng):包括新增支持分布式DeviceProfile特性、
    發(fā)表于 04-29 14:55

    OpenHarmony3.1 Release版本特性解析——OpenHarmony硬件資源池化架構(gòu)介紹

    的實(shí)現(xiàn)。詳細(xì)信息請(qǐng)參考分布式屏幕的代碼倉(cāng):https://gitee.com/openharmony/distributed_screen三、后續(xù)規(guī)劃除了分布式相機(jī)和分布式屏幕外,硬件
    發(fā)表于 05-23 16:42

    【開發(fā)樣例】OpenHarmony分布式購(gòu)物車

    設(shè)計(jì)OpenHarmony技術(shù)特性eTS UI分布式調(diào)度分布式數(shù)據(jù)管理3.支持OpenHarmony版本
    發(fā)表于 07-29 14:17

    OpenHarmony 分布式硬件關(guān)鍵技術(shù)

    本文轉(zhuǎn)載自 OpenHarmony TSC 官方《峰會(huì)回顧第8期 | OpenHarmony 分布式硬件關(guān)鍵技術(shù)》 演講嘉賓 | 李剛 回顧整理 | 廖濤 排版校對(duì) | 李萍萍 嘉賓
    發(fā)表于 08-24 17:25

    OpenHarmony技術(shù)論壇:分布式相機(jī)和分布式圖庫(kù)功能

    OpenHarmony Tech Day·技術(shù)日》 技術(shù)論壇 新增分布式相機(jī)和分布式圖庫(kù)功能 相比OpenHarmony 3.0版本,
    的頭像 發(fā)表于 04-25 15:06 ?1701次閱讀
    <b class='flag-5'>OpenHarmony</b>技術(shù)論壇:<b class='flag-5'>分布式</b>相機(jī)和<b class='flag-5'>分布式</b>圖庫(kù)功能