(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-23
(54)【発明の名称】軌跡近接クエリー方法、装置、電子デバイス及び読み取り可能な記憶媒体
(51)【国際特許分類】
G08G 1/00 20060101AFI20240116BHJP
【FI】
G08G1/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023540697
(86)(22)【出願日】2021-09-07
(85)【翻訳文提出日】2023-06-28
(86)【国際出願番号】 CN2021116994
(87)【国際公開番号】W WO2022142449
(87)【国際公開日】2022-07-07
(31)【優先権主張番号】202011583540.9
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523192370
【氏名又は名称】京▲東▼城市(北京)数字科技有限公司
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】李 瑞 遠
(72)【発明者】
【氏名】▲ユ▼ 自 生
(72)【発明者】
【氏名】鮑 捷
(72)【発明者】
【氏名】鄭 宇
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA14
5H181BB05
5H181EE02
5H181FF04
5H181FF10
5H181FF13
5H181FF27
5H181MC03
5H181MC12
5H181MC27
(57)【要約】
本開示は軌跡近接クエリー方法、装置、電子デバイス及び読み取り可能な記憶媒体を提供し、コンピュータ技術分野に関する。軌跡近接クエリー方法は、クエリー対象の第1の軌跡を取得し、第1の軌跡の空間位置情報を決定するステップと、第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップと、XZ-Orderingにより第1の軌跡の空間位置インデックスコードを決定するステップと、軌跡署名及び空間位置インデックスコードに基づいて、第1の軌跡の空間範囲インデックスを構築するステップを含む。本開示の解決策により、軌跡近接クエリー過程における時間複雑度の計算量を減少し、インデックスとクエリーの効率を高め、ディスクの読み書きと検証計算のオーバーヘッドを減少した。
【特許請求の範囲】
【請求項1】
クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定するステップと、
前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップと、
XZ-Orderingにより前記第1の軌跡の空間位置インデックスコードを決定するステップと、
前記軌跡署名及び前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築するステップを含む
ことを特徴とする軌跡近接クエリー方法。
【請求項2】
前記第1の軌跡の標識を決定するステップと、
前記第1の軌跡の標識を前記空間範囲インデックスのポストフィックスに追加するステップをさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1の軌跡の乱数を取得するステップと、
前記乱数を前記空間範囲インデックスのプレフィックスに追加するステップと、
前記プレフィックスに基づいて、前記空間範囲インデックスを分散サーバにランダムに格納するステップをさらに含む
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記クエリー対象領域を格納する第1の優先キューから一つのクエリー対象領域を取り出すステップと、
前記クエリー対象領域の空間位置インデックスコードのコード長さを決定するステップと、
前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップをさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップは、
前記コード長さが前記プリセット長さより大きいか否かを判定するステップと、
前記コード長さが前記プリセット長さより大きいと判定されると、前記クエリー対象領域を分割しないステップと、
前記クエリー対象領域内で空間範囲クエリー処理を実行するステップを含む
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップは、
前記コード長さが前記プリセット長さより大きいか否かを判定するステップと、
前記コード長さが前記プリセット長さ以下であると判定すると、サブノードクエリー対象領域のコード長さが前記プリセット長さ以上になるまで、前記クエリー対象領域を4ツリー再帰分割して、前記クエリー対象領域のサブノードクエリー対象領域を生成するステップをさらに含む
ことを特徴とする請求項4に記載の方法。
【請求項7】
前記クエリー対象領域の4ツリー再帰分割を停止した後、前記クエリー対象領域内の第2の軌跡を決定し、前記第2の軌跡を第2の優先キューに格納するステップをさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記第1の軌跡と前記クエリー対象領域との間の第1のフレシェ距離を決定するステップと、
前記第1のフレシェ距離が最大距離閾値以上であるか否かを判定するステップと、
前記第1のフレシェ距離が前記最大距離閾値以上であると判定すると、前記クエリー対象領域に対して領域剪定処理を行うステップと、
前記領域剪定処理の結果に基づいて、前記最大距離閾値を更新するステップをさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項9】
前記第1の軌跡の下界位置と、前記クエリー対象領域内の第2の軌跡の下界位置とを決定するステップと、
前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップをさらに含み、
前記下界位置は、始点下界位置、終点下界位置及び軌跡署名下界位置のうちの少なくとも1つを含む
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、
前記第1の軌跡の始点下界位置と前記第2の軌跡の始点下界位置との間の始点フレシェ距離を決定するステップと、
前記始点フレシェ距離と第1のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第1の下界剪定処理を行うステップを含む
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、
前記第1軌跡の終点下界位置と前記第2の軌跡の終点下界位置との間の終点フレシェ距離を決定するステップと、
前記終点フレシェ距離と第2のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第2の下界剪定処理を行うステップをさらに含む
ことを特徴とする請求項9に記載の方法。
【請求項12】
前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップは、
いずれかの前記クエリー対象領域の4つのサブノードクエリー対象領域に対して順序付け符号化を行うステップと、
前記第1の軌跡によって通過されたサブノードクエリー対象領域を第1の標識とし、前記第1の軌跡によって通過されなかったサブノードクエリー対象領域を第2の標識とするステップと、
前記順序付け符号化、前記第1の標識、及び第2の標識に基づいて、前記第1の軌跡の軌跡署名を決定するステップをさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項13】
前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、
前記第1の軌跡の軌跡署名下界と前記第2の軌跡の軌跡署名下界との間の軌跡署名フレシェ距離を決定するステップと、
前記軌跡署名フレシェ距離と第3のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第3の下界剪定処理を行うステップをさらに含む
ことを特徴とする請求項12に記載の方法。
【請求項14】
クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定するように構成される取得モジュールと、
前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するように構成される署名モジュールと、
XZ-Orderingにより前記第1の軌跡の空間位置インデックスコードを決定するように構成される決定モジュールと、
前記軌跡署名及び前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築するように構成されるインデックスモジュールを備える
ことを特徴とする軌跡近接クエリー装置。
【請求項15】
プロセッサと、
前記プロセッサの実行可能な命令を格納するためのメモリと、
前記プロセッサは、前記実行可能な命令を実行することによって、請求項1~13のいずれか1項に記載の軌跡近接クエリー方法を実行するように構成されている
ことを特徴とする電子デバイス。
【請求項16】
コンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~13のいずれか1項に記載の軌跡近接クエリー方法が実現される
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、2020年12月28日に出願された出願番号が202011583540.9で、名称が「軌跡近接クエリー方法、装置、電子デバイス及び読み取り可能な記憶媒体」である中国特許出願の優先権を主張し、当該中国特許出願のすべての内容は引用によってすべて本文に組み込まれる。
【0002】
本開示はコンピュータ技術分野に関し、特に軌跡近接クエリー方法、装置、電子デバイス及び読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
軌跡k近接クエリーとは、フレシェ距離に基づいて所定軌跡が空間的に最も近いk本の軌跡を見つけることを意味する。
【0004】
従来のクエリー技術は主に次のようになっている。クエリー軌跡を中心に周囲の空間範囲を絶えず拡大し、同時に最も近いk本の軌跡が見つかるまで、その空間内のすべての軌跡を巡回してクエリー軌跡との距離でソートする。
【0005】
しかし、スマートデバイスと位置ベースのサービスの広範な応用に伴い、規模の大きな軌跡データが生成され、関係型データベースに基づく従来の方法では、大量のデータ記憶と分析作業をサポートすることはできなくなっている。
【0006】
軌跡上の軌跡点の数が大きいため、フレシェ距離の計算量が多く、既存の軌跡近接クエリーには深刻な効率問題がある。
【0007】
なお、上記背景技術部分に開示されている情報は、本開示の背景の理解を強化するためにのみ使用されるので、当業者に知られている先行技術を構成していない情報を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示の目的は、関連技術における軌跡近接クエリーの非効率性に起因する問題を少なくともある程度克服する軌跡近接クエリー方法、装置、電子デバイス及び読み取り可能な記憶媒体を提供することにある。
【0009】
本開示の他の特性及び利点は、後の詳細な説明によって明らかになるか、又は部分的に本開示の実践によって習得されるであろう。
【課題を解決するための手段】
【0010】
本開示の一態様によれば、軌跡近接クエリー方法を提供し、クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定するステップと、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップと、XZ-Orderingにより前記第1の軌跡の空間位置インデックスコードを決定するステップと、前記軌跡署名及び前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築するステップを含む。
【0011】
本開示の一実施例において、前記第1の軌跡の標識を決定するステップと、前記第1の軌跡の標識を前記空間範囲インデックスのポストフィックスに追加するステップをさらに含む。
【0012】
本開示の一実施例において、前記第1の軌跡の乱数を取得するステップと、前記乱数を前記空間範囲インデックスのプレフィックスに追加するステップと、前記プレフィックスに基づいて、前記空間範囲インデックスを分散サーバにランダムに格納するステップをさらに含む。
【0013】
本開示の一実施例において、前記クエリー対象領域を格納する第1の優先キューから一つのクエリー対象領域を取り出すステップと、前記クエリー対象領域の空間位置インデックスコードのコード長さを決定するステップと、前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップをさらに含む。
【0014】
本開示の一実施例において、前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップは、前記コード長さが前記プリセット長さより大きいか否かを判定するステップと、前記コード長さが前記プリセット長さより大きいと判定されると、前記クエリー対象領域を分割しないステップと、前記クエリー対象領域内で空間範囲クエリー処理を実行するステップを含む。
【0015】
本開示の一実施例において、前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止するステップは、前記コード長さが前記プリセット長さより大きいか否かを判定するステップと、前記コード長さが前記プリセット長さ以下であると判定すると、サブノードクエリー対象領域のコード長さが前記プリセット長さ以上になるまで、前記クエリー対象領域を4ツリー再帰分割して、前記クエリー対象領域のサブノードクエリー対象領域を生成するステップをさらに含む。
【0016】
本開示の一実施例において、前記クエリー対象領域の4ツリー再帰分割を停止した後、前記クエリー対象領域内の第2の軌跡を決定し、前記第2の軌跡を第2の優先キューに格納するステップをさらに含む。
【0017】
本開示の一実施例において、前記第1の軌跡と前記クエリー対象領域との間の第1のフレシェ距離を決定するステップと、前記第1のフレシェ距離が最大距離閾値以上であるか否かを判定するステップと、前記第1のフレシェ距離が前記最大距離閾値以上であると判定すると、前記クエリー対象領域に対して領域剪定処理を行うステップと、前記領域剪定処理の結果に基づいて、前記最大距離閾値を更新するステップをさらに含む。
【0018】
本開示の一実施例において、前記第1の軌跡の下界位置と、前記クエリー対象領域内の第2の軌跡の下界位置とを決定するステップと、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップをさらに含み、前記下界位置は、始点下界位置、終点下界位置及び軌跡署名下界位置のうちの少なくとも1つを含む。
【0019】
本開示の一実施例において、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、前記第1の軌跡の始点下界位置と前記第2の軌跡の始点下界位置との間の始点フレシェ距離を決定するステップと、前記始点フレシェ距離と第1のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第1の下界剪定処理を行うステップを含む。
【0020】
本開示の一実施例において、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、前記第1軌跡の終点下界位置と前記第2の軌跡の終点下界位置との間の終点フレシェ距離を決定するステップと、前記終点フレシェ距離と第2のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第2の下界剪定処理を行うステップをさらに含む。
【0021】
本開示の一実施例において、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップは、いずれかの前記クエリー対象領域の4つのサブノードクエリー対象領域に対して順序付け符号化を行うステップと、前記第1の軌跡によって通過されたサブノードクエリー対象領域を第1の標識とし、前記第1の軌跡によって通過されなかったサブノードクエリー対象領域を第2の標識とするステップと、前記順序付け符号化、前記第1の標識、及び第2の標識に基づいて、前記第1の軌跡の軌跡署名を決定するステップをさらに含む。
【0022】
本開示の一実施例において、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、前記第1の軌跡の軌跡署名下界と前記第2の軌跡の軌跡署名下界との間の軌跡署名フレシェ距離を決定するステップと、前記軌跡署名フレシェ距離と第3のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第3の下界剪定処理を行うステップをさらに含む。
【0023】
本開示の別の一態様によれば、軌跡近接クエリー装置を提供し、クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定するように構成される取得モジュールと、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するように構成される署名モジュールと、XZ-Orderingにより前記第1の軌跡の空間位置インデックスコードを決定するように構成される決定モジュールと、前記軌跡署名及び前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築するように構成されるインデックスモジュールを備える。
【0024】
本開示のさらに別の一態様によれば、電子デバイスを提供し、プロセッサと、前記プロセッサの実行可能な命令を格納するためのメモリと、前記プロセッサは、前記実行可能な命令を実行することによって、上記のいずれか1項に記載の軌跡近接クエリー方法を実行するように構成されている。
【0025】
本開示のさらに別の一態様によれば、コンピュータ読み取り可能な記憶媒体を提供し、コンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行されると、上記のいずれか1項に記載の軌跡近接クエリー方法が実現される。
【0026】
本開示が提供する軌跡近接クエリースキームは、第1の軌跡の空間範囲インデックスを構築することによって、クエリー対象領域のインデックスとクエリーの効率を高め、さらにクエリー対象領域内でクエリー対象軌跡に隣接する軌跡を特定する効率と正確性を高めた。
【0027】
さらに、領域剪定によってクエリー対象領域に対して剪定処理を行うことで、第2の軌跡のクエリー範囲を簡素化し、空間範囲クエリーの効率を高め、クエリー過程を加速させた。
【0028】
さらに、第2の軌跡に対して下界剪定処理を行うことにより、フレシェ距離の計算量を低減し、不要な軌跡クエリーとクエリー時間を削減した。
【0029】
最後に、空間範囲インデックスを分散サーバにランダムに格納することにより、軌跡データの維持圧力を低下させ、軌跡近接クエリーの信頼性を向上させた。
【0030】
以上の一般的な説明及び後述の詳細な説明は例示的及び解釈的なものに過ぎず、本開示を限定するものではないことを理解すべきである。
【0031】
ここで図面は明細書に組み込まれて本明細書の一部を構成し、本開示に適合する実施例を示し、明細書とともに本開示の原理を説明するために使用される。明らかに、以下の説明における図面は、本開示のいくつかの実施例に過ぎず、当業者にとっては、創造的な労働を払わずに、これらの図面に基づいて他の図面を得ることもできる。
【図面の簡単な説明】
【0032】
【
図1A】本開示の実施例における軌跡近接クエリースキームのコード概略図を示す。
【
図1B】本開示の実施例における軌跡近接クエリースキームのコード概略図を示す。
【
図1C】本開示の実施例における軌跡近接クエリースキームのコード概略図を示す。
【
図1D】本開示の実施例における軌跡近接クエリースキームのコード概略図を示す。
【
図2】本開示の実施例における軌跡近接クエリー方法のフローチャートを示す。
【
図3】本開示の実施例における別の軌跡近接クエリー方法のフローチャートを示す。
【
図4】本開示の実施例における別の軌跡近接クエリー方法のフローチャートを示す。
【
図5】本開示の実施例における別の軌跡近接クエリー方法のフローチャートを示す。
【
図6】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図7】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図8】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図9】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図10】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図11】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図12】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図13】本開示の実施例におけるさらに別の軌跡近接クエリー方法のフローチャートを示す。
【
図14】本開示の実施例における軌跡近接クエリースキームの概略図を示す。
【
図15】本開示の実施例におけるさらに別の軌跡近接クエリースキームの概略図を示す。
【
図16】本開示の実施例における軌跡近接クエリースキームのテスト結果の模式図を示す。
【
図17】本開示の実施例における軌跡近接クエリースキームのテスト結果の模式図を示す。
【
図18】本開示の実施例における軌跡近接クエリースキームのテスト結果の模式図を示す。
【
図19】本開示の実施例における軌跡近接クエリースキームのテスト結果の模式図を示す。
【
図20】本開示の実施例における軌跡近接クエリー装置の概略図を示す。
【
図21】本開示の実施例における電子デバイスの概略図を示す。
【発明を実施するための形態】
【0033】
次に、図面を参照して、例示的な実施形態についてより詳細に説明する。しかし、例示的な実施形態は様々な形態で実施することができ、本明細書で説明する例に限定されると理解されるべきではない。対照的に、これらの実施形態は、本開示をより包括的かつ完全にし、例示的な実施形態の構想を当業者に全面的に伝えるように提供される。説明された特徴、構造、又は特性は、任意の適切な方法で1つ又は複数の実施形態に組み込むことができる。
【0034】
また、図面は本開示の概略的な図解に過ぎず、必ずしも比例して描かれているわけではない。図面における同じ符号は同一又は類似の部分を示すので、重複する説明は省略する。図面に示すブロック図のいくつかは機能エンティティであり、必ずしも物理的又は論理的に独立したエンティティに対応する必要はない。これらの機能エンティティは、ソフトウェア形式で実装されてもよいし、1つ以上のハードウェアモジュール又は集積回路で実装されてもよいし、異なるネットワーク及び/又はプロセッサ装置及び/又はマイクロコントローラ装置で実装されてもよい。
【0035】
本開示が提供するスキームは、第1の軌跡の空間範囲インデックスを構築することによって、クエリー対象領域のインデックスとクエリーの効率を高め、さらにクエリー対象領域内でクエリー対象軌跡に隣接する軌跡を特定する効率と正確性を高めた。さらに、領域剪定によってクエリー対象領域に対して剪定処理を行うことで、第2の軌跡のクエリー範囲を簡素化し、空間範囲クエリーの効率を高め、クエリー過程を加速させた。さらに、第2の軌跡に対して下界剪定処理を行うことにより、フレシェ距離の計算量を低減し、不要な軌跡クエリーとクエリー時間を削減した。最後に、空間範囲インデックスを分散サーバにランダムに格納することにより、軌跡データの維持圧力を低下させ、軌跡近接クエリーの信頼性を向上させた。
【0036】
図1に示すように、本開示の軌跡近接クエリースキームでは、以下のいくつかの重要な概念に関連する:
(1)GPSポイント(GPSPoint):GPSポイントp=(lat;lng;t)は一つの緯度lat、一つの経度lng、及び一つのタイムスタンプtを含む。移動物体がt時点に地理座標位置(lat;lng)に位置することを示す。
【0037】
【0038】
【0039】
【0040】
【0041】
(6)NoSQL:一般的に非関係型データベースを指し、そのデータ記憶は固定された表モードを必要とせず、それは大データ集合の多重データ種類がもたらす挑戦、特に大データ応用の難題を解決するために発生する。
【0042】
(7)HBase:高信頼性、高性能、列指向と伸縮性のある分散型記憶システムであり、安価な機械に大規模な構造化記憶クラスターを構築することができ、NoSQLの一種である。
【0043】
(8)フレシェ距離:Frechet Distance、経路空間類似性の記述であり、軌跡間の類似度を測定するためによく使われる。
【0044】
(9)XZ-Ordering:時間情報を結合した空間充填曲線の符号化方式である。
(10)優先キュー:要素に優先度が付与され、最も優先度の高い要素が最初に削除される一般的なデータ構造であるため、通常のキューの先入れ先出しに比べて、優先キューは最も高い優先度の先出しという特徴を持つ。
【0045】
本開示の実施例が提供するスキームは、ポストフィックスツリー、経路分解、分散アーキテクチャなどの技術に関し、具体的には次の実施例によって説明する。
【0046】
上記の軌跡近接クエリースキームは、複数の端末とサーバクラスタとのインタラクションによって実現することができる。
【0047】
端末は、携帯電話、ゲーム本体、タブレット、電子書籍リーダー、スマートメガネ、MP4(Moving Picture Experts Group Audio Layer IV、動画像専門家圧縮標準オーディオレイヤ4)プレーヤー、スマートホームデバイス、AR(Augmented Reality、拡張現実)デバイス、VR(Virtual Reality、仮想現実)デバイスなどのモバイル端末であり得、又は、端末は、ラップトップ型ポータブルコンピュータやデスクトップコンピュータなど、パーソナルコンピュータ(Personal Computer,PC)であり得る。
【0048】
ここで、端末には軌跡近接クエリーを提供するためのアプリケーションがインストールされていてもよい。
【0049】
端末とサーバクラスタの間は通信ネットワークを介して接続されている。オプションで、通信ネットワークは有線ネットワーク又は無線ネットワークである。
【0050】
サーバクラスタはサーバであるか、複数のサーバで構成されているか、仮想化プラットフォームであるか、クラウドコンピューティングサービスセンターである。サーバクラスタは、軌跡近接クエリーを提供するアプリケーションのバックグラウンドサービスを提供するために使用される。オプションとして、サーバクラスタはプライマリ計算作業を担当し、端末はセカンダリ計算作業を担当する。或いは、サーバクラスタはセカンダリ計算作業を担当し、端末はプライマリ計算作業を担当する。或いは、端末とサーバクラスタの間で分散計算アーキテクチャを用いて共同計算を行う。
【0051】
いくつかのオプションの実施例では、ポストフィックスツリーインデックスは最初に文字列をインデックスするために使用され、文字列ポストフィックス検索のパフォーマンスを向上させることができる。軌跡データ管理では、マッチング後の軌跡は文字列と見なすことができ、各道路区間の標識は文字列の1文字と等価であり、パスクエリー(時間フィルタ条件を考慮しない)は文字列のポストフィックス検索問題にマッピングすることができ、即ち、道路区間識別シーケンスを用いた検索は文字シーケンスを用いた検索と見なすことができる。
【0052】
オプションとして、異なる端末にインストールされているアプリケーションのクライアントは同じであるか、2つの端末にインストールされているアプリケーションのクライアントは、異なる制御システムプラットフォームの同じタイプのアプリケーションのクライアントである。端末プラットフォームの違いに基づいて、アプリケーションのクライアントの具体的な形態は異なっていてもよく、例えば、前記アプリケーションクライアントは携帯電話クライアント、PCクライアント、又はグローバル広域ネットワーククライアントなどであってもよい。
【0053】
当業者であれば、上記端末の数は、より多くても少なくてもよいことを認識することができる。例えば、上記端末は1つであってもよく、又は上記端末は数十又は数百、又はそれ以上であってもよい。本開示の実施例は、端末の数及びデバイスタイプを限定しない。
【0054】
オプションとして、前記システムは、通信ネットワークを介してサーバクラスタに接続された管理デバイスをさらに含むことができる。オプションで、通信ネットワークは有線ネットワーク又は無線ネットワークである。
【0055】
オプションとして、上述の無線ネットワーク又は有線ネットワークは、規格通信技術及び/又はプロトコルを使用する。ネットワークは、通常インターネットであるが、任意のネットワークであってもよいし、ローカルエリアネットワーク(Local Area Network,LAN)、都市ネットワーク(Metropolitan Area Network、MAN)、広域ネットワーク(Wide Area Network,WAN)、移動、有線又は無線ネットワーク、プライベートネットワーク、又は仮想プライベートネットワークの任意の組み合わせを含むが、これらに限定されない。いくつかの実施例では、ネットワークを介して交換されるデータを表すために、ハイパーテキストタグ言語(Hyper Text Mark-up Language,HTML)、拡張可能タグ言語(Extensible MarkupLanguage,XML)などを含む技術及び/又はフォーマットが使用される。さらに、セキュアソケット層(Secure Socket Layer,SSL)、トランスポート層セキュリティ(Transport Layer Security,TLS)、仮想プライベートネットワーク(Virtual Private Network,VPN)、インターネットプロトコルセキュリティ(Internet ProtocolSecurity,IPsec)などの従来の暗号化技術を使用して、すべて又はいくつかのリンクを暗号化することもできる。別のいくつかの実施例では、上記のデータ通信技術の代わりに、カスタマイズ及び/又は専用データ通信技術を使用するか、又は追加することもできる。
【0056】
以下、本例示的な実施形態における軌跡近接クエリー方法の各ステップについて、図面及び実施例を用いてより詳細に説明する。
【0057】
図2は、本開示の実施例における軌跡近接クエリー方法のフローチャートを示す。本開示の実施例が提供する方法は、計算処理能力を備えた任意の電子デバイスによって実行することができ、サーバクラスタを実行主体として例示的に説明する。
【0058】
図2に示すように、サーバクラスタは、以下のステップを含む軌跡近接クエリー方法を実行する。
【0059】
ステップS202において、クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定する。
【0060】
ステップS204において、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて軌跡署名を生成する。
【0061】
上記実施例では、クエリー対象領域をβ×β個の大きさの同じ領域に分け、βは1以上の整数であり、各領域を0から符号化する。即ち、軌跡trの空間位置情報は1つのβ×βバイナリシーケンスで表すことができる。
【0062】
例えば、軌跡内の少なくとも1つのGPSポイントがある領域に位置した場合、その対応するバイナリ位置は1であり、そうでなければ0に設定される。
【0063】
ステップS206において、XZ-Orderingにより前記第1の軌跡の空間位置インデックスコードを決定する。
【0064】
上述の実施例では、空間位置インデックスコードは、XZ-Orderingに基づいて生成されたコードであり、まず1つの軌跡の4進シーケンスを取得し、その後、この4進シーケンスを1つの10進の長整数数字に変換する。
【0065】
ステップS208において、前記軌跡署名及び前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築する。
【0066】
上記実施例では、第1の軌跡の空間範囲インデックスを構築することにより、クエリー対象領域のインデックスとクエリーの効率が向上し、さらにクエリー対象領域内でクエリー対象軌跡に隣接する軌跡を特定する効率と精度が向上する。さらに、領域剪定によってクエリー対象領域に対して剪定処理を行うことで、第2の軌跡のクエリー範囲を簡素化し、空間範囲クエリーの効率を高め、クエリー過程を加速させた。さらに、第2の軌跡に対して下界剪定処理を行うことにより、フレシェ距離の計算量を低減し、不要な軌跡クエリーとクエリー時間を削減した。
【0067】
図2に示すステップに基づいて、
図3に示すように、軌跡近接クエリー方法はさらに以下のステップを含む。
【0068】
ステップS302において、前記第1の軌跡の標識を決定する。
ステップS304において、前記空間範囲インデックスのポストフィックスに前記第1の軌跡の標識を追加する。
【0069】
上述の実施例では、前記空間範囲インデックスのポストフィックスに前記第1の軌跡の標識を追加することにより、空間範囲クエリーをサポートする。即ち、クエリー空間を指定することにより、前記空間内のすべての軌跡レコードをクエリーすることができる。
【0070】
図2に示すステップに基づいて、
図4に示すように、軌跡近接クエリー方法はさらにさらに以下のステップを含む。
【0071】
ステップS402において、前記第1の軌跡の乱数を取得する。
ステップS404において、前記空間範囲インデックスのプレフィックスに前記乱数を追加する。
【0072】
ステップS406において、前記プレフィックスに基づいて前記空間範囲インデックスを分散サーバにランダムに格納する。
【0073】
上記実施例では、空間範囲インデックスを分散サーバにランダムに格納することにより、データを異なるデータサーバに効率的に分散することができ、負荷バランシングとデータホットスポットの圧力を高め、高レベルの軌跡データの維持圧力を下げ、軌跡近接クエリーの信頼性を高めた。
【0074】
図2に示すステップに基づいて、
図5に示すように、軌跡近接クエリー方法はさらに以下のステップを含む。
【0075】
ステップS502において、前記クエリー対象領域を格納する第1の優先キューから一つのクエリー対象領域を取り出す。
【0076】
ステップS504において、前記クエリー対象領域の空間位置インデックスコードのコード長さを決定する。
【0077】
ステップS506において、前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止する。
【0078】
上記実施例では、クエリー対象領域の空間位置インデックスコードのコード長さが大きいほど、軌跡の空間表現が正確であることを示すので、クエリー対象領域の精度は、プリセット長さによって制御される。
【0079】
図2及び
図5に示すステップに基づいて、
図6に示すように、前記コード長さとプリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止することは、以下のステップを含む。
【0080】
ステップS6062において、前記コード長さが前記プリセット長さより大きいか否かを判定し、「はい」であればステップS6064を実行し、「いいえ」であればステップS6068を実行する。
【0081】
ステップS6064において、前記コード長さが前記プリセット長さより大きいと判定されると、前記クエリー対象領域を分割しない。
【0082】
ステップS6066において、前記クエリー対象領域内で空間範囲クエリー処理が実行される。
【0083】
上記実施例では、前記コード長さが前記プリセット長さよりも大きいと判定された場合、前記クエリー対象領域は分割されず、前記クエリー対象領域内で空間範囲クエリー処理が実行され、クエリー精度が保証されることを前提に、第2の軌跡のクエリー範囲が効果的に削減される。
【0084】
図2及び
図5に示すステップに基づいて、
図6に示すように、前記コード長さと前記プリセット長さとの大小関係に基づいて、前記クエリー対象領域を拡張するか、又は前記クエリー対象領域の分割を停止することは、さらに以下のステップを含む。
【0085】
ステップS6062において、前記コード長さが前記プリセット長さより大きいか否かを判定する。
【0086】
ステップS6068において、前記コード長さが前記プリセット長さ以下であると判定された場合、サブノードクエリー対象領域のコード長さが前記プリセット長さ以上になるまで、前記クエリー対象領域を4ツリー再帰分割して、前記クエリー対象領域のサブノードクエリー対象領域を生成する。
【0087】
上記実施例では、前記コード長さが前記プリセット長さ以下であると判定された場合、前記サブノードクエリー対象領域のコード長さが前記プリセット長さ以上になるまで、前記クエリー対象領域を4ツリー再帰分割することにより、クエリー対象領域の分割プロセスを正確に制御する。
【0088】
図2に示すステップに基づいて、
図7に示すように、軌跡近接クエリー方法はさらに以下のステップを含む。
【0089】
ステップS702において、前記クエリー対象領域の4ツリー再帰分割を停止した後、前記クエリー対象領域内の第2の軌跡を決定し、前記第2の軌跡を第2の優先キューに格納する。
【0090】
上記実施例では、前記クエリー対象領域の4ツリー再帰分割を停止した後、前記クエリー対象領域内の第2の軌跡を決定し、前記第2の軌跡を第2の優先キューに格納し、第2の優先キュー中の第2の軌跡の数はクエリー数の要件を満たす。
【0091】
また、第2の優先キュー中の第2の軌跡も優先度があり、最も優先度の高い要素が最初に削除される。即ち、後続の下界剪定処理中に優先的に剪定処理され、クエリー距離要件を満たす第2の軌跡をより迅速に取得することができる。
【0092】
具体的には、クエリー対象領域のコードシーケンス長さがシステムによって与えられた定数g未満である場合、クエリー対象領域の4つの4ツリーのサブノードを第1の優先キューに追加してから、第1の優先キューの次の領域をチェックする。クエリー対象領域のコードシーケンス長さが所定の定数gに達した場合、クエリー対象領域を分割することなく、クエリー対象領域を直接利用して空間範囲クエリーを実行し、軌跡結果セットTSRを取得する。
【0093】
図2に示すステップに基づいて、
図8に示すように、軌跡近接クエリー方法はさらに以下のステップを含む。
【0094】
ステップS802において、前記第1の軌跡と前記クエリー対象領域との間の第1のフレシェ距離を決定する。
【0095】
ステップS804において、前記第1のフレシェ距離が最大距離閾値以上であるか否かを判断し、「はい」であればステップS806を実行し、「いいえ」であればステップS810を実行する。
【0096】
ステップS806において、前記第1のフレシェ距離が前記最大距離閾値以上であると判定されると、前記クエリー対象領域に対して領域剪定処理を行う。
【0097】
ステップS808において、前記領域剪定処理の結果に基づいて、前記最大距離閾値を更新する。
【0098】
ステップS810において、クエリー対象領域内の第2の軌跡をクエリーする。
上述の実施例では、発明者は検証と推論を経て以下のように決定した。Region_LBfF(q,r)>dmaxであれば、fF (q,tr)>dmaxが成立し、fF(q,tr)は、軌跡とクエリー対象空間との間のフレシェ距離であり、軌跡trは、クエリー対象空間による空間範囲クエリーの際に、初めて検索された軌跡である。
【0099】
具体的には、第2の軌跡が初めて検索されたのではなく、つまり以前の「内部」のクエリー領域に検索された場合、k近接軌跡クエリーの結果セットが存在するかどうかを必ずチェックされたことがある。
【0100】
また、第2の軌跡が初めて検索された場合、以下の式が成立する。
【0101】
【0102】
これに基づいて、第1のフレシェ距離によってクエリー対象領域を剪定することにより、クエリー対象領域の無効領域を効果的に除去することができ、ひいては軌跡近接クエリーの効率と信頼性を高めることができる。
【0103】
図2に示すステップに基づいて、
図9に示すように、軌跡近接クエリー方法はさらに以下のステップを含む。
【0104】
ステップS902において、前記第1の軌跡の下界位置と、前記クエリー対象領域内の第2の軌跡の下界位置とを決定する。
【0105】
ステップS904において、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行い、前記下界位置は始点下界位置、終点下界位置、及び軌跡署名下界位置のうちの少なくとも1つを含む。
【0106】
上記実施例では、第1の軌跡の下界位置と第2の軌跡の下界位置との間のフレシェ距離により剪定処理を行うので、第1の軌跡と第2の軌跡の全軌跡点に対する距離計算の演算量を回避し、時間複雑度を低減した。
【0107】
図2に示すステップに基づいて、
図10に示すように、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置とに基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、以下のステップを含む。
【0108】
ステップS1002において、前記第1の軌跡の始点下界位置と前記第2の軌跡の始点下界位置との間の始点フレシェ距離を決定する。
【0109】
ステップS1004において、前記始点フレシェ距離と第1のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第1の下界剪定処理を行う。
【0110】
図2及び
図9に示すステップに基づいて、
図11に示すように、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置とに基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、さらに以下のステップを含む。
【0111】
ステップS11042において、前記第1軌跡の終点下界位置と前記第2の軌跡の終点下界位置との間の終点フレシェ距離を決定する。
【0112】
ステップS11044において、前記終点フレシェ距離と第2のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第2の下界剪定処理を行う。
【0113】
上述の実施例では、本開示は、軌跡の始点と終点に基づいて、類似軌跡の始点・終点距離下界(Lower Bound,lower_bound()戻り値は反復器であり、key以上の最初の値の位置を指す)を提案した。前記距離下界が所定の類似度閾値εより大きい場合、第1の軌跡と第2の軌跡は必ずしも類似しておらず、それに基づいて、クエリー対象領域の第2の軌跡に対して高速に剪定する。
【0114】
図2に示すステップに基づいて、
図12に示すように、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて、軌跡署名を生成するステップは、さらに以下のステップを含む。
【0115】
ステップS12042において、いずれかの前記クエリー対象領域の4つのサブノードクエリー対象領域に対して順序付け符号化を行う。
【0116】
ステップS12044において、前記第1の軌跡によって通過されたサブノードクエリー対象領域を第1の標識とし、前記第1の軌跡によって通過されなかったサブノードクエリー対象領域を第2の標識とする。
【0117】
ステップS12046において、前記順序付け符号化、前記第1の標識、及び第2の標識に基づいて、前記第1の軌跡の軌跡署名を決定する。
【0118】
上述の実施例では、第1の標識はバイナリの「1」であってもよく、第2の標識はバイナリの「0」であってもよく、順序付け符号化の順序に従って一意性を備えた軌跡署名を生成する。
【0119】
図2及び
図9に示すステップに基づいて、
図13に示すように、前記第1の軌跡の下界位置と前記第2の軌跡の下界位置に基づいて、前記クエリー対象領域の第2の軌跡に対して下界剪定処理を行うステップは、さらに以下のステップを含む。
【0120】
ステップS13042において、前記第1の軌跡の軌跡署名下界と前記第2の軌跡の軌跡署名下界との間の軌跡署名フレシェ距離を決定する。
【0121】
ステップS13044において、前記軌跡署名フレシェ距離と第3のプリセット距離との大小関係に基づいて、前記第2の軌跡に対して第3の下界剪定処理を行う。
【0122】
【0123】
これにより、軌跡署名は軌跡の位置情報をより正確に表現できるので、本開示は署名下界の手段を提案し、2つの軌跡の署名下界が所定の閾値εより大きい場合に、第1の軌跡と第2の軌跡は決して似ておらず、クエリー対象領域の第2の軌跡に対してより効率的な高速剪定を行う。
【0124】
図14乃至
図19は、軌跡近接クエリースキームの一実施例を示し、軌跡k近接クエリーにおいて、本開示は空間範囲クエリーをサブオペレーションと見なす。
【0125】
【0126】
【0127】
図15に示すように、発明者は第1の軌跡tr
1と第2の軌跡tr
2の類似度に対して、下界剪定と軌跡署名剪定を提案し、以下の定理を提案、検証して軌跡近隣クエリーの信頼性と効率を向上させた。
【0128】
【0129】
定理3.MBR剪定定理:軌跡trが領域Sに完全に含まれていない場合、即ち、trには領域Sの外に位置するGPS点pが少なくとも1つ存在する場合、フレシェ距離にとって、trは必ずqと類似していない。
【0130】
【0131】
本開示の実施例によれば、クエリーポイントq、フレシェ距離関数fF、返される軌跡の数kを入力することで、出力はk-近接ポイントクエリー軌跡結果セットTknnで、具体的には次の3つの段階に分けることができる。
【0132】
クエリーの第1の段階:主にいくつかの変数を初期化することであり、ここで、cdqは第2の軌跡を格納するための第2の優先キューであり、reqは第1の優先キューを識別し、検査する空間領域範囲を記録し、dmaxは現在のクエリー軌跡qとcdq内のすべての軌跡との距離の最大値である。
【0133】
クエリーの第2の段階:reqから一つの空間領域rを取り出す。候補セットcdqにすでにk個の軌跡が存在し、空間領域rとクエリー軌跡qとの距離がdmaxより大きいであれば、検索されていない軌跡は必ず結果セットには存在しない(定理2を参照、本開示では領域剪定と呼ぶ)ことを意味し、クエリープロセスは終了することができる。
【0134】
rのコードシーケンス長さがシステムによって与えられた一つの定数g未満である場合、本開示は、rの4つの4ツリーのサブノードをreqに追加し、その後、req中の次の領域を検査する。
【0135】
rのコードシーケンス長さが所定の定数gに達した場合、本開示はrを分割させることなく、直接rを用いて空間範囲クエリーを実行し、結果セットTSRを取得する。
【0136】
【0137】
trが上記のすべての下界を満たす場合、本開示は、候補結果セットcdq追加し、その後、dmaxを更新する。
【0138】
クエリーの第3の段階:reqのすべての候補領域が検査された場合、本開示は候補結果cdq中の軌跡を最後の結果として戻す。
【0139】
図16乃至
図19は、本開示の軌跡近接クエリーの性能テスト結果とクエリー性能結果を提供する。
【0140】
(1)性能テスト結果
本開示は2つのデータセットを用いて本開示の提案方法の性能を検証する:1)T-Drive[1]、これは公開データセットであり、北京の10000台以上のタクシーのGPSポイント情報を含み、時間スパンは2008年2月2日から2008年2月8日までの7日間、2)Lorry、これはトラックのGPS軌跡データセットであり、広州の50,000台近くの京東物流トラックの1ヶ月間のGPS軌跡情報を含み、時間スパンは2014年3月1日から2014年3月31日までである。本開示では、Spark前処理を使用して軌跡を処理し、HBaseは最下位のNoSQLとして記憶される。すべての実験は5つのノードを持つクラスタで実行され、各ノードにはCentos 7.4オペレーティングシステムがインストールされており、8コアのCPU、32GBのメモリ、1Tの通常の機械ディスクを有する。
【0141】
図16と
図17に示すように、本開示の提案方法はTMであり、3つの比較実験を提案する:1)Dita、これは代表的なメモリベースの軌跡管理システムであり、それは有効なデータ分割方法を提案し、データの局所性問題を解決し、またコストベースの技術を提案して負荷均衡を実現し、その主な思想は代表的なGPS点を識別することによって、次に、これらの代表点に基づいてツリー構造のインデックスを設計し、類似していない軌跡を効率的にフィルタリングすることができる。2)TM
nps、これはTM方法の変種であり、空間範囲インデックステーブルにはPosCode技術が採用されていない。3)TM
nlb、これはTM方法のもう1つの変種で、類似クエリーの過程で下界剪定戦略を採用しない。
【0142】
軌跡類似メトリックを考慮する場合、本開示ではフレシェ距離fFを利用し、その他の距離メジャー関数、例えばハウスドルフ距離fH及び動的時間規則fDの実験結果は類似している。
【0143】
(2)クエリー性能比較。
図18及び
図19に示すように、異なるデータ量である場合の類似クエリー時間の変化状況を比較した。類似度閾値は3kmがデフォルトである。
【0144】
すべての方法では、データ量が大きくなるにつれて、類似クエリーに必要な時間が多くなる。データ量が大きくなるにつれて、同じ類似度閾値の場合には、戻る軌跡も多くなるからである。TMはTMnpsよりやや速く、それは、類似クエリーの最下位で呼び出されるのは空間範囲クエリーであり、PosCodeは不要な軌跡スキャンを減らし、クエリー効率を向上させることができるからである。
【0145】
下界剪定フィルタリングアルゴリズムを使用しない場合、本開示では、フレシェ距離計算式を呼び出して空間範囲クエリーを満たすすべての軌跡を検証する必要があり、これは非常に時間がかかるため、TMnlbはTMより少し遅い。DitaはTMよりもかなり遅く、前述したようにDitaはメモリに大きなインデックスを構築し、各クエリーに対してDitaはインデックスファイルをスキャンし、ずいぶん時間がかかった。
【0146】
一方、TMはクエリーウィンドウを直接生成し、次に最下位で並列的なSCANオペレーションに変換することができる。メモリオーバーヘッドが多く必要なため、Ditaはクラスタに対する要求が高く、拡張性が制限されている。
【0147】
実際には、Lorry(荷重)データセットが60%を超えると、Ditaはメモリオーバーフロー異常をスローしたが、TMは依然として非常によく動作でき、Lorryデータセットが100%に達してもTMはスムーズに動作でき、TM方法の強力な拡張性を示している。
【0148】
図18及び
図19に示すように、類似度閾値εの増加により、すべての方法について、類似クエリーの時間オーバーヘッドもわずかに増加し、これは、より多くの条件を満たす軌跡を返すためである。TM及びその変種方法はDitaよりもはるかに速く、場合によっては3桁(Order of magnitude)の効率向上を達成しており、これは本開示の効率をさらに証明している。
【0149】
以下、
図20を参照して、本開示のこのような実施形態による軌跡近接クエリー装置(2000)について説明する。
図20に示す軌跡近接照会装置(2000)は単なる例であり、本開示の実施例の機能及び使用範囲に何ら制限を与えるものではない。
【0150】
軌跡近接クエリー装置(2000)は、ハードウェアモジュールの形態で表現される。軌跡近接クエリー装置(2000)のコンポーネントは、取得モジュール(2002)、署名モジュール(2004)、決定モジュール(2006)、インデックスモジュール(2008)を含むことができるが、これらに限定されない。
【0151】
取得モジュール(2002)は、クエリー対象の第1の軌跡を取得し、前記第1の軌跡の空間位置情報を決定するように構成される。
【0152】
署名モジュール(2004)は、前記第1の軌跡の空間位置情報とクエリー対象領域との位置関係に基づいて軌跡署名を生成するように構成される。
【0153】
決定モジュール(2006)は、XZ-Orderingによって前記第1の軌跡の空間位置インデックスコードを決定するように構成される。
【0154】
インデックスモジュール(2008)は、前記軌跡署名と前記空間位置インデックスコードに基づいて、前記第1の軌跡の空間範囲インデックスを構築するように構成される。
【0155】
本開示は軌跡近接クエリースキームを提案し、第1軌跡の空間範囲インデックスを構築することにより、クエリー対象領域のインデックスとクエリーの効率が向上し、さらにクエリー対象領域内でクエリー対象軌跡に隣接する軌跡を特定する効率と正確性を高めた。さらに、領域剪定によってクエリー対象領域に対して剪定処理を行うことで、第2の軌跡のクエリー範囲を簡素化し、空間範囲クエリーの効率を高め、クエリー過程を加速させた。さらに、第2の軌跡に対して下界剪定処理を行うことにより、フレシェ距離の計算量を低減し、不要な軌跡クエリーとクエリー時間を削減した。最後に、空間範囲インデックスを分散サーバにランダムに格納することにより、軌跡データの維持圧力を低下させ、軌跡近接クエリーの信頼性を向上させた。
【0156】
以下、
図21を参照して、本開示のこのような実施形態に係る電子デバイス(2100)について説明する。
図21に示す電子デバイス(2100)は単なる例であり、本開示の実施例の機能及び使用範囲に何ら制限を与えるものではない。
【0157】
図21に示すように、電子デバイス(2100)は、汎用コンピューティングデバイスとして表現される。電子デバイス(2100)のコンポーネントは、上記少なくとも1つの処理ユニット(2110)、上記少なくとも1つの記憶ユニット(2120)、異なるシステムコンポーネント(記憶ユニット(2120)及び処理ユニット(2110)を含む)を接続するバス(2130)を含むことができるが、これらに限定されない。
【0158】
ここで、記憶ユニットはプログラムコードを記憶しており、プログラムコードは、処理ユニット(2110)が本明細書で上述の「例示的な方法」の部分で説明した本開示の様々な実施形態によるステップを実行するように、処理ユニット(2110)によって実行されることができる。例えば、処理ユニット(2110)は、
図2乃至
図13に示すような軌跡近接クエリー方法のステップ、及び本開示の他の実施例の軌跡近接クエリー方法に限定されている他のステップを実行することができる。
【0159】
記憶ユニット(2120)は、ランダムアクセス記憶ユニット(RAM) (21201)及び/又はキャッシュ記憶ユニット(21202)などの揮発性記憶ユニットの形態の読み取り可能な媒体を含むことができ、さらに読み取り専用記憶ユニット(ROM)(21203)を含むこともできる。
【0160】
記憶ユニット(2120)はまた、1セット(少なくとも1つ)のプログラムモジュール(21205)を有するプログラム/ユーティリティ(21204)を含むことができ、このようなプログラムモジュール(21205)は、オペレーティングシステム、1つ又は複数のアプリケーション、他のプログラムモジュール、及びプログラムデータを含むが、これらに限定されない。これらの例のそれぞれ又はいくつかの組み合わせにはネットワーク環境の実装が含まれる可能性がある。
【0161】
バス(2130)は、いくつかのクラスのバス構造のうちの1つ又は複数を表すことができ、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィックスアクセラレータポート、処理ユニット、又は複数のバス構造のうちの任意のバス構造を使用するローカルバスを含む。
【0162】
電子デバイス(2100)はまた、キーボード、ポインティングデバイス、Bluetoothデバイスなどの1つ又は複数の外部デバイス(2140)と通信することができ、また、ユーザが電子デバイスとインタラクションできるようにする1つ又は複数のデバイスと通信することができ、及び/又は、電子デバイス(2100)が1つ又は複数の他のコンピューティングデバイスと通信できるようにする任意のデバイス(ルータ、モデムなど)と通信することができる。この通信は、入出力(I/O)インタフェース(2150)を介して行うことができる。また、電子デバイス(2100)は、ネットワークアダプタ(2160)を介して、一つの又は複数のネットワーク(例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、及び/又はインターネットなどのパブリックネットワーク)と通信することもできる。ネットワークアダプタ(2160)は、バス(2130)を介して電子デバイス(2100)の他のモジュールと通信する。図示していないが、電子デバイスと組み合わせて他のハードウェア及び/又はソフトウェアモジュールを使用することができ、マイクロコード、デバイスドライブ、冗長処理ユニット、外部ディスクドライブアレイ、RA識別システム、テープドライブ、及びデータバックアップ記憶システムなどを含むが、これらに限定されないことを理解すべきである。
【0163】
以上の実施形態の説明により、当業者は、本明細書で説明する例示的な実施形態はソフトウェアによって実現されてもよく、必要なハードウェアをソフトウェアに結合することによって実現されてもよいことを容易に理解することができる。従って、本開示の実施形態による技術的態様は、ソフトウェア製品の形態で具現化されてもよく、前記ソフトウェア製品は1つの不揮発性記憶媒体(CD-ROM、USBディスク、モバイルハードディスクなどであり得る)又はネットワーク上に格納でき、本開示の実施形態による方法を1台の計算デバイス(パーソナルコンピュータ、サーバ、端末装置、又はネットワークデバイスなどであり得る)に実行させるためのいくつかの命令を含む。
【0164】
本開示の例示的な実施例では、本明細書に記載の方法を実装することができるプログラム製品を格納したコンピュータ読み取り可能な記憶媒体も提供される。いくつかの可能な実施形態では、本開示の様々な態様は、プログラムコードを含むプログラム製品の形態で具現化されてもよく、端末デバイス上でプログラム製品が動作しているときに、プログラムコードは端末デバイスに本明細書で上述の「例示的な方法」の部分で説明した本開示の様々な実施形態によるステップを実行させる。
【0165】
本開示の実施形態による、上述の方法を実現するためのプログラム製品は、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)を採用し、プログラムコードを含み、パーソナルコンピュータなどの端末デバイス上で動作することができる。しかしながら、本開示のプログラム製品はこれに限定されるものではなく、本ファイルにおいて、読み取り可能な記憶媒体は、プログラムを含む、又は記憶する任意の有形媒体であってもよく、前記プログラムは、命令実行システム、装置、又はデバイスによって使用されてもよく、又はそれらと組み合わせて使用されてもよい。
【0166】
コンピュータ読み取り可能な信号媒体は、可読プログラムコードを担持するベースバンド内に含まれるか、又は搬送波の一部として伝播するデータ信号を含むことができる。このように伝播するデータ信号は、様々な形態をとることができ、電磁信号、光信号、又は上述した任意の適切な組み合わせを含むが、これらに限定されない。読み取り可能な信号媒体は、読み取り可能な記憶媒体以外の任意の読み取り可能な媒体であってもよく、前記読み取り可能な媒体は、命令実行システム、装置、又はデバイスによって使用されるか、又はそれらと組み合わせて使用されるプログラムを送信、伝播、又は送信することができる。
【0167】
読み取り可能な媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されることができ、無線、有線、光ケーブル、RFなど、又は上述の任意の適切な組み合わせを含むが、これらに限定されない。
【0168】
本開示の動作を実行するためのプログラムコードは、対象指向プログラミング言語、例えばJava、C++などを含む1つ以上のプログラミング言語の任意の組み合わせで記述することができ、また、「C」言語などの従来のプロシージャプログラミング言語、又は類似するプログラミング言語を含む。プログラムコードは、完全にユーザコンピューティングデバイス上で実行することができ、部分的にユーザデバイス上で実行することができ、独立したパッケージとして実行することができ、部分的にユーザコンピューティングデバイス上で部分的にリモートコンピューティングデバイス上で実行することができ、又は完全にリモートコンピューティングデバイス又はサーバ上で実行することができる。リモートコンピューティングデバイスに関連する場合、リモートコンピューティングデバイスは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピューティングデバイスに接続することができ、又は、外部コンピューティングデバイス(例えば、インターネットサービスプロバイダを用いてインターネットを介して接続する)に接続することができる。
【0169】
なお、上述の詳細な説明では、動作実行のためのデバイスのいくつかのモジュール又はユニットについて言及したが、このような分割は強制的なものではない。実際には、本開示の実施形態によれば、上述した2つ以上のモジュール又はユニットの特徴及び機能は、1つのモジュール又はユニットにおいて具体化することができる。逆に、上述した1つのモジュール又はユニットの特徴と機能は、さらに複数のモジュール又はユニットに分けて具体化することができる。
【0170】
また、添付図面では、本開示における方法の各ステップを特定の順序で説明しているが、これは、これらのステップをその特定の順序で実行しなければならない、又は、所望の結果を達成するためにすべてのステップを実行しなければならないことを要求したり暗示したりするものではない。追加又は代替として、いくつかのステップを省略したり、複数のステップを1つのステップに統合して実行したり、及び/又は、1つのステップを複数のステップに分けて実行したりすることができる。
【0171】
以上の実施形態の説明により、当業者は、本明細書で説明する例示的な実施形態はソフトウェアによって実現されてもよく、必要なハードウェアをソフトウェアに結合することによって実現されてもよいことを容易に理解することができる。従って、本開示の実施形態による技術的態様は、ソフトウェア製品の形態で具現化されてもよく、前記ソフトウェア製品は1つの不揮発性記憶媒体(CD-ROM、USBディスク、モバイルハードディスクなどであり得る)又はネットワーク上に格納でき、本開示の実施形態による方法を1台の計算デバイス(パーソナルコンピュータ、サーバ、端末装置、又はネットワークデバイスなどであり得る)に実行させるためのいくつかの命令を含む。
【0172】
当業者は、明細書を考慮し、本明細書に開示された発明を実践した後、本開示の他の実施形態を容易に思いつくであろう。本開示は、本開示の一般的な原理に従い、本開示に開示されていない本技術分野における公知の常識又は慣用技術手段を含む、本開示の任意の変形、用途又は適応変化をカバーすることを目的とする。明細書及び実施例は単なる例示と見なされ、本開示の真の範囲及び精神は添付の請求項によって指摘される。
【国際調査報告】