(57)【要約】      （修正有）【課題】地理情報システムエンジンの性能等を向上させるＧＩＳエンジンシステムを提供する【解決手段】ＧＩＳエンジンシステム１００において、Ｎ個の異なるデータソースをサポートする基盤データソース１０及びコアエンジン層２０を含む。Ｎは１より大きい正整数である。コアエンジン層は、全文検索エンジン（ＥＳ、ＥｌａｓｔｉｃＳｅａｒｃｈ）２０１とサービス提供層２０２を含む。全文検索エンジンは、全文検索のキャッシュとして使用され、分散ロックメカニズムにより基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証する。サービス提供層は、全文検索エンジン及び基盤データソースに基づいて各種のサービスを提供する。【選択図】図１
2022002092.tif 000002
【特許請求の範囲】
【請求項１】
地理情報システムＧＩＳエンジンシステムであって、
Ｎ種類の異なるデータソースをサポートする基盤データソース及びコアエンジン層を含み、Ｎは１より大きい正整数であり、前記コアエンジン層は、全文検索エンジン及びサービス提供層を含み、
前記全文検索エンジンは、全文検索のキャッシュとして使用され、分散ロックメカニズムにより前記基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証し、
前記サービス提供層は、前記全文検索エンジン及び前記基盤データソースに基づいて各種のサービスを提供する、
ＧＩＳエンジンシステム。
【請求項２】
前記コアエンジン層により提供されるサービスをマイクロサービスの形式に統一的にカプセル化する機能サービス層をさらに含む、請求項１に記載のＧＩＳエンジンシステム。
【請求項３】
前記基盤データソース及び前記全文検索エンジンは、何れも分散クラスタ配置方式を採用し、
前記サービスは、オープン地理空間情報コンソーシアム標準をサポートするサービスを含み、前記サービス提供層は、前記オープン地理空間情報コンソーシアム標準をサポートするサービスを提供する地図サーバ分散クラスタを含み、
前記機能サービス層は、前記コアエンジン層により提供されるサービスをマイクロサービス形式に統一的にカプセル化するＧＩＳマイクロサービスクラスタを含む、
請求項２に記載のＧＩＳエンジンシステム。
【請求項４】
前記コアエンジン層は、要求に合致するデータをキャッシュし、キャッシュされたデータを優先的に使用するキャッシュ層をさらに含む、請求項１に記載のＧＩＳエンジンシステム。
【請求項５】
前記ＧＩＳエンジンシステムは、Ｍ個のデータセンターに配備され、Ｍは正整数であり、
各データセンターは、それぞれ独自のロードバランシングメカニズムを有し、
各データセンターの間は、ボーダーゲートウェイプロトコルロードバランシングにより各データセンターの間のルーティングを実現し且つ最適なルーティングを選択する、
請求項１に記載のＧＩＳエンジンシステム。
【請求項６】
前記ＧＩＳエンジンシステム内のすべての関連コンポーネントは、コンテナ配置方式を採用する、請求項１に記載のＧＩＳエンジンシステム。
【請求項７】
コンピュータによって実施される、地理情報システムＧＩＳエンジンシステムの実現方法であって、
Ｎ（Ｎは１より大きい正整数である）種類の異なるデータソースをサポートする基盤データソース及びコアエンジン層を含むＧＩＳエンジンシステムを構築することと、
前記コアエンジン層に全文検索エンジン及びサービス提供層を設置することと、を含み、
前記全文検索エンジンは、全文検索のキャッシュとして使用され、分散ロックメカニズムにより前記基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証し、
前記サービス提供層は、前記全文検索エンジン及び前記基盤データソースに基づいて各種のサービスを提供する、
方法。
【請求項８】
前記ＧＩＳエンジンシステムは、前記コアエンジン層により提供されるサービスをマイクロサービスの形式に統一的にカプセル化する機能サービス層をさらに含む、請求項７に記載の方法。
【請求項９】
前記基盤データソース及び前記全文検索エンジンは、何れも分散クラスタ配置方式を採用し、
前記サービスは、オープン地理空間情報コンソーシアム標準をサポートするサービスを含み、前記サービス提供層は、前記オープン地理空間情報コンソーシアム標準をサポートするサービスを提供する地図サーバ分散クラスタを含み、
前記機能サービス層は、前記コアエンジン層により提供されるサービスをマイクロサービスの形式に統一的にカプセル化するＧＩＳマイクロサービスクラスタを含む、
請求項８に記載の方法。
【請求項１０】
前記コアエンジン層は、要求に合致するデータをキャッシュし、キャッシュされたデータを優先的に使用するキャッシュ層をさらに含む、請求項７に記載の方法。
【請求項１１】
前記ＧＩＳエンジンシステムは、Ｍ個のデータセンターに配備され、Ｍは正整数であり、
各データセンターは、それぞれ独自のロードバランシングメカニズムを有し、
各データセンターの間は、ボーダーゲートウェイプロトコルロードバランシングにより各データセンターの間のルーティングを実現し、最適なルーティングを選択する、
請求項７に記載の方法。
【請求項１２】
前記ＧＩＳエンジンシステム内のすべての関連コンポーネントは、コンテナ配置方式を採用する、請求項７に記載の方法。
【請求項１３】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサと通信接続されたメモリと、を備え、
前記メモリに前記少なくとも１つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも１つのプロセッサにより実行されると、前記少なくとも１つのプロセッサに請求項１〜６のいずれか一項に記載の方法を実行させる電子デバイス。
【請求項１４】
コンピュータに請求項１〜６のいずれか一項に記載の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体。
【請求項１５】
コンピュータに請求項１〜６のいずれか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータ応用技術に関し、特に、インテリジェント検索及びクラウドコンピューティング分野における地理情報システムエンジンシステム及び実現方法、装置並びに記憶媒体に関する。
【背景技術】
【０００２】
一般的なインテリジェント検索エンジンシステムとして、現在の地理情報システム（ＧＩＳ、Ｇｅｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ）エンジンシステムは、一般的にオープンソースの地図サーバ（Ｇｅｏｓｅｒｖｅｒ）により基盤データソースにドッキングし、Ｇｅｏｓｅｒｖｅｒを介してオープン地理空間情報連合（ＯＧＣ、Ｏｐｅｎ  Ｇｅｏｓｐａｔｉａｌ  Ｃｏｎｓｏｒｔｉｕｍ）標準をサポートするサービスを配布する。
【０００３】
上記のＧＩＳエンジンシステムは、オブジェクトリレーショナルデータベース管理システム（ｐｏｓｔｇｒｅｓｑｌ）やローカル形状ファイル（ｓｈａｐｅｆｉｌｅ）などの単一のデータソースのみをサポートしており、パフォーマンスが制限されており、且つリレーショナルクエリのみをサポートしており、検索効率が悪い。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、地理情報システムエンジンシステム及び実現方法、装置並びに記憶媒体を提供する。
【課題を解決するための手段】
【０００５】
Ｎ（Ｎは１より大きい正整数である）種類の異なるデータソースをサポートする基盤データソース及びコアエンジン層を含み、前記コアエンジン層に全文検索エンジン及びサービス提供層が含まれ、前記全文検索エンジンは、全文検索のキャッシュとして使用され、分散ロックメカニズムにより前記基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証し、前記サービス提供層は、前記全文検索エンジン及び前記基盤データソースに基づいて各種のサービスを提供する地理情報システムＧＩＳエンジンシステムを提供する。
【０００６】
Ｎ（Ｎは１より大きい正整数であり）種類の異なるデータソースをサポートする基盤データソース及びコアエンジン層を含むＧＩＳエンジンシステムを構築することと、前記コアエンジン層に全文検索エンジン及びサービス提供層を設置することとを含み、前記全文検索エンジンは、全文検索のキャッシュとして使用され、分散ロックメカニズムにより前記基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証し、前記サービス提供層は、前記全文検索エンジン及び前記基盤データソースに基づいて各種のサービスを提供する、地理情報システムＧＩＳエンジンシステムの実現方法を提供する。
【０００７】
少なくとも１つのプロセッサと、  前記少なくとも１つのプロセッサと通信接続されたメモリと、を備え、前記メモリに前記少なくとも１つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも１つのプロセッサにより実行されると、前記少なくとも１つのプロセッサに上記の方法を実行させる電子デバイスを提供する。
【０００８】
コンピュータに上記の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【０００９】
上記開示における１つの実施形態は、複数の異なるデータソースをサポートすることができ、単一のデータソースに限定されないため、ＧＩＳエンジンの性能が向上し、広い適用性があり、更に全文検索エンジン等に基づいて全文検索を実現することができ、検索効率及び検索精度等が向上するという利点又は有益な効果がある。
【００１０】
理解すべきなのは、この部分で説明される内容は、本開示の実施形態の肝心又は重要な特徴を識別することを意図しておらず、本開示の範囲を制限することを意図していない。本開示の他の特徴は、以下の説明により容易に理解される。
【図面の簡単な説明】
【００１１】
図面は、本発明をよりよく理解するためのものであり、本開示を限定するものではない。ここで、
【図１】本開示に記載のＧＩＳエンジンシステム１００の第１実施形態の構成図である。
【図２】本開示に記載のＧＩＳエンジンシステム１００の第２実施形態の構成図である。
【図３】本開示に記載の全文検索エンジン２０１に対応する分散クラスタ配置方式の概略図である。
【図４】本開示に記載のマルチデータソースをサポートする方法の概略図である。
【図５】本開示に記載のマルチデータセンターの概略図である。
【図６】本開示に記載のＧＩＳエンジンシステム１００に対応する論理アーキテクチャ及びリソース編成の概略図である。
【図７】本開示に記載のＧＩＳエンジンシステムの実現方法の実施形態のフローチャートである。
【図８】本発明の実施形態に記載の方法による電子デバイスのブロック図である。
【発明を実現するための形態】
【００１２】
以下、図面に基づいて、本開示の例示的な実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【００１３】
また、理解すべきなのは、本願中の専門語である「及び／又は」は、関連対象を描画する関連関係に過ぎず、三つの関係がある可能性を示す。例えば、Ａ及び／又はＢは、Ａだけが存在すること、ＡとＢが同時に存在すること、Ｂだけが存在する、という三つの状況を示すことができる。また、本願中の文字である「／」は、一般的に、前後の関連対象が「又は」の関係を有すると示す。
【００１４】
図１は、本開示に記載のＧＩＳエンジンシステム１００の第１実施形態の構成図である。図１に示すように、Ｎ種類の異なるデータソースをサポートする基盤データソース１０とコアエンジン層２０とを含み、Ｎは１より大きい正整数である。コアエンジン層２０には、全文検索エンジン（ＥＳ、ＥｌａｓｔｉｃＳｅａｒｃｈ）２０１とサービス提供層２０２とがさらに含まれる。
【００１５】
ＥＳ２０１は全文検索のキャッシュとして、分散ロックメカニズムを介して基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式を介してデータの時効性を保証することができる。サービス提供層２０２は、ＥＳ２０１及び基盤データソース１０に基づいて各種のサービスを提供することができる。
【００１６】
図２は、本開示に記載のＧＩＳエンジンシステム１００の第２実施形態の構成図である。図２に示すように、ＧＩＳエンジンシステム１００には、コアエンジン層２０により提供されるサービスをマイクロサービスの形態として統一的にカプセル化する機能サービス層３０も含まれてよい。
【００１７】
以下では，上記の各部分についてそれぞれ具体的に説明する。
【００１８】
１）基盤データソース１０
基盤データソース１０は、マルチソースデータアダプタをカスタマイズすることで、ｐｏｓｔｇｒｅｓｑｌ、データウェアハウスアプリケーション向けリレーショナルデータベース（ｇｒｅｅｎｐｌｕｍ）、ガウスデータベース、ローカルｓｈａｐｅｆｉｌｅファイル、ローカルコンマ区切り値（ＣＳＶ、Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイルなど、様々な異なるデータソースをサポートすることができる。これにより、ＧＩＳエンジンのパフォーマンスが向上し、広範な適用性が得られる。
【００１９】
基盤データソース１０１は、分散クラスタ配置方式を採用して基盤データの高可用性を保証することができる。
【００２０】
２）コアエンジン層２０
コアエンジン層２０は、ＥＳ２０１及びサービス提供層２０２をさらに含んで良い。
【００２１】
コアエンジン層２０は、ＥＳ２０１が統合されており、全文検索のキャッシュとして利用されており、分散ロックメカニズムにより基盤データソース１０とのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証することができる。
【００２２】
ＥＳ２０１は、分散クラスタ配置方式を採用可能であり、内蔵のロードバランシングにより、ＥＳ２０１の高可用性が保証される。図３は、本開示に記載のＥＳ２０１に対応する分散クラスタ配置方式の概略図である。図３に示すように、本実施形態ではＥＳを構築し、高性能のキー値（ＫＶ、Ｋｅｙ−Ｖａｌｕｅ）検索を実現し、高度な検索サービスを上位層へ提供し、さらに、最適検索器（Ｓｅａｒｃｈｅｒ）アルゴリズムの枠組みを用いて、単語分割、拡張、誤り訂正、統合、エンパワーメント、並べ替えなどの手段を用いることにより、検索の精度を向上させることなどが可能である。図３に示すＧＩＳ検索エンジン（Ｓｅａｒｃｈ  Ｅｎｇｉｎｅ）と基盤検索ノードが共にＥＳ２０１を構成すると考えられる。
【００２３】
本実施形態で述べた検索方式は、従来のリレーショナルクエリ方式に比べて、検索効率や検索精度などを大幅に向上させることができる。
【００２４】
図４は、本開示に記載のマルチデータソースをサポートする方法の概略図である。図４に示すように、本実施形態におけるＧＩＳ検索サービスは、ＧＩＳ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅを読み込むことで外部サービスの提供を実現可能である。ＧＩＳ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅはリアルタイムでバイドゥ地図などを呼び出してルート計画などのサービスを提供し、インターネットにおける関連データのリアルタイム性を確保することができ、ＧＩＳ編集サービスを介してインデックスをリアルタイムで更新し、分散ロックメカニズムを介してインデックスをマイクロバッチ更新の方式で基盤データソースに同期させることができる。分散ロックメカニズムは、マルチデータソースのデータ整合性を確保するために用いられ、Ｒａｆｔ分散整合性アルゴリズムなどを用いて実現することができる。
【００２５】
サービス提供層２０２は、ＥＳ２０１及び基盤データソース１０に基づいて様々なサービスを提供することができる。前記サービスは、ＯＧＣ標準（ＯＧＣ  Ｓｕｐｐｏｒｔ）をサポートするサービス、及びＲＥＳＴスタイル（Ｒｅｓｔｆｕｌ）サービスなどを含むことができる。ＲＥＳＴは、表現的状態伝達（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）の略称である。ここで、ＯＧＣ標準をサポートするサービスは、ネットワークマップサービス（ＷＭＳ、Ｗｅｂ  Ｍａｐ  Ｓｅｒｖｉｃｅ）、ネットワーク要素サービス（ＷＦＳ、Ｗｅｂ  Ｆｅａｔｕｒｅ  Ｓｅｒｖｉｃｅ）、ネットワークマップタイルサービス（ＷＭＴＳ、Ｗｅｂ  Ｍａｐ  Ｔｉｌｅ  Ｓｅｒｖｉｃｅ）などを含むことができる。Ｒｅｓｔｆｕｌサービスは、空間照会サービス、バッファ分析（Ｂｕｆｆｅｒ  Ａｎａｌｙｓｉｓ）サービス、地図検索（Ｇｅｏ  Ｓｅａｒｃｈ）サービス、経路計画サービスなどを含むことができる。具体的にどのサービスを含むかは、実際のニーズに応じて決定することができる。
【００２６】
サービス提供層２０２は、ＯＧＣ標準をサポートするサービスを提供するための地図サーバ（Ｇｅｏｓｅｒｖｅｒ）分散クラスタを含むことにより、サービスの高可用性を保証することができる。
【００２７】
コアエンジン層２０には、要件に合致するデータをキャッシュし、キャッシュされたデータを優先的に使用するためのキャッシュ層２０３がさらに含まれてよい。前記要件に合致することについて、具体的にどのような要件であるかは、実際のニーズに応じて決定すれば良く、例えば、ホットスポットデータをキャッシュし、使用しようとするデータがキャッシュにある場合に、キャッシュから優先的にデータを取得することにより、データの読取効率及びサービス性能などを向上することができる。
【００２８】
具体的には、ブラウザキャッシュ（ＷｅｂＣａｃｈｅ）技術を介して、リモート辞書サービス（Ｒｅｄｉｓ、Ｒｅｍｏｔｅ  Ｄｉｃｔｉｏｎａｒｙ  Ｓｅｒｖｅｒ）クラスタを使用してデータのキャッシュを行うことができる。
【００２９】
３）機能サービス層３０
機能サービス層３０は、コアエンジン層２０が提供するサービスをマイクロサービス形式に統一的にカプセル化することにより、機能サービス間のデカップリングを実現し、動的な容量拡張・縮小をサポートし、ひいては柔軟的な伸縮を実現することができる。
【００３０】
ここで、機能サービス層３０にはＧＩＳマイクロサービスクラスタが含まれており、ＧＩＳマイクロサービスクラスタによりコアエンジン層２０が提供するサービスをマイクロサービス形式に統一的にカプセル化して上位層へサービスを提供し、上位層のブラウザ又はアプリケーション（ＡＰＰ）を介して効果の最終的な表示を実現することができる。
【００３１】
さらに、本実施形態におけるＧＩＳエンジンシステム１００は、Ｍ個のデータセンター（エンジンルーム）に配備されてもよく、Ｍは正整数であり、具体的に実際の必要に応じて値を決定すれば良い。図５は、本開示に記載のマルチデータセンターの概略図である。図５に示すように、各データセンターにはそれぞれ独自のロードバランシングメカニズムがあり、例えば、各データセンターのそれぞれには自身の４層と７層のロードバランシングメカニズムがある。更に、各データセンターの間は、ボーダーゲートウェイプロトコルロードバランシング（ＢＧＰ  Ｌｏａｄ  Ｂａｌａｎｃｅｒ）により、各データセンターの間のルーティングを可能にし、最適なルーティングを選択することで、サービスの分散型マルチエンジンルームの配置を実現することができる。
【００３２】
本実施形態に記載されたＧＩＳエンジンシステム１００内のすべての関連コンポーネントは、コンテナ（Ｄｏｃｋｅｒ）配置方式を採用することができ、Ｋｕｂｅｒｎｅｔｅｓを使用してサービスを編成し、機敏で拡張可能なアプリケーションを構築して実行し、Ｐｒｏｍｅｔｈｅｕｓなどのコンポーネントを介してサービスを監視することができる。Ｋｕｂｅｒｎｅｔｅｓは、コンテナアプリケーションの配置、拡張、及び管理を自動化するオープンソースシステムである。
【００３３】
本実施形態では、対応するサービスのサービスレベルアグリーメント（ＳＬＡ、ＳｅｒｖｉｃｅＬｅｖｅｌＡｇｒｅｅｍｅｎｔ）を制定することにより、サービスの可用性を保証することもできる。ログサービスと通知サービスにより構築されたオペレーション＆メンテナンスモニタリングシステムは、サービスに問題が発生した場合に、７＊２４時間で対応するオペレーション＆メンテナンス担当者に適時にＳＭＳ又はメール形式で通知することができる。前記対応するサービスは、ＧＩＳエンジンシステム１００により提供される様々なサービスを含むことができる。
【００３４】
上記の説明に基づいて、図６は、本開示に記載のＧＩＳエンジンシステム１００に対応する論理アーキテクチャ及びリソース編成の概略図である。図６に示すように、インデックス作成により、ｐｏｓｔｇｒｅｓｑｌとＥＳの間のマッピングなどを作成でき、インデックスを読み取ることにより計算とストレージの分離を実現する。ＥＳは図面に示された基盤検索ノード（ｄｕＥＳ）とＧＩＳ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅを含み、その中のｄｕＥＳはサービス編成により水平拡張を実現し、ＧＩＳ  Ｓｅａｒｃｈ  ＥｎｇｉｎｅはＲｅｄｉｓとインタラクションしてデータの効率的なキャッシュを実現し、上位層へＲｅｓｔｆｕｌアプリケーションインタフェース（ＡＰＩ、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）などを提供することができる。ＧＩＳサービスは機能サービス層としてサービスを上位層へ提供し、最終的にブラウザあるいはＡＰＰを介して効果の最終的な表示を実現する。
【００３５】
また、データへの更新をオンラインコンピューティングとオフラインコンピューティングの２つのシナリオに分けることができる。オンラインコンピューティングは読み取り専用で応答時間を短縮し、オフラインコンピューティングは主に追加を行ってスループット容量を向上させる。
【００３６】
要するに、本開示に記載されたＧＩＳエンジンシステムによれば、複数の異なるデータソースをサポートすることにより、ＧＩＳエンジンの性能を向上させ、広範な適用性を有し、複数のデータソースを統合することができ、分散ロックメカニズムを使用することによりデータの整合性を実現すること及びマイクロバッチ更新方式によりデータの時効性を保証すること等ができる。ＥＳなどに基づいて全文検索を実現することにより、検索効率と検索精度などを向上することができる。ＥＳ、基盤データソース、Ｇｅｏｓｅｒｖｅｒなどは、何れも分散クラスタ配置方式を採用可能であり、データセキュリティとスループット性能の両方を備えたマルチコピー構成を行うことができ、サービスなどの高可用性を保証した。キャッシュ層を追加することにより、データ読取効率とサービスパフォーマンスなどを向上した。機能サービス層により機能サービス間のデカップリングを実現し，動的な容量拡張・縮小をサポートし，さらに柔軟な伸縮やサービス全体の高同時性などを実現することができる。
【００３７】
以上は、システムの実施形態に関する説明であり、以下で方法の実施形態により本開示に記載された技術案をさらに説明する。
【００３８】
図７は、本開示に記載のＧＩＳエンジンシステムの実現方法の実施形態のフローチャートである。図７に示すように、以下の具体的な実施形態を含む。
【００３９】
７０１では、Ｎ個の異なるデータソースをサポートする基盤データソース及びコアエンジン層を含むＧＩＳエンジンシステムを構築する。Ｎは１より大きい正整数である。
【００４０】
７０２では、コアエンジン層にＥＳ及びサービス提供層が配置される。ここで、ＥＳは全文検索のキャッシュとして使用され、分散ロックメカニズムにより基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式によりデータの時効性を保証する。サービス提供層はＥＳ及び基盤データソースに基づいて様々なサービスを提供する。
【００４１】
基盤データソースは、マルチソースデータアダプタをカスタマイズすることで、ｐｏｓｔｇｒｅｓｑｌ、ｇｒｅｅｎｐｌｕｍ、ガウスデータベース、ローカルｓｈａｐｅｆｉｌｅファイル、ローカルファイルなど、様々な異なるデータソースをサポートすることができる。基盤データソースは、分散クラスタ配置方式を採用して良い。
【００４２】
コアエンジン層は、ＥＳ及びサービス提供層をさらに含めることができる。このうち、ＥＳは全文検索のキャッシュとして使用され、分散ロックメカニズムを介して基盤データソースとのデータ整合性を実現し、マイクロバッチ更新方式を介してデータの時効性を保証することができる。ＥＳは、分散クラスタ配置方式を使用することもできる。
【００４３】
ＥＳにより、高性能なＫＶ検索を実現し、上位層へ高レベルの検索サービスを提供するとともに、Ｓｅａｒｃｈｅｒアルゴリズムの枠組みを最適化することにより、単語分割、拡張、誤り訂正、統合、エンパワーメント、並べ替えなどの手段で検索の精度を向上させることが可能である。
【００４４】
サービス提供層は、ＥＳ及び基盤データソースに基づいてさまざまなサービスを提供することができる。前記サービスは、ＯＧＣ標準をサポートするサービス及びＲｅｓｔｆｕｌサービスなどを含むことができる。ここで、ＯＧＣ標準をサポートするサービスは、ＷＭＳ、ＷＦＳ、ＷＭＴＳなどを含むことができる。Ｒｅｓｔｆｕｌサービスは、空間照会サービス、バッファ分析サービス、地図検索サービス、経路計画サービスなどを含むことができる。具体的にどのサービスが含まれるかは、実際のニーズに応じて決定すれば良い。
【００４５】
サービス提供層は、ＯＧＣ標準をサポートするサービスを提供するＧｅｏｓｅｒｖｅｒ分散クラスタを含むことができる。
【００４６】
コアエンジン層には、要件に合致するデータをキャッシュし、キャッシュされたデータを優先的に使用するためのキャッシュ層がさらに含まれてよい。前記要件に合致することについて、具体的にどのような要件であるかは、実際のニーズに応じて決定すれば良く、例えば、ホットスポットデータをキャッシュし、使用しようとするデータがキャッシュにある場合に、キャッシュから優先的にデータを取得する。具体的に、ＷｅｂＣａｃｈｅ技術を介して、Ｒｅｄｉｓクラスタを使用してデータのキャッシュを行うことができる。
【００４７】
ＧＩＳエンジンシステムは、コアエンジン層により提供されるサービスをマイクロサービス形式に統一的にカプセル化する機能サービス層も含まれてよい。ここで、機能サービス層にはＧＩＳマイクロサービスクラスタを含むことができ、ＧＩＳマイクロサービスクラスタによりコアエンジン層が提供するサービスをマイクロサービス形式に統一的にカプセル化する。
【００４８】
ＧＩＳエンジンシステムは、Ｍ個のデータセンターに配備されてもよく、Ｍは正整数である。各データセンターにはそれぞれ独自のロードバランシングメカニズムがあり、且つ各データセンターの間は、ＢＧＰ  Ｌｏａｄ  Ｂａｌａｎｃｅｒにより、各データセンターの間のルーティングを可能にし、最適なルーティングを選択することができる。
【００４９】
ＧＩＳエンジンシステム内のすべての関連コンポーネントは、コンテナ配置方式を採用することができ、Ｋｕｂｅｒｎｅｔｅｓを使用してサービスを編成し、機敏で拡張可能なアプリケーションを構築して実行し、Ｐｒｏｍｅｔｈｅｕｓなどのコンポーネントを介してサービスを監視することができる。
【００５０】
上記の方法の具体的な実現は、前述のシステムの実施形態における関連説明を参照でき、ここでは詳しく説明しない。
【００５１】
要するに、本開示に記載されたＧＩＳエンジンシステムによれば、複数の異なるデータソースをサポートすることにより、ＧＩＳエンジンの性能を向上させ、広範な適用性を有し、複数のデータソースを統合することができ、分散ロックメカニズムを使用することによりデータの整合性を実現すること及びマイクロバッチ更新方式によりデータの時効性を保証すること等ができる。ＥＳなどに基づいて全文検索を実現することにより、検索効率と検索精度などを向上することができる。ＥＳ、基盤データソース、Ｇｅｏｓｅｒｖｅｒなどは、何れも分散クラスタ配置方式を採用可能であり、データセキュリティとスループット性能の両方を備えたマルチコピー構成を行うことができ、サービスなどの高可用性を保証した。キャッシュ層を追加することにより、データ読取効率とサービスパフォーマンスなどを向上した。機能サービス層により機能サービス間のデカップリングを実現し，動的な容量拡張・縮小をサポートし，さらに柔軟な伸縮やサービス全体の高同時性などを実現することができる。
【００５２】
本発明の実施形態によれば、本発明は更に、電子デバイス及び可読記憶媒体を提供する。
【００５３】
図８は、本発明の実施形態に記載の方法による電子デバイスのブロック図である。電子デバイスは、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、ＰＤＡ、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子デバイスは、様々な形式のモバイル装置、例えば、ＰＤＡ、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。本文で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び／又は請求される本開示の実現を限定することが意図されない。
【００５４】
図８に示すように、この電子デバイスは、一つ又は複数のプロセッサＹ０１、メモリＹ０２、及び各構成要素に接続するための高速インターフェース及び低速インターフェースを含むインターフェースを備える。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子デバイス内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力／出力装置（例えば、インターフェースに結合される表示装置）にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び／又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子デバイスが接続されてもよく、それぞれのデバイスが必要な操作の一部を提供する（例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする）。図８において、一つのプロセッサＹ０１を例とする。
【００５５】
メモリＹ０２は、本開示で提供される非一時的コンピュータ可読記憶媒体である。なお、前記メモリには、少なくとも１つのプロセッサが本願に提供された方法を実行するように、前記少なくとも１つのプロセッサに実行可能なコマンドが記憶されている。本開示の非一時的コンピュータ可読記憶媒体は、本願に提供された方法をコンピュータに実行させるためのコンピュータコマンドを記憶している。
【００５６】
メモリＹ０２は、非一時的コンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本開示の実施例における方法に対応するプログラムコマンド／ユニットを記憶するために用いられる。プロセッサＹ０１は、メモリＹ０２に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の方法実施例における方法を実現する。
【００５７】
メモリＹ０２は、プログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、データ記憶領域は電子デバイスの使用により作成されたデータなどを記憶してもよい。また、メモリＹ０２は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリＹ０２は、プロセッサＹ０１に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介して電子デバイスに接続されてもよい。上記のネットワークの実例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【００５８】
電子デバイスは、更に、入力装置Ｙ０３と出力装置Ｙ０４とを備えても良い。プロセッサＹ０１、メモリＹ０２、入力装置Ｙ０３及び出力装置Ｙ０４は、バス又は他の手段により接続されても良く、図８においてバスによる接続を例とする。
【００５９】
入力装置Ｙ０３は、入力された数字又はキャラクタ情報を受信し、電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置Ｙ０４は、表示装置、補助照明装置、触覚フィードバック装置（例えば、振動モータ）などを含むことができる。当該表示装置は、液晶ディスプレイ、発光ダイオードディスプレイ、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【００６０】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用集積回路、コンピュータハードウェア、ファームウェア、ソフトウェア、及び／又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、当該記憶システム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能及び／又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【００６１】
これらのコンピューティングプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される）は、プログラマブルプロセッサの機械命令を含み、高水準のプロセス及び／又はオブジェクト向けプログラミング言語、及び／又はアセンブリ／機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び／又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び／又は装置（例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス）を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び／又はデータを提供するために用いられる任意の信号を指す。
【００６２】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置（例えば、ブラウン管又は液晶ディスプレイモニタ）、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス（例えば、マウスや、トラックボール）を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック（例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック）であり得、ユーザからの入力は、任意の形態で（音響、音声又は触覚による入力を含む）受信され得る。
【００６３】
本明細書に説明されるシステムと技術は、バックエンド構成要素を含むコンピューティングシステム（例えば、データサーバとする）、又はミドルウェア構成要素を含むコンピューティングシステム（例えば、アプリケーションサーバ）、又はフロントエンド構成要素を含むコンピューティングシステム（例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる）、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク、ワイド・エリア・ネットワーク、ブロックチェーンネットワーク、インターネットを含む。
【００６４】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント−サーバの関係を有するコンピュータプログラムによって生じる。
【００６５】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本開示に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本開示で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【００６６】
前記の具体的な実施形態は本開示の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本開示の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本開示の保護範囲内に含まれるべきである。
【図１】
2022002092.tif 000003
【図２】
2022002092.tif 000004
【図３】
2022002092.tif 000005
【図４】
2022002092.tif 000006
【図５】
2022002092.tif 000007
【図６】
2022002092.tif 000008
【図７】
2022002092.tif 000009
【図８】
2022002092.tif 000010