本申請涉及互聯網領域,具體涉及定位領域,尤其涉及定位方法和裝置。
背景技術:
隨著移動互聯網的快速發展,提供給用戶的服務也越來越豐富。定位服務是最常用的服務之一。目前,在對諸如店鋪的待定位對象進行定位時,通常通過分析與待定位相關聯的單個用戶的瞬時位置的特征,確定待定位對象的位置。
然而,當采用上述方式對待定位對象進行定位時,受到用戶移動、網絡定位的精度有限等因素的影響,導致定位的準確度較低。
技術實現要素:
本申請提供了定位方法和裝置,用于解決上述背景技術部分存在的技術問題。
第一方面,本申請提供了定位方法,該方法包括:接收多個終端發送的用戶的定位信息,其中,每一個終端對應一個用戶,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;確定包括同一待定位對象的標識的定位信息,以及采用聚類算法對定位信息中的坐標進行聚類,得到多個簇,其中,每一個簇中包含至少一個坐標;從多個簇中選取出與待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的坐標,確定待定位對象的位置。
第二方面,本申請提供了定位方法,該方法包括:生成用戶的定位信息,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;將定位信息發送至服務器,以使得服務器對包含同一待定位對象的標識的定位信息中的坐標進行聚類,確定待定位對象的位置。
第三方面,本申請提供了定位裝置,該裝置包括:接收單元,配置用于接收多個終端發送的用戶的定位信息,其中,每一個終端對應一個用戶,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;處理單元,配置用于確定包括同一待定位對象的標識的定位信息,以及采用聚類算法對定位信息中的坐標進行聚類,得到多個簇,其中,每一個簇中包含至少一個坐標;定位單元,配置用于從多個簇中選取出與待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的坐標,確定待定位對象的位置。
第四方面,本申請提供了定位裝置,該裝置包括:生成單元,配置用于生成用戶的定位信息,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;發送單元,配置用于將定位信息發送至服務器,以使得服務器對包含同一待定位對象的標識的定位信息中的坐標進行聚類,確定待定位對象的位置。
本申請提供的定位方法和裝置,通過接收多個終端發送的用戶的定位信息,其中,每一個終端對應一個用戶,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;確定包括同一待定位對象的標識的定位信息,以及采用聚類算法對定位信息中的坐標進行聚類,得到多個簇,其中,每一個簇中包含至少一個坐標;從多個簇中選取出與待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的坐標,確定待定位對象的位置。實現了通過對與待定位對象關聯度高的多個用戶的位置的坐標進行聚類分析,確定待定位對象的位置,進而提升定位的準確度。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
圖1是可以應用于本申請的定位方法或裝置的實施例的示例性系統架構圖;
圖2示出了根據本申請的定位方法的一個實施例的流程圖;
圖3示出了根據本申請的定位方法的另一個實施例的流程圖;
圖4示出了根據本申請的定位方法的一個示例性流程圖;
圖5示出了根據本申請的定位裝置的一個實施例的結構示意圖;
圖6示出了根據本申請的定位裝置的另一個實施例的結構示意圖;
圖7是適于用來實現本申請實施例的定位裝置的計算機系統的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用于本申請的定位方法或裝置的實施例的示例性系統架構100。
如圖1所示,系統架構100可以包括終端101、102、103,網絡104和服務器105。網絡104用以在終端101、102、103和服務器105之間提供傳輸鏈路的介質。網絡104可以包括各種連接類型,例如有線、無線傳輸鏈路或者光纖電纜等等。
用戶可以使用終端101、102、103通過網絡104與服務器105交互,以接收或發送消息等。終端101、102、103上可以安裝有各種通訊應用,例如、網絡安全類應用、瀏覽器類應用等。
終端101、102、103可以是具有顯示屏并且支持網絡通信的各種電子設備,包括但不限于智能手機、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動態影像專家壓縮標準音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動態影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。
終端101、102、103可以采用與待定位對象相關聯的用戶的位置的GPS坐標,將用戶的位置的GPS坐標發送至服務器105,服務器105可以對終端101、102、103發送的多個用戶的位置的GPS坐標進行聚類分析,確定待定位對象的位置。
請參考圖2,其示出了根據本申請的定位方法的一個實施例的流程200。本申請實施例所提供的定位方法可以由圖1中的服務器105執行,相應地,定位裝置可以設置于服務器105中。該方法包括以下步驟:
步驟201,接收多個終端發送的用戶的定位信息。
在本實施例中,為確定待定位對象的位置,可以接收與待定位對象相關聯的多個用戶使用終端分別發送的用戶的定位信息。用戶的定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標。用戶的位置的坐標可以為GPS坐標。
例如,待定位對象為店鋪,多個終端可以為店鋪的多個員工使用的終端。為確定店鋪的位置,可以分別接收到每一個員工使用的終端分別發送的店鋪的標識和員工在預設時間段內的位置的坐標。
在本實施例的一些可選的實現方式中,在接收多個終端發送的與待定位對象相關聯的用戶的定位信息之前,還包括:接收終端發送的注冊請求,注冊請求包括:用戶的用戶標識、用戶的工作地點的標識、用戶工作的時間段;將用戶的用戶標識和用戶的工作地點的標識以及用戶工作的時間段對應存儲,以及將用戶的工作地點的標識和用戶工作的時間段發送至終端,以使終端采集用戶工作的時間段內用戶的位置的坐標以及生成包含用戶的工作地點的標識和坐標的定位信息。
在本實施例中,在接收多個終端發送的每一個用戶的定位信息之前,可以分別接收每一個用戶使用的終端發送的注冊請求。終端發送的注冊請求中包含用戶的用戶標識、用戶的工作地點的標識、用戶工作的時間段。
以待定位對象為店鋪,用戶為店鋪的員工為例,員工在利用終端發送定位信息之前,可以預先進行注冊。員工可以填寫用戶標識即賬號、工作地點的標識即店鋪名稱、工作的時間段。然后,員工通過使用終端發送包含賬號、店鋪名稱、工作的時間段的注冊請求。在接收到員工使用的終端發送的注冊請求之后,可以將賬號、店鋪名稱、工作的時間段對應存儲,從而完成該員工的注冊。在注冊成功后,可以將店鋪名稱和工作的時間段發送至該員工使用的終端。從而,當員工使用的終端發送定位信息時,可以根據該工作的時間段,采集工作的時間段內用戶的位置的坐標,生成包含店鋪名稱和工作的時間段內用戶的位置的坐標的定位信息。
步驟202,采用聚類算法對坐標進行聚類,得到多個簇。
在本實施例中,在通過步驟201接收多個終端發送的用戶的定位信息之后,可以確定多個終端發送的用戶的定位信息中包括同一待定位對象的標識的定位信息,以及采用聚類算法對定位信息中的坐標進行聚類,得到多個簇。每一個簇中可以包含至少一個用戶在預設時間段內的位置的坐標。
例如,通過步驟201接收到的多個終端發送的用戶的定位信息中包含一個店鋪的多個員工分別利用各自的終端發送的定位信息。可以確定出接收到的多個終端發送的用戶的定位信息中均包含該店鋪的標識的定位信息,定位信息中包含該店鋪的員工在預設時間段內的位置的坐標。然后,可以對每一個定位信息中的坐標即每一個員工在預設時間段內的位置的坐標進行聚類,得到多個簇。每一個簇中可以包含至少一個員工在預設時間段內的位置的坐標。
步驟203,基于關聯度最高的簇中的坐標,確定待定位對象的位置。
在本實施例中,在通過步驟202采用聚類算法對多個用戶在預設時間段內的位置的坐標進行聚類,得到多個簇之后,可以從多個簇中選取出與待定位對象的位置關聯度最高的簇。可以從與待定位對象的位置關聯度最高的簇中選取出表示待定位對象的位置的坐標。
在本實施例的一些可選的實現方式中,待定位對象為多個用戶的工作地點,預設時間段為多個用戶工作的時間段,聚類算法為基于密度的聚類算法;從多個簇中選取出與待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的坐標,確定待定位對象的位置包括:將對應的聚點密度最高的簇作為與多個用戶的工作地點的位置關聯度最高的簇;分別計算簇中的每一個坐標對應的點到簇的幾何中心點的距離;將對應的距離最短的點的坐標作為用戶的工作地點的位置。
在本實施例中,待定位對象可以為用戶的工作地點,預設時間段可以為用戶工作的時間段。以待定位對象為店鋪為例,用戶為一個店鋪的員工為例,通過步驟201接收到的多個終端發送的定位信息中包含店鋪的每一個員工使用的終端發送的員工在工作時間段內的位置的坐標。在通過步驟202對每一個員工在工作時間段內的位置的坐標進行聚類,得到多個簇之后,可以將對應的聚點密度最高的簇作為與店鋪的位置關聯度最高的簇。然后,可以分別計算聚點密度最高的簇中的每一個坐標對應的點到簇的幾何中心點的距離,將距離簇的幾何中心點的距離最短的點對應的坐標作為店鋪的位置。
請參考圖3,其示出了根據本申請的定位方法的另一個實施例的流程300。需要說明的是,本申請實施例所提供的定位方法可以由圖1中的終端101、102、103執行,相應地,定位裝置可以設置于終端101、102、103中。該方法包括以下步驟:
步驟301:生成用戶的定位信息。
在本實施例中,為了確定待定位的位置,可以首先生成用戶的定位信息。用戶定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標。
以待定位對象為店鋪,用戶為店鋪的員工為例,可以利用運行在員工使用的終端上的APP生成用戶的定位信息。該APP可以為員工在工作時使用的APP,APP可以通過操作系統提供的接口讀取預設時間段的GPS坐標,該GPS坐標可以表示員工的位置。在獲取到預設時間段內員工的位置的GPS坐標之后,可以生成包含店鋪的標識和預設時間段內員工的位置的坐標的定位信息。
在本實施例的一些可選的實現方式中,待定位對象為用戶的工作地點,預設時間段為用戶工作的時間段;在生成用戶的定位信息之前,還包括:向服務器發送注冊請求,注冊請求包括:用戶的用戶標識、用戶的工作地點的標識、用戶工作的時間段;接收注冊成功后服務器返回的用戶的工作地點的標識、用戶工作的時間段。
在本實施例中,待定位對象可以為用戶的工作地點,預設時間段可以為用戶工作的時間段。以待定位對象為店鋪,用戶為店鋪的員工為例,可以利用員工工作時使用的APP發送定位信息。為利用該APP進行工作,員工可以首先填寫用戶標識例如賬號、工作地點的標識即店鋪名稱、工作的時間段進行注冊。然后,APP向服務器發送包含用戶標識、店鋪名稱、工作的時間段的注冊請求進行注冊。在完成注冊之后,員工可以在使用APP時利用注冊的賬號進行登錄。在注冊成功時,APP可以接收到服務器返回的工作地點的標識即店鋪名稱、員工工作的時間段。從而,APP在生成員工的定位信息時,可以根據該員工工作的時間段,獲取員工工作的時間段內的員工的位置的坐標,生成包含員工工作的時間段內的員工的位置的坐標和店鋪名稱的定位信息。
步驟302:將定位信息發送至服務器。
在本實施例中,在通過步驟301生成與用戶的定位信息之后,可以將用戶的定位信息發送至服務器。服務器可以對包含同一待定位對象的標識的定位信息中的用戶在預設時間段內的坐標進行聚類,確定待定位對象的位置。
以待定位對象為店鋪,用戶為店鋪的員工為例,服務器接收到的多個定位信息中可以包含店鋪的每一個員工使用的終端發送的員工在工作時間段內的位置的坐標。服務器可以對多個員工在工作時間段內的位置的坐標進行聚類,得到多個簇,將對應的聚點密度最高的簇作為與店鋪的位置關聯度最高的簇,將距離簇的幾何中心點的距離最短的點對應的坐標作為店鋪的位置。
請參考圖4,其示出了根據本申請的定位方法的一個示例性流程圖。
待定位對象為店鋪,用戶為店鋪的員工,每一個員工使用的終端上的APP分別讀取在預設時間段例如三個工作日的工作時段內的員工的位置的GPS坐標作為員工的LBS(location based services,基于位置的服務)數據,每一個員工使用的終端上的APP分別將員工的LBS數據發送至服務器。服務器對每一個員工的LBS數據進行聚類分析,選取聚點的高密度位置,即對于每一個員工的位置的GPS坐標進行聚類,從對應的聚點密度最高的簇中選取出最接近簇的幾何中心點的GPS坐標作為初步確定出的店鋪的位置。
服務器在初步確定出店鋪的位置之后,每一個員工使用的終端的APP繼續將員工的位置的GPS坐標發送至服務器,服務器可以得到每一個員工的LBS增量數據。服務器可以對當前獲取到的所有的員工的LBS數據即每一個員工的歷史LBS數據和LBS增量數據之和進行聚類分析,再次確定出店鋪的位置。當再次確定出的店鋪的位置與初步確定出的店鋪的位置一致時,選取初步確定出的店鋪的位置作為店鋪的位置,當再次確定出的店鋪的位置與初步確定出的店鋪的位置不一致時,對店鋪的位置進行調整,可以選取再次確定出的店鋪的位置作為店鋪的位置。從而,優化店鋪位置。可以將最終確定出的店鋪的位置存儲在店鋪位置庫中。
請參考圖5,作為對上述各圖所示方法的實現,本申請提供了一種定位裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應。
如圖5所示,本實施例的定位裝置500包括:接收單元501,處理單元502,定位單元503。其中,接收單元501配置用于接收多個終端發送的用戶的定位信息,其中,每一個終端對應一個用戶,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;處理單元502配置用于確定包括同一待定位對象的標識的定位信息,以及采用聚類算法對定位信息中的坐標進行聚類,得到多個簇,其中,每一個簇中包含至少一個坐標;定位單元503配置用于從多個簇中選取出與待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的坐標,確定待定位對象的位置。
在本實施例的一些可選的實現方式中,定位單元503包括:位置確定子單元(未示出),配置用于當待定位對象為用戶的工作地點,預設時間段為用戶工作的時間段,聚類算法為基于密度的聚類算法時,將對應的聚點密度最高的簇作為與用戶的工作地點的位置關聯度最高的簇;分別計算簇中的每一個坐標對應的點到簇的幾何中心點的距離;將對應的距離最短的點的坐標作為用戶的工作地點的位置。
在本實施例的一些可選的實現方式中,裝置500還包括:注冊請求接收單元(未示出),配置用于在接收多個終端發送的用戶的定位信息之前,接收終端發送的注冊請求,注冊請求包括:用戶的用戶標識、用戶的工作地點的標識、用戶工作的時間段;將用戶的用戶標識和用戶的工作地點的標識以及用戶工作的時間段對應存儲,以及將用戶的工作地點的標識和用戶工作的時間段發送至終端,以使終端采集用戶工作的時間段內用戶的位置的坐標以及生成包含用戶的工作地點的標識和坐標的定位信息。
請參考圖6,作為對上述各圖所示方法的實現,本申請提供了一種定位裝置的一個實施例,該裝置實施例與圖3所示的方法實施例相對應。
如圖6所示,本實施例的定位裝置600包括:生成單元601,發送單元602。其中,生成單元601配置用于生成用戶的定位信息,定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;發送單元602配置用于將定位信息發送至服務器,以使得服務器對包含同一待定位對象的標識的定位信息中的坐標進行聚類,確定待定位對象的位置。
在本實施例的一些可選的實現方式中,裝置600包括:注冊單元(未示出),配置用于當待定位對象為用戶的工作地點,預設時間段為用戶工作的時間段時,在生成用戶的定位信息之前,向服務器發送注冊請求,注冊請求包括:用戶的用戶標識、用戶的工作地點的標識、用戶工作的時間段;接收注冊成功后服務器返回的用戶的工作地點的標識、用戶工作的時間段。
圖7示出了適于用來實現本申請實施例的定位裝置的計算機系統的結構示意圖。
如圖7所示,計算機系統700包括中央處理單元(CPU)701,其可以根據存儲在只讀存儲器(ROM)702中的程序或者從存儲部分708加載到隨機訪問存儲器(RAM)703中的程序而執行各種適當的動作和處理。在RAM703中,還存儲有系統700操作所需的各種程序和數據。CPU 701、ROM 702以及RAM 703通過總線704彼此相連。輸入/輸出(I/O)接口705也連接至總線704。
以下部件連接至I/O接口705:包括鍵盤、鼠標等的輸入部分706;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如LAN卡、調制解調器等的網絡接口卡的通信部分709。通信部分709經由諸如因特網的網絡執行通信處理。驅動器710也根據需要連接至I/O接口705。可拆卸介質711,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器710上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分708。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分709從網絡上被下載和安裝,和/或從可拆卸介質711被安裝。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執行時,使得所述設備:接收多個終端發送的用戶的定位信息,其中,每一個終端對應一個用戶,所述定位信息包括:待定位對象的標識、預設時間段內用戶的位置的坐標;確定包括同一待定位對象的標識的定位信息,以及采用聚類算法對所述定位信息中的所述坐標進行聚類,得到多個簇,其中,每一個簇中包含至少一個所述坐標;從所述多個簇中選取出與所述待定位對象的位置關聯度最高的簇,以及基于選取出的簇中的所述坐標,確定所述待定位對象的位置。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。