亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HarmonyOS分布式數(shù)據(jù)服務(wù)的探究

        2023-08-26 03:08:11龍軍何暢趙冬冬
        電腦知識(shí)與技術(shù) 2023年19期
        關(guān)鍵詞:鴻蒙數(shù)據(jù)服務(wù)分布式

        龍軍 何暢 趙冬冬

        關(guān)鍵詞:HarmonyOS;鴻蒙;分布式;數(shù)據(jù)服務(wù);多端同步

        HarmonyOS是華為公司推出的全場(chǎng)景智慧生活方式的分布式操作系統(tǒng)。隨著基于鴻蒙的智能化產(chǎn)品越來(lái)越多,用戶擁有設(shè)備的數(shù)量和品種也不斷增多,對(duì)全場(chǎng)景多設(shè)備的生活方式體驗(yàn)也逐漸深入。通過(guò)相互感知,鴻蒙將相關(guān)終端設(shè)備進(jìn)行能力整合成一個(gè)超級(jí)終端(One Super Device) ,實(shí)現(xiàn)極速連接、多端協(xié)同和資源共享,提供自然流暢的分布式全場(chǎng)景體驗(yàn)。

        1 分布式系統(tǒng)

        分布式系統(tǒng)是隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展而產(chǎn)生,通過(guò)多臺(tái)計(jì)算機(jī)組成的網(wǎng)絡(luò)以協(xié)作方式共同完成單個(gè)計(jì)算機(jī)所無(wú)法完成的任務(wù)。美國(guó)學(xué)者Tanenbaum 對(duì)分布式系統(tǒng)的定義:分布式系統(tǒng)是若干獨(dú)立計(jì)算機(jī)的集合,這些計(jì)算機(jī)對(duì)于用戶來(lái)說(shuō)就像是單個(gè)相關(guān)系統(tǒng)。此定義包含兩個(gè)方面的內(nèi)容,第一個(gè)方面是關(guān)于硬件的:機(jī)器本身是獨(dú)立的。第二個(gè)方面是關(guān)于軟件的:對(duì)用戶來(lái)說(shuō)他們就像在與單個(gè)系統(tǒng)打交道[1]。

        通常將分布式系統(tǒng)劃分為分布式硬件架構(gòu)、分布式操作系統(tǒng)、分布式數(shù)據(jù)庫(kù)、分布式程序設(shè)計(jì)和分布式應(yīng)用等5個(gè)層次。分布式操作系統(tǒng)包括負(fù)責(zé)管理分布式處理系統(tǒng)資源和控制分布式程序運(yùn)行的分布式文件系統(tǒng)。分布式數(shù)據(jù)庫(kù)是將網(wǎng)絡(luò)上分散的多個(gè)數(shù)據(jù)單元連起來(lái)組成一個(gè)邏輯上統(tǒng)一的數(shù)據(jù)庫(kù)。

        2 HarmonyOS 分布式設(shè)計(jì)原則

        HarmonyOS支持同一賬號(hào)的多設(shè)備相互同步數(shù)據(jù),使用戶在多端設(shè)備上有統(tǒng)一的用戶體驗(yàn)。為構(gòu)建起優(yōu)秀的分布式體驗(yàn),應(yīng)遵循以下設(shè)計(jì)原則:

        體驗(yàn)增值:跨設(shè)備交互能提供諸如更好的感官體驗(yàn)和交互效率等體驗(yàn)提升。

        無(wú)縫流暢:設(shè)備間流轉(zhuǎn)無(wú)縫、協(xié)同流暢,就像使用一個(gè)設(shè)備。

        清晰明確:跨設(shè)備交互有清晰明確指引,用戶可快速熟悉使用。

        易于理解:跨設(shè)備交互易于理解和記憶,用戶能長(zhǎng)期持續(xù)使用。

        用戶可控:跨設(shè)備交互時(shí)用戶能隨時(shí)切換設(shè)備或其他可用的跨設(shè)備交互模式。

        沉浸無(wú)干擾:可根據(jù)設(shè)備屬性在不同設(shè)備上分配信息,最大化提供沉浸無(wú)干擾體驗(yàn)。

        3 HarmonyOS 的分布式數(shù)據(jù)服務(wù)

        HarmonyOS通過(guò)鍵值對(duì)(Key-Value) 降低數(shù)據(jù)庫(kù)版本兼容及數(shù)據(jù)同步的復(fù)雜度,對(duì)外提供KV類型的訪問(wèn)接口。鴻蒙以本地事務(wù)為單位在設(shè)備間同步數(shù)據(jù),一次本地事務(wù)的修改必須全部同步成功。由于移動(dòng)設(shè)備不確保一直在線而且無(wú)中心,鴻蒙的分布式數(shù)據(jù)服務(wù)在某一設(shè)備完成數(shù)據(jù)的增、刪、改后,組網(wǎng)內(nèi)設(shè)備可能不會(huì)實(shí)時(shí)讀取到本次數(shù)據(jù)更新,但會(huì)在某時(shí)間窗口后進(jìn)行更新同步,使數(shù)據(jù)達(dá)到一致?tīng)顟B(tài),稱為最終一致性[3]。

        該同步由底層通信組件發(fā)現(xiàn)、認(rèn)證設(shè)備,再通知上層應(yīng)用程序設(shè)備,收到消息后,兩設(shè)備間建立加密的數(shù)據(jù)傳輸通道,采用手動(dòng)或自動(dòng)方式同步數(shù)據(jù)。手動(dòng)同步由應(yīng)用程序調(diào)用sync接口并指定同步的設(shè)備列表和模式觸發(fā),同步模式分PULL_ONLY(將遠(yuǎn)端數(shù)據(jù)拉到本端)、PUSH_ONLY(將本端數(shù)據(jù)推送到遠(yuǎn)端)和PUSH_PULL(同時(shí)將本端數(shù)據(jù)推送到遠(yuǎn)端及遠(yuǎn)端數(shù)據(jù)拉取到本端)三種。自動(dòng)同步由分布式數(shù)據(jù)庫(kù)自動(dòng)采用PUSH_PULL模式完成數(shù)據(jù)同步。

        4 HarmonyOS 的分布式數(shù)據(jù)庫(kù)分類

        HarmonyOS的分布式數(shù)據(jù)庫(kù)分單版本和設(shè)備協(xié)同兩類。單版本分布式數(shù)據(jù)庫(kù)(SingleKVStore) 是指數(shù)據(jù)以單個(gè)KV條目為單位在本地保存,每個(gè)Key最多只保存一個(gè)條目項(xiàng)[4],該條目項(xiàng)可采用諸如Json等格式化方式存儲(chǔ)多個(gè)數(shù)據(jù)項(xiàng)。應(yīng)用在本地修改數(shù)據(jù),然后按本地更新順序?qū)⒆詈笮薷牡臄?shù)據(jù)逐一同步到遠(yuǎn)端設(shè)備。

        設(shè)備協(xié)同分布式數(shù)據(jù)庫(kù)(DeviceKVStore) 建立在單版本之上,應(yīng)用程序存入KV數(shù)據(jù)時(shí)在Key前加上本設(shè)備的DeviceID,實(shí)現(xiàn)設(shè)備產(chǎn)生數(shù)據(jù)的隔離,底層按設(shè)備維度管理數(shù)據(jù),數(shù)據(jù)庫(kù)可按設(shè)備維度查詢分布式數(shù)據(jù),但不能修改其他設(shè)備同步過(guò)來(lái)的數(shù)據(jù)。

        5 HarmonyOS 分布式數(shù)據(jù)服務(wù)的運(yùn)作機(jī)制

        HarmonyOS通過(guò)服務(wù)組件初始化底層分布式數(shù)據(jù)庫(kù)的存儲(chǔ)組件、同步組件和通信適配層,進(jìn)行服務(wù)內(nèi)元數(shù)據(jù)、權(quán)限、加密、備份和恢復(fù)及多用戶的管理,并將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)組件。存儲(chǔ)組件進(jìn)行數(shù)據(jù)的訪問(wèn)、縮減、事務(wù)、快照、數(shù)據(jù)庫(kù)加密、數(shù)據(jù)合并和沖突解決。同步組件連接存儲(chǔ)組件與通信組件,保持在線設(shè)備間數(shù)據(jù)庫(kù)數(shù)據(jù)的一致。用通信適配層將數(shù)據(jù)同步至遠(yuǎn)端設(shè)備,遠(yuǎn)端設(shè)備通過(guò)同步組件接收數(shù)據(jù),并更新至本端存儲(chǔ)組件,通過(guò)服務(wù)接口提供給應(yīng)用程序使用[5]。

        通信適配層調(diào)用底層公共通信層的接口完成通信管道的創(chuàng)建、連接,接收、發(fā)送設(shè)備上下線消息,維護(hù)已連接和斷開(kāi)設(shè)備列表的元數(shù)據(jù)。同步組件維護(hù)連接的設(shè)備列表,同步數(shù)據(jù)時(shí)根據(jù)這個(gè)列表,調(diào)用通信適配層的接口將數(shù)據(jù)封裝并發(fā)送給連接的設(shè)備。運(yùn)作機(jī)制如圖1所示。

        由于分布式數(shù)據(jù)庫(kù)是多設(shè)備在操作,HarmonyOS 采用基于提交時(shí)間戳、取時(shí)間戳較大的提交數(shù)據(jù)策略解決多設(shè)備同時(shí)修改某一數(shù)據(jù)的沖突場(chǎng)景。

        6 HarmonyOS 分布式數(shù)據(jù)管理的關(guān)鍵JS API

        HarmonyOS分布式數(shù)據(jù)服務(wù)主要實(shí)現(xiàn)用戶設(shè)備中應(yīng)用程序數(shù)據(jù)內(nèi)容的分布式同步,可采用Java、JS 或ArkTS三種API,本文采用JS API進(jìn)行研究。

        分布式數(shù)據(jù)管理為應(yīng)用程序提供了不同設(shè)備間數(shù)據(jù)庫(kù)的分布式協(xié)同能力,應(yīng)用程序通過(guò)調(diào)用相應(yīng)接口將數(shù)據(jù)保存到分布式數(shù)據(jù)庫(kù)中,并進(jìn)行數(shù)據(jù)的增加、刪除、修改、查詢、同步等操作,常用接口如表1 所示[6]。

        7 HarmonyOS 分布式數(shù)據(jù)服務(wù)的應(yīng)用實(shí)踐下面基于單版本分布式數(shù)據(jù)庫(kù)完成一個(gè)便箋本的設(shè)計(jì)制作。

        1) 導(dǎo)入分布式數(shù)據(jù)和分布式設(shè)備的模塊。

        2) 在config.json文件的module-reqPermissions 里聲明分布式數(shù)據(jù)同步DISTRIBUTED_DATASYNC 和獲得分布式設(shè)備信息GET_DISTRIBUTED_DEVICE_ INFO的權(quán)限。

        3) 創(chuàng)建分布式數(shù)據(jù)庫(kù)管理器實(shí)例。

        用包名和用戶信息創(chuàng)建配置信息。包名bundle? Name必須與使用的工程一致,用戶信息由userId(用戶ID) 和userType(用戶類型)構(gòu)成,userType設(shè)置為0 或SAME_USER_ID,表示使用同一賬號(hào)登錄不同設(shè)備的用戶:

        4) 獲取/創(chuàng)建分布式數(shù)據(jù)庫(kù)。

        聲明分布式數(shù)據(jù)庫(kù)的配置信息options,包括:cre? actreyIpftM為iss是in否g表加示密當(dāng);數(shù)ba據(jù)cku庫(kù)p文為件是不否存?zhèn)湓诜輹r(shí);a是ut否oS創(chuàng)yn建c為;e是n?否自動(dòng)同步,若設(shè)為否需調(diào)用sync接口,通常關(guān)閉自動(dòng)同步功能;kvStoreType 數(shù)據(jù)庫(kù)類型,DEVICE_ COLLABORATION 或0 為多設(shè)備協(xié)同數(shù)據(jù)庫(kù),SINGLE_VERSION或1為單版本數(shù)據(jù)庫(kù);securityLevel 安全級(jí)別,為NO_LEVEL、S0~S4,值從0~6,等級(jí)越高,限制越多:

        5) 訂閱分布式數(shù)據(jù)變化。

        用on(event,type,observer)方法進(jìn)行訂閱,參數(shù)event是訂閱的事件名固定為dataChange,表示數(shù)據(jù)變更事件;type是訂閱的類型,值分別是SUBSCRIBE_ TYPE_LOCAL 或0 為訂閱本地?cái)?shù)據(jù)變更、SUBSCRIBE_TYPE_REMOTE或1為訂閱遠(yuǎn)端數(shù)據(jù)變更、SUBSCRIBE_TYPE_ALL或2為訂閱遠(yuǎn)端和本地?cái)?shù)據(jù)變更;參數(shù)observer是回調(diào)函數(shù):

        6) 構(gòu)造要分布式數(shù)據(jù)庫(kù)的鍵值對(duì),并將KV數(shù)據(jù)更新到分布式數(shù)據(jù)庫(kù)。

        7) 查詢分布式數(shù)據(jù)庫(kù)數(shù)據(jù)。查詢指定的數(shù)據(jù)

        8) 選擇同一組網(wǎng)環(huán)境下的設(shè)備以及同步模式,同步數(shù)據(jù)到其他設(shè)備。

        通過(guò)createDeviceManager()創(chuàng)建分布式設(shè)備管理實(shí)例,在回調(diào)函數(shù)用getTrustedDeviceListSync()同步獲取所有可信設(shè)備列表,設(shè)備信息DeviceInfo包括:deviceId 設(shè)備唯一標(biāo)識(shí)、deviceName設(shè)備名稱、deviceType設(shè)備類型、networkId設(shè)備網(wǎng)絡(luò)標(biāo)識(shí)、range發(fā)現(xiàn)設(shè)備的距離:

        在選擇設(shè)備對(duì)話框中判斷是否選擇同步的設(shè)備,若選中則用sync(需同步的設(shè)備列表,同步模式,延時(shí)時(shí)間)方法同步數(shù)據(jù)。同步模式如前所述:

        上述是HarmonyOS基于JS單版本分布式數(shù)據(jù)庫(kù)應(yīng)用的核心設(shè)計(jì)。應(yīng)用程序的主要運(yùn)行結(jié)果如圖2 所示。

        8 結(jié)束語(yǔ)

        本文對(duì)鴻蒙操作系統(tǒng)的分布式數(shù)據(jù)服務(wù)、運(yùn)作機(jī)制和JS API進(jìn)行了研究與初步應(yīng)用,建立了一個(gè)簡(jiǎn)單的單版本分布式數(shù)據(jù)庫(kù)應(yīng)用模型,也為設(shè)備協(xié)同分布式數(shù)據(jù)庫(kù)的應(yīng)用開(kāi)發(fā)提供了參考。

        隨著國(guó)民對(duì)國(guó)產(chǎn)技術(shù)和產(chǎn)品的認(rèn)可度提升,鴻蒙操作系統(tǒng)的不斷發(fā)展與優(yōu)化,相關(guān)的生態(tài)建設(shè)逐步完善,基于HarmonyOS的手機(jī)、平板、智能穿戴、智慧屏、車機(jī)等設(shè)備有著更廣闊的市場(chǎng)和發(fā)展空間。鴻蒙借助分布式設(shè)計(jì)形成1+8+N的全場(chǎng)景業(yè)務(wù)能力,提升了消費(fèi)者在智慧生活、智慧家庭、智慧辦公等場(chǎng)景下的體驗(yàn),構(gòu)建起牢固的終端消費(fèi)者生態(tài)系統(tǒng)。站在鴻蒙應(yīng)用開(kāi)發(fā)的角度上,分布式技術(shù)整合多終端形成的超級(jí)終端使開(kāi)發(fā)者可以忽略硬件的差異,將精力集中到業(yè)務(wù)應(yīng)用,開(kāi)發(fā)出更高體驗(yàn)的應(yīng)用。在鴻蒙發(fā)展的過(guò)程中,需要更多的開(kāi)發(fā)者加入,不斷探索與實(shí)踐,共同促進(jìn)HarmonyOS這一具有獨(dú)立知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)操作系統(tǒng)的進(jìn)步與壯大。

        猜你喜歡
        鴻蒙數(shù)據(jù)服務(wù)分布式
        地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測(cè)的方向分析
        奇思妙想(4)
        鴻蒙:打破安卓壟斷 所有權(quán)歸屬國(guó)家
        鴻蒙來(lái)了
        金橋(2021年7期)2021-07-22 01:55:34
        華為一大批鴻蒙商標(biāo)等待審查
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
        基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
        基于DDS的分布式三維協(xié)同仿真研究
        亚洲成A人A∨久在线观看| 国产亚洲日本精品无码| 国产乱人伦在线播放| 91美女片黄在线观看| 久久久国产精品首页免费| 久久综合99re88久久爱| 日本黄页网站免费观看| 亚洲午夜成人片| 白嫩少妇在线喷水18禁| 国产精品高清网站| 一区二区三区国产亚洲网站| 高清国产一级毛片国语| 女同在线视频一区二区| 97久久国产亚洲精品超碰热| 国产在线精品一区二区| 国产激情无码Av毛片久久| 国产亚洲一区二区精品| 99热在线观看| 国产精品一区二区 尿失禁 | 成人av毛片免费大全| 亚洲a∨无码一区二区三区| 日韩AV不卡六区七区| 天堂av在线一区二区| 亚洲av区,一区二区三区色婷婷| 久久久久久国产精品免费免费男同 | 精品国产三级国产av| 中字乱码视频| 日韩电影一区二区三区| 国产亚洲欧美在线播放网站| 日产分东风日产还有什么日产| 情人伊人久久综合亚洲| 911精品国产91久久久久| 青青草最新在线视频观看| 草草影院ccyy国产日本欧美| 成人白浆超碰人人人人| 啊v在线视频| 精品乱色一区二区中文字幕| 亚洲精品国产美女久久久| 亚洲精品综合第一国产综合| 久久99免费精品国产| 无码av不卡一区二区三区|