詳細については、以下をご覧ください。 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 分散アプリケーション農業温室データ監視の解釈
Baidu は最近、独自の共有ツールである Baidu Share をリリースしました。同時に、同社...
翻訳者 |崔浩この記事では主に、Service Mesh が Kubernetes のコストにどのよ...
中国のパソコンユーザーにとって、パソコンにインストールされているソフトウェアのほとんどはおそらくフリ...
10月21日、中国情報通信研究院が開催したクラウドネイティブ産業カンファレンスにおいて、テンセントク...
ウェブサイトの最初から、開発プロセスと参加プロセス全体を決定する必要があります。 SEO プロジェク...
大画面時代を迎え、スマートテレビが大人気。デジタルマーケティングの生命線をどう掴むのか?ブランドイメ...
編集者注/スマート端末の急速な普及により、アプリケーションのダウンロードが劇的に増加しました。モバイ...
最近、メール以外の連絡手段をすべて削除し、プライベートチャットやグループチャットへの参加もやめました...
インターネットが私たちの生活に深く浸透するにつれて、インターネットが変えることができる領域はますます...
justhost は、皆さんご存知のとおり、2008 年に設立され、ホスティング業界で急速に発展して...
西安ホットラインは、西安で開催されるこのインターネット起業家(ウェブマスター)カンファレンスに特別招...
raksmartクラウドサーバーはどうですか? raksmart香港クラウドサーバーはどうですか? ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeChatが使われるよ...
さまざまなプラットフォームに対する開発者の関心(写真提供:テンセントテクノロジー)テンセントテクノロ...
クラウドネイティブ時代において、Kubernetes の重要性はますます高まっています。この記事では...