(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6771575
(24)【登録日】2020年10月1日
(45)【発行日】2020年10月21日
(54)【発明の名称】位置ベースのサービス実施方法及び装置
(51)【国際特許分類】
G06Q 50/10 20120101AFI20201012BHJP
G01C 21/26 20060101ALI20201012BHJP
【FI】
G06Q50/10
G01C21/26 A
【請求項の数】12
【全頁数】16
(21)【出願番号】特願2018-545449(P2018-545449)
(86)(22)【出願日】2017年2月17日
(65)【公表番号】特表2019-512775(P2019-512775A)
(43)【公表日】2019年5月16日
(86)【国際出願番号】CN2017073915
(87)【国際公開番号】WO2017148276
(87)【国際公開日】20170908
【審査請求日】2018年10月29日
(31)【優先権主張番号】201610113493.9
(32)【優先日】2016年2月29日
(33)【優先権主張国】CN
【前置審査】
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(74)【代理人】
【識別番号】100097320
【弁理士】
【氏名又は名称】宮川 貞二
(72)【発明者】
【氏名】ヂォン,グァンハイ
(72)【発明者】
【氏名】リー,フゥイ
【審査官】
松田 岳士
(56)【参考文献】
【文献】
特開2013−045319(JP,A)
【文献】
特開2002−358004(JP,A)
【文献】
中国特許出願公開第1604147(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00−25/00
G06F 16/00−16/958
G06Q 10/00−99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される、位置ベースのサービス実施方法であって、
サービス要求内の要求側位置に基づき、サービス要求が属するレベル1領域を特定するステップ(S101)と;
前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するステップであって、前記複数のレベル2領域は同じサイズであり、且つ当該ステップは:
前記レベル1領域内の基準位置を特定するステップ(S1021)と;
前記基準位置に基づき、粒度分ずつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するステップ(S1022)と;
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するステップ(S1023)と;
前記変化値に基づき前記レベル2領域のサイズを特定するステップ(S1024)と;
前記レベル2領域のサイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するステップ(S1025)と;を備える、ステップ(S102)と;
前記要求側位置に基づき、サービス要求が属するレベル2領域を特定するステップ(S103)と;
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するステップと(S104);を備える、
位置ベースのサービス実施方法。
【請求項2】
分割された前記複数のレベル2領域それぞれのサイズの合計が、前記レベル1領域のサイズと等しい、
請求項1に記載のサービス実施方法。
【請求項3】
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するステップは:
基準位置とオフセット位置との間の経度差xを計算するステップと;
基準位置とオフセット位置との間の緯度差yを計算するステップと;を備え、
前記レベル2領域のサイズを特定する前記ステップは、前記レベル2領域の長さが前記xに等しく、前記レベル2領域の幅が前記yに等しいと特定するステップを備える、
請求項1に記載のサービス実施方法。
【請求項4】
レベル1領域内の基準位置を特定する前記ステップは:
前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するステップ;又は、
前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するステップ;を備える、
請求項1に記載のサービス実施方法。
【請求項5】
前記基準位置に基づき、粒度分ずつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得する前記ステップは:
前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅を基準として、粒度分ずつ西向き及び南向きのシフティングを別々に実行するステップ;
前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅を基準として、粒度分ずつ東向き及び南向きのシフティングを別々に実行するステップ;
前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅を基準として、粒度分ずつ西向き及び北向きのシフティングを別々に実行するステップ;又は、
前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅を基準として、粒度分ずつ東向き及び北向きのシフティングを別々に実行するステップ;を備える、
請求項4に記載のサービス実施方法。
【請求項6】
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答する前記ステップは:
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全ての前記サービス対象物の前記位置情報を取得するステップ(S1041)と;
前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算するステップ(S1042)と;
所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨するステップ(S1043)と;を備える、
請求項1に記載のサービス実施方法。
【請求項7】
サービス要求内の要求側位置に基づいて、サービス要求が属するレベル1領域を特定するように構成される第1の特定ユニット(701)と;
前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するように構成され、前記複数のレベル2領域は同じサイズであり、さらに:
前記レベル1領域内の基準位置を特定するように構成される基準特定サブユニットと;
前記基準位置に基づき、粒度分ずつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するように構成される粒度シフティングサブユニットと;
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するように構成される変化計算サブユニットと;
前記変化値に基づき、前記レベル2領域のサイズを特定するように構成されるサイズ特定サブユニットと;
前記レベル2領域の前記サイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するように構成される領域分割サブユニットと;を備える、分割ユニット(702)と;
前記サービス要求が属するレベル2領域を前記要求側位置に基づき特定するように構成される第2の特定ユニット(703)と;
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するように構成されるサービス応答ユニット(704)と;を備える、
位置ベースのサービス実施装置。
【請求項8】
分割された前記複数のレベル2領域それぞれのサイズの合計が、前記レベル1領域のサイズと等しい、
請求項7に記載のサービス実施装置。
【請求項9】
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算することは、
基準位置とオフセット位置との間の経度差xを計算すること;及び、
基準位置とオフセット位置との間の緯度差yを計算すること;を備え、
前記レベル2領域のサイズを特定することは、前記レベル2領域の長さが前記xに等しく、前記レベル2領域の幅が前記yに等しいと特定することを備える、
請求項7に記載のサービス実施装置。
【請求項10】
前記基準特定サブユニットは:
前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するように構成される;又は、
前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するように構成される;
請求項7に記載のサービス実施装置。
【請求項11】
前記粒度シフティングサブユニットは:
前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅を基準として、前記粒度分ずつ西向き及び南向きのシフティングを別々に実行する;
前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅を基準として、前記粒度分ずつ東向き及び南向きのシフティングを別々に実行する;
前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅を基準として、前記粒度分ずつ西向き及び北向きのシフティングを別々に実行する;又は、
前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅を基準として、前記粒度分ずつ東向き及び北向きのシフティングを別々に実行する;ように構成される、
請求項10に記載のサービス実施装置。
【請求項12】
前記サービス応答ユニットは:
前記サービス要求が属する前記レベル2領域内及び前記これに近接する前記レベル2領域内の全ての前記サービス対象物の前記位置情報を取得し;
前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算し;
所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨する;ように構成される、
請求項7に記載のサービス実施装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2016年2月29日に提出され「位置ベースのサービス実施方法及び装置」と題された中国特許出願第201610113493.9号の優先権を主張し、上記中国特許出願は参照によってその全体が本願に組み込まれる。
【0002】
本願は通信技術の分野に関し、特に、位置ベースのサービス実施方法及び装置に関する。
【背景技術】
【0003】
インターネット技術の急速な発展に伴い、現在位置に基づく、近隣のレストランや駐車場の探索等、地理的な位置ベースのサービスをユーザに提供するサービスプロバイダが増え続けている。
【0004】
関連技術では、地理的な位置ベースのサービスを提供する際、通常は、先ず、要求側位置が属する領域をGeoHash(ジオハッシュ)アルゴリズムに基づいて特定し、次に、特定された領域に基づいて、ユーザが必要としているサービスを検索する。しかし、GeoHashアルゴリズムでは、緯度と経度を二分探索により暗号化するので、別々に暗号化された緯度を持つ領域のサイズが異なってしまう。低緯度領域のサイズは高緯度領域のサイズよりも大きいため、低緯度領域内でサービスを処理する場合にサーバの処理リソースが大量に無駄になってしまう。
【発明の概要】
【0005】
上記に鑑みて、本願は位置ベースのサービス実施方法及び装置を提供する。
【0006】
詳細には、本願は以下の技術的解決策を用いて実施される。
【0007】
位置ベースのサービス実施方法が提供される。この方法は:サービス要求内の要求側位置に基づき、サービス要求が属するレベル1領域を特定するステップと;前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するステップと;前記要求側位置に基づき、サービス要求が属するレベル2領域を特定するステップと;前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するステップと;を含む。
【0008】
オプションとして、前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割する前記ステップは:前記レベル1領域内の基準位置を特定するステップと;前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するステップと;前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するステップと;前記変化値に基づき前記レベル2領域のサイズを特定するステップと;前記レベル2領域のサイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するステップと;を含む。
【0009】
オプションとして、レベル1領域内の基準位置を特定する前記ステップは:前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するステップ;又は、前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するステップ;を含む。
【0010】
オプションとして、前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得する前記ステップは:前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅を基準として、粒度分づつ西向き及び南向きのシフティングを別々に実行するステップ;前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅を基準として、粒度分づつ東向き及び南向きのシフティングを別々に実行するステップ;前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅を基準として、粒度分づつ西向き及び北向きのシフティングを別々に実行するステップ;又は、前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅を基準として、粒度分づつ東向き及び北向きのシフティングを別々に実行するステップ;を含む。
【0011】
オプションとして、前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答する前記ステップは:前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全ての前記サービス対象物の前記位置情報を取得するステップと;前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算するステップと;所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨するステップと;を含む。
【0012】
位置ベースのサービス実施装置が提供される。この装置は:サービス要求内の要求側位置に基づいて、サービス要求が属するレベル1領域を特定するように構成される第1の特定ユニットと;前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するように構成される分割ユニットと;前記サービス要求が属するレベル2領域を前記要求側位置に基づき特定するように構成される第2の特定ユニットと;前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するように構成されるサービス応答ユニットと;を含む。
【0013】
オプションとして、前記分割ユニットは:前記レベル1領域内の基準位置を特定するように構成される基準特定サブユニットと;前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するように構成される粒度シフティングサブユニットと;前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するように構成される変化計算サブユニットと;前記変化値に基づき、前記レベル2領域のサイズを特定するように構成されるサイズ特定サブユニットと;前記レベル2領域の前記サイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するように構成される領域分割サブユニットと;を含む。
【0014】
オプションとして、前記基準特定サブユニットは:前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するように構成される;又は、前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するように構成される。
【0015】
オプションとして、前記粒度シフティングサブユニットは:前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅を基準として、前記粒度分づつ西向き及び南向きのシフティングを別々に実行する;前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅を基準として、前記粒度分づつ東向き及び南向きのシフティングを別々に実行する;前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅を基準として、前記粒度分づつ西向き及び北向きのシフティングを別々に実行する;又は、前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅を基準として、前記粒度分づつ東向き及び北向きのシフティングを別々に実行する;ように構成される。
【0016】
オプションとして、前記サービス応答ユニットは:前記サービス要求が属する前記レベル2領域内及び前記これに近接する前記レベル2領域内の全ての前記サービス対象物の前記位置情報を取得し;前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算し;及び、所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨する;ように構成される。
【0017】
先の記述から分かることは、本願における位置ベースのサービスの実施中に、サービス要求が属するレベル1領域を要求側位置に基づいて特定でき;レベル1領域を、所定の粒度に基づいて複数のレベル2領域に分割でき;サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、サービス要求に応答する。全てのレベル2領域は同一サイズであるため、低緯度領域内のサービスを処理することによりサーバの処理リソースを節約でき、サーバのパフォーマンスが向上する。
【図面の簡単な説明】
【0018】
【
図1】
図1は、本願の実施に係る、位置ベースのサービス実施方法を示すフローチャートである。
【0019】
【
図2】
図2は、本願の実施に係る、レベル1領域を示す概略図である。
【0020】
【
図3】
図3は、本願の実施に係る、レベル1領域を複数のレベル2領域に分割するステップを示すフローチャートである。
【0021】
【
図4】
図4は、本願の実施に係る、位置シフティングを示す概略図である。
【0022】
【
図5】
図5は、本願の実施に係る、サービス要求への応答を示す概略図である。
【0023】
【
図6】
図6は、本願の実施に係る、サービス要求が属するレベル2領域に近接するレベル2領域を示す概略図である。
【0024】
【
図7】
図7は、本願の実施に係る、位置ベースのサービス実施装置を示す概略構造図である。
【0025】
【
図8】
図8は、本願の実施に係る、位置ベースのサービス実施装置を示す概略構造図である。
【発明を実施するための形態】
【0026】
ここでは実施を詳細に説明し、これら実施の例を添付図面に提示する。以降の説明が添付図面に関連する場合、指定のない限り、異なる添付図面中の同一の符号は同一又は類似の要素を表す。以降の実施で述べる実施は、本願による全ての実施を表すものではなく、付帯の特許請求の範囲にて詳細に記載される本願のいくつかの態様による装置及び方法の実施例に過ぎない。
【0027】
本願で用いる用語は、単に特定の実施を例証するための用語に過ぎず、本願を限定する用語ではない。本願及び付帯の特許請求の範囲で用いられる単数形を表す用語「ある」、「前記」、及び「その」は、文脈中で明記されない限り、複数形も含むとみなす。本明細書で用いられる用語「及び/又は」は、1つ以上の関連する列挙された項目のあらゆる又は全ての可能な組み合わせを表す又は含むことは言うまでもない。
【0028】
様々なタイプの情報を説明するために、本願において用語「第1の」、「第2の」、「第3の」等が用いられている場合でも、その情報はこれらの用語に限定されないことは言うまでもない。これらの用語は、単に同タイプの情報を区別するために用いられる。例えば、本願の範囲から逸脱せずに、第1の情報は第2の情報とも言及でき、同様に、第2の情報は第1の情報とも言及できる。文脈に応じて、例えば、ここで用いられる「である場合」という用語は、「である間」、「であるとき」、又は「特定することに応じて」として記述できる。
【0029】
図1は、本願の実施に係る、位置ベースのサービス実施方法を示すフローチャートである。
【0030】
図1を参照すると、位置ベースのサービス実施方法はサーバに適用でき、下記のステップを含む。
【0031】
ステップ101:サービス要求内の要求側位置に基づき、サービス要求が属するレベル1領域を特定する。
【0032】
この実施では、サービス要求は位置に基づいてサービス対象物を取得する要求であり、サービス対象物はサービスプロバイダ、サービスプロバイダにより提供されるサービス等を含む。通常、サービス要求はユーザにより開始される。例えば、サービス要求は、現在位置の付近にあるレストラン、駐車場等を探す要求であってよい。
【0033】
この実施では、レベル1領域は、通常、開発者により事前に分割される。例えば、開発者は、地球上の大陸エリアを所定のサイズに基づき複数のレベル1領域に分割できる。中国本土を例にとる。開発者は中国本土を、0.5°×0.5°(経度×緯度)のサイズに基づく複数のレベル1領域に分割できる。
【0034】
この実施では、サービス要求を受信した後、サービス要求に含まれている要求側位置を取得し、このサービス要求が属するレベル1領域を、要求側位置に基づいて特定できる。通常、要求側位置は緯度と経度の座標形式で表される。例えば、中国本土が0.5°×0.5°(経度×緯度)のサイズに基づいて複数のレベル1領域に分割され、要求側位置が東経110.1°及び北緯28.2°にあると仮定した場合、このステップでは、
図2を参照し、サービス要求は、南西座標が東経110°及び北緯28度、北東座標が東経110.5°及び北緯28.5°のレベル1領域に属する、と特定できる。
【0035】
ステップ102:レベル1領域を所定の粒度(細かさ、精度)に基づき複数のレベル2領域に分割する。
【0036】
この実施では、所定の粒度は開発者が設定できる。例えば、開発者は、所定の粒度を、実際の開示におけるサービス粒度の規定に基づき、例えば50メートル又は100メートルに設定できる。本願ではこれを限定しない。
【0037】
ステップ101に基づき、サービス要求が属するレベル1領域を特定した後、レベル1領域を所定の粒度に基づき複数のレベル2領域に分割できる。
図3を参照すると、レベル1領域を複数のレベル2領域に分割するステップは以下のステップを含んでよい。
【0038】
ステップ1021:レベル1領域内の基準位置を特定する。
【0039】
この実施では、種々の緯度からマッピングされた実際の地理的領域のサイズは多様である。例えば、高緯度領域内で1度(1°)緯度を変更してマッピングされた実際の領域のサイズは、低緯度領域内でのサイズよりも小さくなる。そのため、このステップでは、基準位置を、サービス要求が属するレベル1領域の緯度に基づき特定できる。
【0040】
一の実施例では、レベル1領域が北半球に位置する場合、レベル1領域内のより高緯度の位置を基準位置として特定できる。例えば、レベル1領域の北東隅又は北西隅を基準位置として特定できる。別の実施例では、レベル1領域が南半球に位置する場合、レベル1領域内のより高緯度の位置を基準位置として特定できる。例えば、レベル1領域の南東隅又は南西隅を基準位置として特定できる。
【0041】
ステップ1022:基準位置を基準として、所定の粒度分づつ、所定方向へのシフティングを実行してオフセット位置に達し、このオフセット位置のオフセット座標情報を取得する。
【0042】
この実施では、基準位置を基準として低緯度方向へのシフティングを実行できる。例えば、
図4を参照すると、基準位置がレベル1領域の北東隅である場合、シフティングを、北東隅を基準として粒度分づつ西向き及び南向きに別々に実行でき、シフティング後に到達した位置をオフセット位置と呼ぶことができる。同様に、基準位置がレベル1領域の北西隅である場合、オフセット位置に達するために、シフティングを北西隅を基準として粒度分づつ東向き及び南向きに別々に実行できる。基準位置がレベル1領域の南東隅である場合には、オフセット位置に達するために、シフティングを南東隅を基準として粒度分づつ西向き及び北向きに別々に実行できる。基準位置がレベル1領域の南西隅である場合、オフセット位置に達するために、シフティングを南西隅を基準として粒度分づつ東向き及び北向きに別々に実行できる。
【0043】
このステップでは、オフセット位置に達した後に、このオフセット位置の座標情報を取得できる。区別し易くするために、オフセット位置の座標情報をオフセット座標情報と呼ぶことができる。通常、オフセット座標情報は緯度と経度の座標の形式で表すこともできる。
【0044】
ステップ1023:基準位置の基準座標情報とオフセット座標情報との間の変化値を計算する。
【0045】
ステップ1022に基づき、オフセット位置のオフセット座標情報を取得した後、基準座標情報とオフセット座標情報との間の変化値を計算できる。例えば、基準位置の緯度座標値及び経度座標値と、オフセット位置の緯度座標値及び経度座標値との間の差を計算する。
【0046】
ステップ1024:変化値に基づきレベル2領域のサイズを特定する。
【0047】
この実施では、基準位置とオフセット位置との間の経度差がxであり、基準位置とオフセット位置との間の緯度差がyであると仮定すると、xとyはレベル2領域の長さと幅であると特定できる。
【0048】
ステップ1025:サービス要求が属するレベル1領域を、レベル2領域のサイズに基づいて複数のレベル2領域に分割する。
【0049】
ステップ1024に基づき、レベル2領域のサイズが特定された後、サービス要求が属するレベル1領域を、特定されたサイズに基づいて複数のレベル2領域に分割できる。例えば、レベル1領域を、レベル1領域の北東隅から開始するレベル1領域の境界線に沿って複数のレベル2領域に分割できる。
【0050】
レベル2領域を取得するために分割を実行する場合、分割の実行はレベル1領域のどの隅から開始してもよく、例えば、南東隅、北西隅、又は南西隅から開始してよいことに留意されたい。本願では限定を設けていない。加えて、レベル1領域を複数のレベル2領域に分割する場合、分割により得た複数のレベル2領域はレベル1領域を覆うことができる、つまり、分割により得たレベル2領域の各サイズの合計は、通常、レベル1領域のサイズよりも大きい、又はレベル1領域のサイズと等しい。分割により得たレベル2領域の各サイズの合計がレベル1領域のサイズと等しい場合、レベル1領域が同一サイズの複数のレベル2領域に分割されたことを示す。
【0051】
ステップ103:要求側位置に基づき、サービス要求が属するレベル2領域を特定する。
【0052】
ステップ102に基づき、サービス要求が属するレベル1領域を複数のレベル2領域に分割した後、サービス要求が属するレベル2領域を要求側位置に基づいて特定できる。
【0053】
ステップ104:サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づきサービス要求に応答する。
【0054】
ステップ103に基づき、サービス要求が属するレベル2領域を特定した後に、
図5を参照し、以下のステップに基づいてサービス要求に応答できる。
【0055】
ステップ1041:サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報を取得する。
【0056】
この実施では、サービス要求が属するレベル2領域を特定した後、このレベル2領域に近接する8個のレベル2領域を特定できる。
図6を参照すると、中心に位置する矩形領域が、サービス要求が属するレベル2領域であると仮定した場合、このレベル2領域の周囲の符号1乃至8を付した8個のレベル2領域は、レベル2領域に近接するレベル2領域である。このステップでは、サービス要求が属するレベル2領域内及びこのレベル2領域に近接する8個のレベル2領域内の全てのサービス対象物の位置情報を取得できる。
【0057】
例えば、サービス要求が現在位置付近のレストランを検索するサービス要求であると仮定した場合、サービス要求が属するレベル2領域内及びこのレベル2領域に近接する8個のレベル2領域内の全てのレストランの位置情報を取得できる。
【0058】
ステップ1042:サービス対象物の位置情報に基づき、各サービス対象物と要求側位置との間の距離を計算する。
【0059】
ステップ1041に基づき、各サービス対象物の位置情報を取得した後に、この位置情報に基づいて、サービス対象物と要求側位置との間の距離を計算できる。引き続き、現在位置付近のレストランを検索するサービス要求を一例にとる。取得したレストランの位置情報に基づいて、各レストランと要求側位置との間の距離を計算できる。
【0060】
ステップ1043:所定の条件を満たす距離を持つサービス対象物をサービス要求への応答として推奨する。
【0061】
ステップ1042に基づき、各サービス対象物と要求側位置との間の距離を計算した後に、所定の条件を満たす距離を持つサービス対象物をサービス要求への応答として、サービス要求を開始したユーザに推奨できる。
【0062】
この実施では、所定の条件は通常は距離条件であり、これは開発者により設定することも、サービス要求を開始するユーザによりカスタマイズすることもできる。サービス要求が近隣のレストランを探す要求であると仮定した場合、ユーザは、レストラン検索の距離を、例えば200メートル又は500メートルにカスタマイズすることができ、所定の条件は「距離が200メートル未満又は500メートル未満であること」となる。ユーザが距離をカスタマイズしない場合、開発者により設定されたデフォルトの距離(例えば、300メートル)を用いることができる。
【0063】
先の説明から分かることは、本願での位置ベースのサービスの実施の最中に、サービス要求が属するレベル1領域を要求側位置に基づいて特定でき、レベル1領域は、所定の粒度に基づき複数のレベル2領域に分割され、サービス要求は、サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づいて応答される。全てのレベル2領域は同一サイズであるので、低緯度領域内のサービス処理において、サーバの処理リソースを節約でき、サーバのパフォーマンスを向上させることができる。
【0064】
位置ベースのサービス実施方法の先の実施に対応し、本願は、位置ベースのサービス実施装置の実施を更に提供する。
【0065】
本願における位置ベースのサービス実施装置の実施はサーバに適用できる。本装置の実施は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアの組み合わせにより実施できる。ソフトウェアによる実施を例にとる。論理装置としてのこのソフトウェアは、不揮発性メモリ内の対応するコンピュータプログラム命令を読み取り、メモリ内のこの命令を本装置のサーバ内のプロセッサにより実行することで形成される。ハードウェアに関しては、
図7を参照する。
図7は、本願における位置ベースのサービス実施装置のサーバを示すハードウェア構造図である。本実施における本装置のサーバは、
図7に示すプロセッサ、メモリ、ネットワークインターフェース、及び不揮発性メモリに加え、通常、サーバの実際の機能に基づくその他のハードウェアを含むことができる。詳細については説明を省く。
【0066】
図8は、本願の実施に係る位置ベースのサービス実施装置を示す概略構造図である。
【0067】
図8を参照すると、位置ベースのサービス実施装置700は、
図7に示すサーバに適用でき、実施装置700は、第1の特定ユニット701、分割ユニット702、第2の特定ユニット703、及びサービス応答ユニット704を含む。分割ユニット702は、基準特定サブユニット7021、粒度シフティングサブユニット7022、変化値計算サブユニット7023、サイズ特定サブユニット7024、及び領域分割サブユニット7025を含むことができる。
【0068】
第1の特定ユニット701は、サービス要求内の要求側位置に基づき、サービス要求が属するレベル1領域を特定するように構成される。
【0069】
分割ユニット702は、レベル1領域を所定の粒度に基づいて複数のレベル2領域に分割するように構成される。
【0070】
第2の特定ユニット703は、要求側位置に基づき、サービス要求が属するレベル2領域を特定するように構成される。
【0071】
サービス応答ユニット704は、サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、サービス要求に応答するように構成される。
【0072】
基準特定サブユニット7021は、レベル1領域内の基準位置を特定するように構成される。
【0073】
粒度シフティングサブユニット7022は、基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、このオフセット位置のオフセット座標情報を取得するように構成される。
【0074】
変化計算サブユニット7023は、基準位置の基準座標情報とオフセット座標情報との間の変化値を計算するように構成される。
【0075】
サイズ特定サブユニット7024は、変化値に基づきレベル2領域のサイズを特定するように構成される。
【0076】
領域分割サブユニット7025は、サービス要求が属するレベル1領域を、レベル2領域のサイズに基づき複数のレベル2領域に分割するように構成される。
【0077】
オプションではあるが、基準特定サブユニット7021は次のように構成される。すなわち、レベル1領域が北半球にある場合、レベル1領域の北東隅若しくは北西隅を基準位置として特定する;又は、レベル1領域が南半球にある場合、レベル1領域の南東隅若しくは南西隅を基準位置として特定する。
【0078】
オプションではあるが、粒度シフティングサブユニット7022は次のように構成されている。すなわち、基準位置がレベル1領域の北東隅である場合、オフセット位置に達するために、北東隅を基準として、粒度分づつ西向き及び南向きへのシフティングを別々に実行する;基準位置がレベル1領域の北西隅である場合、オフセット位置に達するために、北西隅を基準として、粒度分づつ東向き及び南向きへのシフティングを別々に実行する;基準位置がレベル1領域の南東隅である場合、オフセット位置に達するために、南東隅を基準として、粒度分づつ西向き及び北向きへのシフティングを別々に実行する;又は、基準位置がレベル1領域の南西隅である場合、オフセット位置に達するために、南西隅を基準として、粒度分づつ東向き及び北向きへのシフティングを別々に実行する。
【0079】
オプションではあるが、サービス応答ユニット704は次のように構成される。すなわち、サービス要求が属するレベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報を取得し;サービス対象物の位置情報に基づき、各サービス対象物と要求側位置との間の距離を計算し;所定の条件を満たす距離を備えたサービス対象物をサービス要求への応答として推奨する。
【0080】
本装置内の各ユニットの機能及び役割の実施工程については、先の方法における対応ステップの実施工程を参照されたい。ここでは詳細について再度述べない。
【0081】
装置の実施は基本的に方法の実施に対応しているため、関連する各部分については方法の実施における関連する説明を参照されたい。先に述べた装置の実施は例にすぎない。個別部分として記載されたユニットは物理的に別々であってもなくてもよく、ユニットとして表示された各部分は物理的ユニットであってもなくてもよく、1つの位置に配置されても、複数のネットワークユニットに分散配置されてもよい。本願における解決の目的を達成するために、モジュール又はユニットのいくつか又は全ては、実際の必要性に応じて選択されてよい。当業者は本願を創造的な努力なく理解及び具現化することができる。
【0082】
先の説明は本願の実施にすぎず、本願を限定することを意図しない。本願の主旨及び原理から逸脱せずに為されるあらゆる改造、均等物との置き換え及び改良は全て、本願の保護範囲に収まるものである。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
サービス要求内の要求側位置に基づき、サービス要求が属するレベル1領域を特定するステップと;
前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するステップと;
前記要求側位置に基づき、サービス要求が属するレベル2領域を特定するステップと;
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するステップと;を備える、
位置ベースのサービス実施方法。
[第2の局面]
前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割する前記ステップは:
前記レベル1領域内の基準位置を特定するステップと;
前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するステップと;
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するステップと;
前記変化値に基づき前記レベル2領域のサイズを特定するステップと;
前記レベル2領域のサイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するステップと;を備える、
第1の局面に記載のサービス実施方法。
[第3の局面]
レベル1領域内の基準位置を特定する前記ステップは:
前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するステップ;又は、
前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するステップ;を備える、
第2の局面に記載のサービス実施方法。
[第4の局面]
前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得する前記ステップは:
前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅に基づき、粒度分づつ西向き及び南向きのシフティングを別々に実行するステップ;
前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅に基づき、粒度分づつ東向き及び南向きのシフティングを別々に実行するステップ;
前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅に基づき、粒度分づつ西向き及び北向きのシフティングを別々に実行するステップ;又は、
前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅に基づき、粒度分づつ東向き及び北向きのシフティングを別々に実行するステップ;を備える、
第3の局面に記載のサービス実施方法。
[第5の局面]
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答する前記ステップは:
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全ての前記サービス対象物の前記位置情報を取得するステップと;
前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算するステップと;
所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨するステップと;を備える、
第1の局面に記載のサービス実施方法。
[第6の局面]
サービス要求内の要求側位置に基づいて、サービス要求が属するレベル1領域を特定するように構成される第1の特定ユニットと;
前記レベル1領域を所定の粒度に基づき複数のレベル2領域に分割するように構成される分割ユニットと;
前記サービス要求が属するレベル2領域を前記要求側位置に基づき特定するように構成される第2の特定ユニットと;
前記サービス要求が属する前記レベル2領域内及びこれに近接するレベル2領域内の全てのサービス対象物の位置情報に基づき、前記サービス要求に応答するように構成されるサービス応答ユニットと;を備える、
位置ベースのサービス実施装置。
[第7の局面]
前記分割ユニットは:
前記レベル1領域内の基準位置を特定するように構成される基準特定サブユニットと;
前記基準位置に基づき、粒度分づつ所定の方向へのシフティングを実行することによりオフセット位置に達し、前記オフセット位置のオフセット座標情報を取得するように構成される粒度シフティングサブユニットと;
前記基準位置の基準座標情報と前記オフセット座標情報との間の変化値を計算するように構成される変化計算サブユニットと;
前記変化値に基づき、前記レベル2領域のサイズを特定するように構成されるサイズ特定サブユニットと;
前記レベル2領域の前記サイズに基づき、前記サービス要求が属する前記レベル1領域を複数のレベル2領域に分割するように構成される領域分割サブユニットと;を備える、
第6の局面に記載のサービス実施装置。
[第8の局面]
前記基準特定サブユニットは:
前記レベル1領域が北半球にある場合、前記レベル1領域の北東隅又は北西隅を前記基準位置として特定するように構成される;又は、
前記レベル1領域が南半球にある場合、前記レベル1領域の南東隅又は南西隅を前記基準位置として特定するように構成される;
第7の局面に記載のサービス実施装置。
[第9の局面]
前記粒度シフティングサブユニットは:
前記基準位置が前記レベル1領域の前記北東隅である場合、前記オフセット位置に達するために、前記北東隅に基づき、前記粒度分づつ西向き及び南向きのシフティングを別々に実行する;
前記基準位置が前記レベル1領域の前記北西隅である場合、前記オフセット位置に達するために、前記北西隅に基づき、前記粒度分づつ東向き及び南向きのシフティングを別々に実行する;
前記基準位置が前記レベル1領域の前記南東隅である場合、前記オフセット位置に達するために、前記南東隅に基づき、前記粒度分づつ西向き及び北向きのシフティングを別々に実行する;又は、
前記基準位置が前記レベル1領域の前記南西隅である場合、前記オフセット位置に達するために、前記南西隅に基づき、前記粒度分づつ東向き及び北向きのシフティングを別々に実行する;ように構成される、
第7の局面に記載のサービス実施装置。
[第10の局面]
前記サービス応答ユニットは:
前記サービス要求が属する前記レベル2領域内及び前記これに近接する前記レベル2領域内の全ての前記サービス対象物の前記位置情報を取得し;
前記サービス対象物の前記位置情報に基づき、各サービス対象物と前記要求側位置との間の距離を計算し;及び、
所定の条件を満たす距離を持つサービス対象物を前記サービス要求への応答として推奨する;ように構成される、
第6の局面に記載のサービス実施装置。
【符号の説明】
【0083】
701 第1の特定ユニット
702 分割ユニット
703 第2の特定ユニット
704 サービス応答ユニット
7021 基準特定サブユニット
7022 粒度シフティングサブユニット
7023 変化値計算サブユニット
7024 サイズ特定サブユニット
7025 領域分割サブユニット