詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したHongmengテクノロジーコミュニティ https://harmonyos..com 1 はじめにこの記事は、OpenHarmonyOS 3.0 LTS に基づいて、異なるデバイス間でデータベース データの分散を提供する分散データ サービス (DDS) の機能について説明します。アーキテクチャの観点から見ると、分散データ サービスはオープン ソースの Hongmeng 基盤サービスの基本サービスであり、分散タスク スケジューリングと同じレベルにあります。ただし、分散タスクスケジューリング機能を使用する場合、完全な分散機能を実現するために、基本的にはさらにデータ連携機能が必要になります。したがって、分散タスク スケジューリングを学習する際には、分散データ サービスに関連する機能と基盤となるサービスを学習することが不可欠です。 この記事を書いているときに、JS DEMO をデバッグしているときに、下位レベルの Ark JS ランタイム レイヤーにバグがあることを発見しました。問題を提出し、PR を提出しようとしました。 DEMO の実行中に問題が発生した場合は、上記の PR をマージし、システム全体を再コンパイルしてマシンをフラッシュしてから、もう一度試してください。 1.1 配布関連
1.2 OpenHarmony アーキテクチャ図2 基本2.1 概要まず、オープンソースの Hongmeng 公式ドキュメントにある分散データ サービスの説明を見てみましょう。 分散データ サービス (DDS) は、異なるデバイス間でデータベース データを分散する機能を提供します。分散データ サービスは、アカウント、アプリケーション、データベースの 3 つを組み合わせることでデータを分離します。分散データ サービスは、信頼できる認証済みデバイス間のデータ同期をサポートし、複数の端末デバイスで一貫したデータ アクセス エクスペリエンスをユーザーに提供します。 現在、オープンソースの Hongmeng にはまだアカウント機能が統合されていないため、テスト時にはアカウントを自由に選択し、一貫して情報を入力することができます。完全な分散データ分離を実現し、複数の端末デバイスで一貫したデータ アクセス エクスペリエンスを提供するには、アプリケーションとデータベースの一貫性を維持する必要があります。 2.2 ソースコードの構造
2.3 分散データサービスアーキテクチャ設計図2.4 データ同期公式ドキュメントでは次のように説明されています: 分散データベースの作成、アクセス、およびサブスクリプション機能は、分散データ サービス インターフェイスを呼び出すことによって実装されます。サービス インターフェイスは、サービス コンポーネントによって提供される機能を操作して、ストレージ コンポーネントにデータを格納します。ストレージ コンポーネントは同期コンポーネントを呼び出してデータを同期します。同期コンポーネントは、通信適応層を使用してデータをリモート デバイスと同期します。リモート デバイスは同期コンポーネントを介してデータを受信し、それをローカル ストレージ コンポーネントに更新します。 2.5 分散データ最終的な一貫性: これは、デバイスがデータの追加、削除、または変更を正常に実行した後、ネットワーク内のデバイスは更新されたデータを読み取ることができない可能性があるが、一定の時間枠が経過すると、ネットワーク内のデバイスのデータは一貫した状態になる可能性があることを意味します。 強力な一貫性には、分散サーバーのシナリオで発生する可能性のある分散データの管理に対する非常に高い要件があります。モバイル デバイスは常にオンラインであるとは限らず、分散型の性質を持つため、分散データ サービスは強力な一貫性をサポートせず、結果的な一貫性のみをサポートします。 現在、分散データのデータモデルは KV データモデルのみをサポートしており、外部キーやトリガーなどのリレーショナルデータベースにおける技術的なポイントはサポートされていません。オープンソースの Hongmeng 基盤レイヤーは SQLITE3 に基づくリレーショナル データベースをサポートしていますが、分散データ レベルではサポートしていません。 現在の KV データ モデルの制限:
2.6 使用の前提条件オープンソースのHongmengの配布データソースコードから、現在は携帯電話(phone)、ウェアラブルデバイス(wearable)、車載システム(ivi)のみに搭載されることがわかります。その他の軽量デバイスは、当面サポートされないか、サポートするために調整およびカスタマイズが必要になる場合があります。 現在、この機能は 2 つの標準デバイスのオープン ソース システム Hongmeng にデフォルトで統合されており、直接使用できます。 オープンソース Hongmeng の分散データが単一のマシンでのみ使用される場合、前提条件は必要ありません。分散機能が必要な場合は、デバイス間でネットワークを構築する必要があります。ネットワーク接続の前提条件は、デバイス認証を完了することです。具体的な手順については、分散タスク スケジューリングの OpenHarmony ソース コード分析を参照してください。 3 プログラミングインターフェース3.1 モジュールのインポート
次のインターフェースのほとんどには、コールバックとプロミスという 2 つの非同期メソッドがあります。この記事では、promise メソッドを例に説明します。コールバックメソッドは似ています。ご自身でドキュメントを参照してください。 3.2 マネージャーの作成
データベース オブジェクトを管理するための KVManager オブジェクト インスタンスを作成し、それを Promise を通じて返します。このメソッドは非同期メソッドです。 例:
3.3 ストレージインスタンスを取得する
Options と storeId を指定して、KVStore データベースを作成および取得し、Promise モードで返します。このメソッドは非同期メソッドです。 例:
3.4 保存、取得、削除、同期
3.5 イベント通知コールバックの登録SubscribeType はサブスクリプションの種類を説明します。
4 まとめ上記の手順は、DevEco Studio 3.0.0.600 x64 で正常に記述され、2 つの Hi3516D デバイス間で正常に実行されます。コード(分散タスクスケジューリングおよび分散データテスト.zip)が添付されています。 もう一度言いますが、基盤となる分散データは ARK JS エンジンに依存していることにご注意ください。現在、文字列処理にバグが見つかりました。操作中に問題が発生した場合は、まず PR をマージし、システム全体を再コンパイルしてマシンをフラッシュしてから、DEMO を実行してください。 詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したHongmengテクノロジーコミュニティ https://harmonyos..com |
<<: 2022年以降に注目すべきエッジコンピューティングの5つのトレンド
>>: HarmonyOS 分散アプリケーション農業温室データ監視の解釈
皆さんおはようございます。今日は週末です。杭州の多くの企業は休業していますが、ウェブサイトの最適化の...
この記事の著者@小吉的宠物、デザインと開発の間には微妙な境界線がありますが、時代がさらに10年に入る...
以前、vpsace のプロモーションについて書きました (こちらを参照)。 全体的な状況: Inte...
メンズソックスについてインタビューを受ける前に、私はそれについて印象を持っていました。私はいつも技術...
どのウェブマスターも外部リンクを投稿していると思いますし、もちろん広告を投稿することも多いと思います...
中国企業動態は、14の主要業界の500人以上のポータルサイトユーザーを対象にインタビューと調査を実施...
オンラインの世界には、何百億ものウェブページが存在します。検索エンジンはそれらのほとんどを分類し、ラ...
クラウド コンピューティングとクラウド ネイティブ テクノロジーの発展に伴い、主要なクラウド コンピ...
Porter は、独自のクラウド プロバイダーで実行できる Kubernetes ベースの PaaS...
1. クラウドアプリケーションの現状と課題Gビヘイビアは「123+N」デジタル開発システムを深化させ...
letbox は新しいビジネスではありませんが、まだ設立されて間もないです。ドメイン名から全体的な印...
多くのSEO担当者の目には、ウェブサイトの再設計は非常に神秘的なものです。彼らは皆、ウェブサイトの再...
MaToilet MTの失敗後も、王欣はソーシャルネットワーキングの探求をやめなかった。 Tech ...
Baidu のアルゴリズムが変化するにつれて、ウェブサイト上のオリジナル記事の問題にさらに注目が集ま...
solusvm パネルに問題が発生して以来、bluevm は独自のコントロール パネルの開発を開始し...