詳細については、以下をご覧ください。 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 分散アプリケーション農業温室データ監視の解釈
話せば話すほど、当初の意図を忘れやすくなります。飲食O2O分野で起業した沙水氏は、関連する話題と議論...
2013年にBaiduアルゴリズムが継続的に導入されたことにより、「コンテンツが王、外部リンクが女王...
budgetvmは、アメリカの老舗ブランドenzuコンピュータルームのブランドで、主に物理サーバーの...
コンテナの採用と使用が増加し続けるにつれて、Kubernetes (K8s) はコンテナ オーケスト...
SEO に携わる人なら、トラフィックがどのように発生するかを知っています。ユーザーがキーワードを検索...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス10年以上前、私が初めて...
[51CTO.com からのオリジナル記事] 今日、デジタル化は新たな常態となり、伝統的な経済からデ...
数日前、licloud の香港 VPS がリリースされました。これは、100Mbps の帯域幅を年間...
私たちは絶えず進化する世界に住んでおり、すべての組織は新しいタイプのイノベーションに向けて行動を推進...
11月7日、エッジコンピューティングコミュニティが主催する「グローバルエッジコンピューティングカンフ...
伝統的な業界の電子商取引サイトの場合、短期間で自社、製品、サイトの知名度と評判を迅速に高め、優れたブ...
先月、Witkeyのウェブサイトを引き継ぎました。過去2年間、Witkeyのウェブサイトの市場影響力...
gotechperu は比較的新しいホスティング会社で、3 年の歴史があると主張しています。公式 W...
皆さんは、もう百度ウェブマスターツールを使い始めていると思います。百度ウェブマスターツールのアップグ...
gcorelabs は、誰もが知っている VPS 事業だけではなく、クラウド(クラウドサーバー)事業...