本發明專利技術提供了基于查詢結果中用戶失序分析的微信用戶定位算法,針對基于微信通告距離確定目標用戶的實際距離范圍的不足,通過分析微信“附近的人”列表中的用戶失序現象,定義了混雜區間;并通過對查詢結果中相鄰用戶與探針的實際距離的變化范圍進行統計分析,基于其中失序現象確定混雜區間的大小;然后,等距調整參考探針與探針之間的距離,使得查詢附近用戶列表中參考探針和目標用戶相鄰并發生前后次序變化,以此時參考探針與探針的實際距離為參考,基于得到的混雜區間,確定目標用戶與探針的實際距離范圍;最后,利用三邊測量定位法實現對微信目標用戶的高精度定位,且與現有的HNBG算法以及ATBG算法相比,定位精度更高。
【技術實現步驟摘要】
基于查詢結果中用戶失序分析的微信用戶定位算法
本專利技術涉及社交網絡用戶定位領域,尤其涉及基于查詢結果中用戶失序分析的微信用戶定位算法。
技術介紹
現有的微信用戶定位算法采用基于通告距離的微信用戶定位算法,相比典型的基于空間劃分的定位算法以及基于啟發式數論的定位算法,基于通告距離的微信用戶定位算法能夠實現對微信用戶更高精度的定位;但通告距離與實際距離之間關系的不確定性使得通告距離難以將目標用戶確定在較小的距離段內,造成對目標用戶的定位依然存在較大的誤差。基于上述缺陷,HOANG等提出了基于改進三邊測量定位算法;如圖1所示:通過對一款國外的約會軟件Grindr的實際測試,HOANG等發現該軟件的通告信息中的用戶次序與該用戶相距查詢者的實際距離有關,查詢結果中目標用戶的前后兩個相鄰用戶與查詢者的實際距離,可作為該用戶與查詢者的實際距離的上下限;基于此特性,通過構造兩個位置可控的虛擬用戶A和B,并調整虛擬用戶A、B與查詢者之間的距離,使得探針的查詢結果中目標用戶位于兩個虛擬用戶之間且虛擬用戶A、B與探針之間的實際距離之差盡可能小;定義目標用戶與探針的實際距離為d,虛擬用戶A與探針的實際距離為d1,虛擬用戶A與探針的實際距離為d2,則d1<d<d2,從而確定目標用戶所處的環形區域,然后利用三邊測量定位算法即可確定目標用戶的位置。基于改進三邊測量定位算法確定的目標用戶與探針的實際距離范圍,遠小于基于通告距離確定的目標用戶與探針的實際距離范圍;但基于改進三邊測量定位算法依賴于社交軟件的通告信息中的用戶次序屬性,當社交軟件的通告信息中的用戶排序滿足與查詢者的實際距離之間的對應關系,該算法能夠實現對目標用戶的可靠定位。實際測試發現,微信“附近的人”中,當查詢者與被查詢者之間的實際距離增大時,被查詢者在查詢者得到的附近用戶列表中的位置存在向下移動的趨勢;但隨著隱私保護技術的應用與升級,大部分LBSN在通告附近用戶時,會對位置信息進行混淆處理,使得查詢結果中的用戶次序與用戶相距查詢者的實際距離之間不滿足嚴格對應關系,即微信“附近的人”中的用戶前后關系并非嚴格滿足與查詢者實際距離的大小對應關系,往往會存在失序現象。假設用戶A與查詢者的實際距離為d1,用戶B與查詢者的實際距離為d2,失序現象是指當d1<d2,但微信“附近的人”查詢結果中用戶B更靠前的現象;或d1>d2,但微信“附近的人”查詢結果中用戶A更靠前的現象。即易出現以下現象:探針的查詢結果中目標用戶位于虛擬用戶A、B之間,但此時d<d1<d2或d1<d2<d,即該算法確定的環狀區域沒有包含目標用戶的位置;定位目標用戶時,三個圓環的交叉區域內并不包含目標用戶的位置,或不存在交叉區域。因此該算法無法直接用于微信用戶的定位。
技術實現思路
本專利技術的目的在于提供基于查詢結果中用戶失序分析的微信用戶定位算法,能夠。為了實現上述目的,本專利技術采用以下技術方案:基于查詢結果中用戶失序分析的微信用戶定位算法,其特征在于:包括以下步驟:步驟1:確定混雜區間,具體包括以下步驟:步驟1.1:構建虛擬用戶:利用智能移動設備位置模擬技術模擬智能移動設備的地理位置,構造虛擬用戶A、虛擬用戶B和虛擬用戶C;設置虛擬用戶A的位置并定義虛擬用戶A作為虛擬查詢者,設置虛擬用戶B的位置和虛擬用戶C的位置并將其作為被查詢者;步驟1.2:定義混雜區間:將利用虛擬用戶A在微信“附近的人”附近用戶列表中兩個失序虛擬用戶B和虛擬用戶C與虛擬用戶A之間的實際距離之差的變化范圍稱為混雜區間;混雜區間為:|d1-d2|<M;其中,虛擬用戶B與虛擬用戶A的實際距離為d1,虛擬用戶C與虛擬用戶A的實際距離為d2,M為|d1-d2|的最大值;步驟1.3:計算混雜區間,具體包括以下步驟:步驟1.3.1:定義虛擬用戶A和虛擬用戶B的實際距離為d1,保持d1不變;步驟1.3.2:將虛擬用戶C與設置在相同位置,定義虛擬用戶A和虛擬用戶C的實際距離為d2,利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序并記錄;步驟1.3.3:保持虛擬用戶B的位置不變,改變虛擬用戶C的位置,使得|d1-d2|逐漸增大,直至利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序不再發生變化,定義此時|d1-d2|的值為記錄值M;步驟1.3.4:依據步驟3.3得出的記錄值M確定混雜區間為:|d1-d2|<M;步驟2:掃描目標用戶可能所處的潛在區域,具體包括以下步驟:步驟2.1:在目標用戶可能所處的潛在區域內等距設定查詢點;步驟2.2:將探針的位置依次設置為查詢點的位置,并利用探針在微信“附近的人”中查詢附近用戶列表;步驟2.3:重復步驟2.2,直至目標用戶出現在附近用戶列表中,記錄此時探針的位置,并將此時的查詢點定義為第一查詢點;步驟3:設置參考探針,具體包括以下步驟:步驟3.1:定義參考探針:參考探針是指在定位目標用戶的過程中,為了獲得目標用戶與探針之間的實際距離范圍而構建的虛擬用戶;步驟3.2:利用智能移動設備位置模擬技術構建位置可變的參考探針;步驟3.3:改變參考探針的位置,使得參考探針與探針的實際距離dpr以xm為單位動態變化,每次參考探針的位置改變后,利用探針在微信“附近的人”中查詢附近用戶列表,直至探針查詢的附近用戶列表中參考探針與目標用戶相鄰;步驟3.4:步驟3.3中,若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠前,則以y為單位逐漸減小dpr,使得參考探針在查詢結果中的次序上升,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠后,則以y為單位逐漸增大dpr,使得參考探針在查詢結果中的次序下降,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;步驟4:確定環狀區域,具體包括以下步驟:將步驟3.4中,探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化時,探針與參考探針之間的實際距離記為DR,可得目標用戶的位置在以探針位置為中心,內圓半徑為|DR-M|,外圓半徑為|DR+M|,環寬為2M的環形區域O1內;步驟5:利用三邊測量定位法確定目標用戶的位置。所述步驟5包括以下步驟:步驟5.1:選擇第二查詢點位置,第二查詢點與第一查詢點位置的距離大于|DR+M|且小于2|DR+M|;第二查詢點位置選擇可使用步驟2所述的方法;步驟5.2:重復步驟3和步驟4,得到目標用戶的位置在以第二查詢點為中心,內圓半徑為|DR-M|,外圓半徑為|DR+M|,環寬為2M的環形區域O2內;步驟5.3:在以第一查詢點位置和第二查詢點位置為端點的線段的中垂線上取第三查詢點,第三查詢點位置與第一查詢點位置的距離大于|DR+M|且小于2|DR+M|;第三查詢點位置選擇也可使用步驟3所述的方法;步驟5.4:重復步驟3和步驟4,得到目標用戶的位置在以第三查詢點為中心,內圓半徑為|DR-M|,外圓半徑為|DR+M|,環寬為2M的環形區域O3內;步驟5.5:環形區域O1、環形區域O2和環形區域O3的交叉區域的中心位置即為目標用戶的定位位置。所述步驟1.3.3還包括以下步驟:步驟1.3.3.1:保持虛擬用戶B的位置不變,改變本文檔來自技高網...
【技術保護點】
1.基于查詢結果中用戶失序分析的微信用戶定位算法,其特征在于:包括以下步驟:步驟1:確定混雜區間,具體包括以下步驟:步驟1.1:構建虛擬用戶:利用智能移動設備位置模擬技術模擬智能移動設備的地理位置,構造虛擬用戶A、虛擬用戶B和虛擬用戶C;設置虛擬用戶A的位置并定義虛擬用戶A作為虛擬查詢者,設置虛擬用戶B的位置和虛擬用戶C的位置并將其作為被查詢者;步驟1.2:定義混雜區間:將利用虛擬用戶A在微信“附近的人”附近用戶列表中兩個失序虛擬用戶B和虛擬用戶C與虛擬用戶A之間的實際距離之差的變化范圍稱為混雜區間;混雜區間為:|d1?d2|<M;其中,虛擬用戶B與虛擬用戶A的實際距離為d1,虛擬用戶C與虛擬用戶A的實際距離為d2,M為|d1?d2|的最大值;步驟1.3:計算混雜區間,具體包括以下步驟:步驟1.3.1:定義虛擬用戶A和虛擬用戶B的實際距離為d1,保持d1不變;步驟1.3.2:將虛擬用戶C與設置在相同位置,定義虛擬用戶A和虛擬用戶C的實際距離為d2,利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序并記錄;步驟1.3.3:保持虛擬用戶B的位置不變,改變虛擬用戶C的位置,使得|d1?d2|逐漸增大,直至利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序不再發生變化,定義此時|d1?d2|的值為記錄值M;步驟1.3.4:依據步驟3.3得出的記錄值M確定混雜區間為:|d1?d2|<M;步驟2:掃描目標用戶可能所處的潛在區域,具體包括以下步驟:步驟2.1:在目標用戶可能所處的潛在區域內等距設定查詢點;步驟2.2:將探針的位置依次設置為查詢點的位置,并利用探針在微信“附近的人”中查詢附近用戶列表;步驟2.3:重復步驟2.2,直至目標用戶出現在附近用戶列表中,記錄此時探針的位置,并將此時的查詢點定義為第一查詢點;步驟3:設置參考探針,具體包括以下步驟:步驟3.1:定義參考探針:參考探針是指在定位目標用戶的過程中,為了獲得目標用戶與探針之間的實際距離范圍而構建的虛擬用戶;步驟3.2:利用智能移動設備位置模擬技術構建位置可變的參考探針;步驟3.3:改變參考探針的位置,使得參考探針與探針的實際距離dpr以xm為單位動態變化,每次參考探針的位置改變后,利用探針在微信“附近的人”中查詢附近用戶列表,直至探針查詢的附近用戶列表中參考探針與目標用戶相鄰;步驟3.4:步驟3.3中,若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠前,則以y為單位逐漸減小dpr,使得參考探針在查詢結果中的次序上升,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠后,則以y為單位逐漸增大dpr,使得參考探針在查詢結果中的次序下降,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;步驟4:確定環狀區域,具體包括以下步驟:將步驟3.4中,探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化時,探針與參考探針之間的實際距離記為DR,可得目標用戶的位置在以探針位置為中心,內圓半徑為|DR?M|,外圓半徑為|DR+M|,環寬為2M的環形區域O1內;步驟5:利用三邊測量定位法確定目標用戶的位置。...
【技術特征摘要】
1.基于查詢結果中用戶失序分析的微信用戶定位算法,其特征在于:包括以下步驟:步驟1:確定混雜區間,具體包括以下步驟:步驟1.1:構建虛擬用戶:利用智能移動設備位置模擬技術模擬智能移動設備的地理位置,構造虛擬用戶A、虛擬用戶B和虛擬用戶C;設置虛擬用戶A的位置并定義虛擬用戶A作為虛擬查詢者,設置虛擬用戶B的位置和虛擬用戶C的位置并將其作為被查詢者;步驟1.2:定義混雜區間:將利用虛擬用戶A在微信“附近的人”附近用戶列表中兩個失序虛擬用戶B和虛擬用戶C與虛擬用戶A之間的實際距離之差的變化范圍稱為混雜區間;混雜區間為:|d1-d2|<M;其中,虛擬用戶B與虛擬用戶A的實際距離為d1,虛擬用戶C與虛擬用戶A的實際距離為d2,M為|d1-d2|的最大值;步驟1.3:計算混雜區間,具體包括以下步驟:步驟1.3.1:定義虛擬用戶A和虛擬用戶B的實際距離為d1,保持d1不變;步驟1.3.2:將虛擬用戶C與設置在相同位置,定義虛擬用戶A和虛擬用戶C的實際距離為d2,利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序并記錄;步驟1.3.3:保持虛擬用戶B的位置不變,改變虛擬用戶C的位置,使得|d1-d2|逐漸增大,直至利用虛擬用戶A在微信“附近的人”中查詢虛擬用戶B和虛擬用戶C的前后次序不再發生變化,定義此時|d1-d2|的值為記錄值M;步驟1.3.4:依據步驟3.3得出的記錄值M確定混雜區間為:|d1-d2|<M;步驟2:掃描目標用戶可能所處的潛在區域,具體包括以下步驟:步驟2.1:在目標用戶可能所處的潛在區域內等距設定查詢點;步驟2.2:將探針的位置依次設置為查詢點的位置,并利用探針在微信“附近的人”中查詢附近用戶列表;步驟2.3:重復步驟2.2,直至目標用戶出現在附近用戶列表中,記錄此時探針的位置,并將此時的查詢點定義為第一查詢點;步驟3:設置參考探針,具體包括以下步驟:步驟3.1:定義參考探針:參考探針是指在定位目標用戶的過程中,為了獲得目標用戶與探針之間的實際距離范圍而構建的虛擬用戶;步驟3.2:利用智能移動設備位置模擬技術構建位置可變的參考探針;步驟3.3:改變參考探針的位置,使得參考探針與探針的實際距離dpr以xm為單位動態變化,每次參考探針的位置改變后,利用探針在微信“附近的人”中查詢附近用戶列表,直至探針查詢的附近用戶列表中參考探針與目標用戶相鄰;步驟3.4:步驟3.3中,若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠前,則以y為單位逐漸減小dpr,使得參考探針在查詢結果中的次序上升,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;若探針查詢的附近用戶列表中,目標用戶比參考探針的次序靠后,則以y為單位逐漸增大dpr,使得參考探針在查詢結果中的次序下降,其中y<M,直至探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化;步驟4:確定環狀區域,具體包括以下步驟:將步驟3.4中,探針查詢的附近用戶列表中參考探針和目標用戶的前后次序發生變化時,探針與參考探針之間的實際距離記為DR,可得目標用戶的位置在以探針位置為中心,內圓半徑為|DR-M|,外圓半徑為|DR+M|,環寬為2M的環形區域O1內;步驟5:利用三邊測量定位法確定目標用戶的位置。2.根據權利要求1所述的基于查詢結果中用戶失序分析的微信用戶定位算法,其特征在于:所述步驟5包括以下步驟:步驟5.1:選擇第二查詢點位置,第二查詢點與第一查詢點位置的距離大于|DR+M|且小于2|DR+M|;第二查詢點位置選擇可使用步驟2所述的方法;步驟5.2:重復步驟3和步驟4,得到目標用戶的位置在以第二查詢點為中心,內圓半徑為|DR-M|,外圓半徑為|DR+M|,環寬為2M的環形區域O2內;...
【專利技術屬性】
技術研發人員:羅向陽,時文旗,趙帆,郭家棟,劉粉林,楊春芳,
申請(專利權)人:羅向陽,
類型:發明
國別省市:河南,41
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。