本發(fā)明屬于終端定位技術(shù)領(lǐng)域,尤其涉及一種基于距離的社交發(fā)現(xiàn)中的位置隱私的保護(hù)方法。
背景技術(shù):
隨著位置獲取技術(shù)和移動(dòng)通信技術(shù)的發(fā)展基于位置的服務(wù)變得越來越普遍,基于距離的社交發(fā)現(xiàn)(簡稱社交發(fā)現(xiàn))是一種基于位置的服務(wù),例如,通過社交發(fā)現(xiàn)應(yīng)用軟件(例如微信)能夠獲取附近朋友列表。在社交發(fā)現(xiàn)中,保護(hù)用戶的隱私位置,避免用戶的精確位置被泄露顯得額外重要。
現(xiàn)有的社交發(fā)現(xiàn)應(yīng)用軟件通過顯示距離而不是精確位置以避免用戶的真實(shí)位置被泄露,但是,仍然可以通過三邊定位或無距離定位技術(shù)獲取用戶的精確位置。例如,假設(shè)u、u1、u2和u3是使用社交發(fā)現(xiàn)應(yīng)用軟件(例如,微信)的用戶,u1、u2和u3可能同時(shí)搜索到u,即u出現(xiàn)在u1、u2和u3三個(gè)用戶的附近朋友列表中,我們將u稱為待發(fā)現(xiàn)用戶,u1、u2和u3稱為搜索用戶,如果u1、u2和u3串通并利用相互的精確位置以及各自與u的距離,u1、u2和u3通過不斷變化位置可以將u的位置定位到一個(gè)很小的范圍內(nèi)。據(jù)報(bào)道,可以通過相關(guān)應(yīng)用程序?qū)⒋l(fā)現(xiàn)用戶的位置定位到其精確位置的5米范圍內(nèi)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種基于距離的社交發(fā)現(xiàn)中的位置隱私的保護(hù)方法,以解決現(xiàn)有技術(shù)中用戶位置信息容易被泄露的問題。
本發(fā)明實(shí)施例提供一種基于距離的社交發(fā)現(xiàn)中的位置隱私保護(hù)方法,包括:
待發(fā)現(xiàn)用戶終端接收待發(fā)現(xiàn)用戶輸入的位置隱私需求;
待發(fā)現(xiàn)用戶終端獲取搜索用戶終端的鄰近區(qū)域;
待發(fā)現(xiàn)用戶終端尋找滿足所述位置隱私需求的搜索用戶列表;
待發(fā)現(xiàn)用戶終端獲取鄰近記錄,所述鄰近記錄是指所述待發(fā)現(xiàn)用戶終端位于所述搜索用戶列表中的搜索用戶終端的鄰近區(qū)域中;
待發(fā)現(xiàn)用戶終端將所述鄰近記錄發(fā)送到服務(wù)器;
服務(wù)器根據(jù)接收到的所述鄰近記錄,將所述待發(fā)現(xiàn)用戶終端的標(biāo)識信息發(fā)送至所述鄰近記錄中的搜索用戶終端。
可選的,所述待發(fā)現(xiàn)用戶終端獲取搜索用戶終端的鄰近區(qū)域,具體包括:
服務(wù)器將所述搜索用戶的信息生成索引,待發(fā)現(xiàn)用戶終端每隔預(yù)設(shè)時(shí)間間隔從所述索引下載所述搜索用戶的信息,所述搜索用戶的信息包括所述搜索用戶終端的鄰近區(qū)域信息。
可選的,所述搜索用戶的信息還包括所述搜索用戶的身份信息;所述索引包括hgrid索引,所述hgrid索引包括網(wǎng)格結(jié)構(gòu)和哈希表,所述網(wǎng)格結(jié)構(gòu)用于存儲(chǔ)所述搜索用戶的身份信息,所述哈希表用于存儲(chǔ)所述搜索用戶終端的鄰近區(qū)域信息。
可選的,所述待發(fā)現(xiàn)用戶終端尋找滿足用戶位置隱私需求的搜索用戶列表,具體包括:
待發(fā)現(xiàn)用戶終端計(jì)算所述搜索用戶終端鄰近區(qū)域的交集,得到所述待發(fā)現(xiàn)用戶終端的模糊位置信息;
若所述模糊位置信息滿足所述位置隱私需求,則生成搜索用戶列表。
可選的,所述待發(fā)現(xiàn)用戶終端尋找滿足所述位置隱私需求的搜索用戶列表,具體包括:
所述待發(fā)現(xiàn)用戶終端通過四棧方法尋找滿足所述位置隱私需求的搜索用戶列表;
所述四棧方法具體包括:
獲取所述搜索用戶的信息,所述搜索用戶的信息包括所述搜索用戶的身份信息和鄰近區(qū)域信息,所述鄰近區(qū)域信息是指所述鄰近區(qū)域邊界的坐標(biāo)信息;
將所述搜索用戶的身份信息和鄰近區(qū)域信息放入四個(gè)棧中;
將所述搜索用戶的信息按照預(yù)設(shè)順序排列;
若棧不為空,則訪問所述棧中的棧頂元素;
根據(jù)棧中的元素計(jì)算所述鄰近區(qū)域的交集得到模糊位置信息;
若所述模糊位置信息滿足所述隱私需求,則生成搜索用戶列表;
若所述模糊位置信息不滿足所述位置隱私需求,則從四個(gè)棧中選擇刪除用戶,將所述刪除用戶從棧中刪除;
將剩余搜索用戶的信息按照預(yù)設(shè)順序排列,執(zhí)行步驟若棧不為空,則訪問所述棧中的棧頂元素。
可選的,所述方法還包括:
待發(fā)現(xiàn)用戶從所述搜索用戶列表中選擇待發(fā)送搜索用戶作為待發(fā)送搜索用戶列表;
待發(fā)現(xiàn)用戶終端獲取待發(fā)送鄰近記錄,所述待發(fā)送鄰近記錄是指所述待發(fā)現(xiàn)用戶終端位于所述待發(fā)送搜索用戶列表中的搜索用戶終端的鄰近區(qū)域中;
待發(fā)現(xiàn)用戶終端將所述待發(fā)送鄰近記錄發(fā)送到服務(wù)器;
服務(wù)器將所述待發(fā)現(xiàn)用戶終端的標(biāo)識信息發(fā)送至所述待發(fā)送鄰近記錄中的待發(fā)送搜索用戶終端。
可選的,所述方法還包括:當(dāng)待發(fā)現(xiàn)用戶在預(yù)設(shè)時(shí)間間隔內(nèi)沒有操作時(shí),服務(wù)器使所述待發(fā)現(xiàn)用戶的登錄信息過期。
本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實(shí)施例通過待發(fā)現(xiàn)用戶在待發(fā)現(xiàn)用戶終端中設(shè)置位置隱私需求,當(dāng)搜索用戶滿足位置隱私需求時(shí),則將待發(fā)現(xiàn)用戶的標(biāo)識信息發(fā)送至搜索用戶終端,當(dāng)搜索用戶不滿足待發(fā)現(xiàn)用戶的位置隱私需求時(shí),則不發(fā)送待發(fā)現(xiàn)用戶的標(biāo)識信息,能夠避免待發(fā)現(xiàn)用戶終端的真實(shí)位置信息泄露。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例一提供的基于距離的社交發(fā)現(xiàn)中的位置隱私的保護(hù)方法的實(shí)現(xiàn)流程圖;
圖2是本發(fā)明實(shí)施例一提供的搜索用戶鄰近區(qū)域的示例圖;
圖3是本發(fā)明實(shí)施例一提供的三個(gè)搜索用戶的鄰近區(qū)域構(gòu)成的四個(gè)棧的示意圖;
圖4是本發(fā)明實(shí)施例一提供的圖3中刪除一個(gè)搜索用戶后的的鄰近區(qū)域構(gòu)成的四個(gè)棧的示意圖;
圖5是本發(fā)明實(shí)施例二提供的基于距離的社交發(fā)現(xiàn)中的位置隱私的保護(hù)方法的實(shí)現(xiàn)流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)當(dāng)理解,當(dāng)在本說明書和所附權(quán)利要求書中使用時(shí),術(shù)語“包括”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個(gè)或多個(gè)其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應(yīng)當(dāng)理解,在此本發(fā)明說明書中所使用的術(shù)語僅僅是出于描述特定實(shí)施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權(quán)利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個(gè)”及“該”意在包括復(fù)數(shù)形式。
還應(yīng)當(dāng)進(jìn)一步理解,在本發(fā)明說明書和所附權(quán)利要求書中使用的術(shù)語“和/或”是指相關(guān)聯(lián)列出的項(xiàng)中的一個(gè)或多個(gè)的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權(quán)利要求書中所使用的那樣,術(shù)語“若”、“如果”可以依據(jù)上下文被解釋為“當(dāng)...時(shí)”或“一旦”或“響應(yīng)于確定”或“響應(yīng)于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應(yīng)于確定”或“一旦檢測到[所描述條件或事件]”或“響應(yīng)于檢測到[所描述條件或事件]”。
為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
在本發(fā)明實(shí)施例中,為便于說明,將搜索用戶的鄰近區(qū)域的形狀設(shè)置為矩形區(qū)域,在實(shí)際應(yīng)用中,搜索用戶的鄰近區(qū)域的形狀可以為任意形狀。
實(shí)施例一
參照圖1,圖1是本發(fā)明實(shí)施例一提供的用戶位置隱私的保護(hù)方法的實(shí)現(xiàn)流程圖,如圖所示,該方法包括以下步驟:
步驟s101,待發(fā)現(xiàn)用戶終端接收待發(fā)現(xiàn)用戶輸入的位置隱私需求。
在本發(fā)明實(shí)施例中,所述待發(fā)現(xiàn)用戶在終端中設(shè)置位置隱私需求。
步驟s102,待發(fā)現(xiàn)用戶終端獲取搜索用戶終端的鄰近區(qū)域。
在本發(fā)明實(shí)施例中,每一個(gè)搜索用戶對應(yīng)一個(gè)鄰近區(qū)域,所述鄰近區(qū)域是指所述搜索用戶終端的位置范圍區(qū)域,例如,如圖2所述所述搜索用戶終端u1的鄰近區(qū)域?yàn)榫匦螀^(qū)域201,所述搜索用戶終端的真實(shí)位置位于所述矩形區(qū)域中。
可選的,步驟s102具體實(shí)現(xiàn)過程可以為:服務(wù)器將搜索用戶的信息生成索引,待發(fā)現(xiàn)用戶終端每隔預(yù)設(shè)時(shí)間間隔從所述索引下載所述搜索用戶的信息,所述搜索用戶的信息包括所述搜索用戶終端的鄰近區(qū)域信息。
在本發(fā)明實(shí)施例中,預(yù)設(shè)時(shí)間是待發(fā)現(xiàn)用戶終端預(yù)先設(shè)置的時(shí)間,例如,待發(fā)現(xiàn)用戶終端將預(yù)設(shè)時(shí)間設(shè)置為1分鐘,則待發(fā)現(xiàn)用戶終端每隔1分鐘從所述索引下載所述搜索用戶的信息。
進(jìn)一步地,所述索引包括hgrid索引,所述hgrid索引包括網(wǎng)格結(jié)構(gòu)和哈希表,所述網(wǎng)格結(jié)構(gòu)用于存儲(chǔ)所述搜索用戶的身份信息,所述哈希表用于存儲(chǔ)所述搜索用戶終端所處位置的鄰近區(qū)域信息。
在本發(fā)明實(shí)施例中,hgrid包括網(wǎng)格結(jié)構(gòu)和哈希表,所述網(wǎng)格結(jié)構(gòu)用于存儲(chǔ)所述搜索用戶的身份信息,有助于待發(fā)現(xiàn)用戶終端找到鄰近區(qū)域覆蓋其真實(shí)位置的搜索用戶。網(wǎng)格中的每個(gè)單元格有兩個(gè)鏈表,分別為:pl,用于記錄鄰近區(qū)域部分覆蓋該單元格的用戶;fl,用于存儲(chǔ)鄰近區(qū)域完全覆蓋整個(gè)單元格的用戶。所述哈希表用于存儲(chǔ)搜索用戶的鄰近區(qū)域信息,哈希表中包含用戶id和鄰近區(qū)域的位置。例如,假設(shè)搜索用戶鄰近區(qū)域?yàn)榫匦危1碇写鎯?chǔ)的搜索用戶的鄰近區(qū)域信息為(u1,x1,y1,x2,y2),其中,u1為搜索用戶的id,(x1,y1)為矩形左下角坐標(biāo),(x2,y2)為矩形右上角坐標(biāo)。
可選的,所述待發(fā)用戶終端每隔預(yù)設(shè)時(shí)間間隔從所述索引下載部分或者全部搜索用戶的信息。
在本發(fā)明實(shí)施例中,通過將搜索用戶的鄰近區(qū)域組織成一個(gè)索引,待發(fā)現(xiàn)用戶終端可以從索引下載搜索用戶的信息,能夠高效的找到覆蓋待發(fā)現(xiàn)用戶終端真實(shí)位置的搜索用戶的鄰近區(qū)域。
步驟s103,待發(fā)現(xiàn)用戶終端尋找滿足所述位置隱私需求的搜索用戶列表。
在本發(fā)明實(shí)施例中,所述搜索用戶列表包括所述搜索用戶的身份信息,若所述搜索用戶終端滿足所述位置隱私需求,則獲取所述搜索用戶的身份信息作為所述搜索用戶列表。
可選的,待發(fā)現(xiàn)用戶終端計(jì)算所有所述搜索用戶終端鄰近區(qū)域的交集,得到所述待發(fā)現(xiàn)用戶終端的模糊位置信息;若所述模糊位置信息滿足所述位置隱私需求,則生成搜索用戶列表。
在本發(fā)明實(shí)施例中,所有鄰近區(qū)域的交集即為所述待發(fā)現(xiàn)用戶終端的模糊位置,所述模糊位置是根據(jù)所述搜索用戶終端的鄰近區(qū)域確定的所述待發(fā)現(xiàn)用戶終端所處的位置區(qū)域,即所述待發(fā)現(xiàn)用戶終端的真實(shí)位置位于所述模糊位置中。所述位置隱私需求指所述待發(fā)現(xiàn)用戶可接受的模糊位置信息的最小范圍,所述模糊位置信息包括所述模糊位置的面積信息,具體的,所述位置隱私需求是指所述待發(fā)現(xiàn)用戶可接受的所述模糊位置的最小面積。所述模糊位置的面積大于所述待發(fā)現(xiàn)用戶可接受的模糊位置的最小面積,即為所述模糊位置信息滿足所述位置隱私需求。若所述模糊位置信息滿足所述位置隱私需求,則獲取所述搜索用戶的身份信息作為搜索用戶列表。
在本發(fā)明實(shí)施例中,設(shè)用戶u1,u2,u3,…,un通過社交發(fā)現(xiàn)軟件,例如,微信,可以搜索到用戶u,將用戶u稱為待發(fā)現(xiàn)用戶,u1,u2,u3,…,un稱為搜索用戶,即待發(fā)現(xiàn)用戶u的搜索用戶為u1,u2,u3,…,un。定義搜索用戶u1,u2,u3,…,un為待發(fā)現(xiàn)用戶u的足跡集fsu,記為fsu={u1,u2,u3,...,un}。每一個(gè)搜索用戶對應(yīng)一個(gè)鄰近區(qū)域,計(jì)算所有所述鄰近區(qū)域的交集,得到所述待發(fā)現(xiàn)用戶終端的模糊位置信息,待發(fā)現(xiàn)用戶u關(guān)于fsu的模糊位置為搜索用戶鄰近區(qū)域的交集,記為
例如,如圖2所示,為簡便起見,將搜索用戶的鄰近區(qū)域的形狀設(shè)置為矩形。待發(fā)現(xiàn)用戶u的搜索用戶為u1、u2和u3,終端u的位置包含在搜索用戶u1,u2,u3的鄰近區(qū)域內(nèi),則用戶u的足跡集為fsu={u1,u2,u3}。搜索用戶u1、u2和u3的鄰近區(qū)域分別為圖2中的矩形201、202和203,鄰近區(qū)域201、202和203的交集為區(qū)域204,則待發(fā)現(xiàn)用戶u關(guān)于fsu={u1,u2,u3}的模糊位置為圖中的區(qū)域204,即根據(jù)搜索用戶u1、u2和u3確定的待發(fā)送用戶u的位置區(qū)域?yàn)?04。設(shè)待發(fā)現(xiàn)用戶設(shè)置的隱私需求為minu,若區(qū)域204的面積大于minu,則說明模糊位置滿足待發(fā)現(xiàn)用戶u的位置隱私需求,則搜索用戶列表中的搜索用戶為u1、u2和u3,即u的真實(shí)位置在搜索用戶u1、u2和u3的鄰近區(qū)域中。
在本發(fā)明實(shí)施例中,模糊位置信息不滿足待發(fā)現(xiàn)用戶的隱私需求,稱待發(fā)現(xiàn)用戶u存在過度共享攻擊,即搜索用戶確定的待發(fā)現(xiàn)用戶的位置區(qū)域的面積不大于用戶可接受的最小模糊位置面積。為了防止過度共享攻擊,需要為待發(fā)現(xiàn)用戶u找到一個(gè)足跡集fsu,使得根據(jù)足跡集fsu中的搜索用戶的鄰近區(qū)域計(jì)算得到的模糊位置滿足隱私需求。
在本發(fā)明實(shí)施例中,需要找到滿足待發(fā)現(xiàn)用戶隱私需求的最大足跡集,即安全的最大足跡集??蛇x的,通過四棧方法(fbuck)計(jì)算滿足所述隱私需求的搜索用戶,即安全的最大足跡集。所述四棧方法具體包括:
獲取所述搜索用戶的信息,所述搜索用戶的信息包括所述搜索用戶的身份信息和鄰近區(qū)域信息,所述鄰近區(qū)域信息是指所述鄰近區(qū)域的坐標(biāo)信息;
將所述搜索用戶的身份信息和鄰近區(qū)域信息放入四個(gè)棧中;
將所述搜索用戶的信息按照預(yù)設(shè)順序排列;
若棧不為空,則訪問所述棧中的棧頂元素;
根據(jù)棧中的元素計(jì)算所述鄰近區(qū)域的交集得到模糊位置信息;
若所述模糊位置信息滿足所述隱私需求,則生成搜索用戶列表;
若所述模糊位置信息不滿足所述位置隱私需求,則從四個(gè)棧中選擇刪除用戶,將所述刪除用戶從棧中刪除;
將剩余搜索用戶的信息按照預(yù)設(shè)順序排列,執(zhí)行步驟若棧不為空,則訪問所述棧中的棧頂元素。
例如,假設(shè)待發(fā)現(xiàn)用戶u的真實(shí)位置信息用坐標(biāo)表示,坐標(biāo)為(x,y),利用hgrid索引,可以得到覆蓋待發(fā)現(xiàn)用戶真實(shí)位置(x,y)的鄰近區(qū)域所屬的搜索用戶足跡集fsu,通過四個(gè)棧計(jì)算fsu中用戶組合的相交區(qū)域。
為了便于理解,首先介紹棧的結(jié)構(gòu)。在本發(fā)明實(shí)施例中,假設(shè)搜索用戶的鄰近區(qū)域?yàn)榫匦?,將矩形的四個(gè)邊界分別稱作左(l)、右(r)、下(b)和上(t),一個(gè)棧代表一種鄰近區(qū)域邊界,分別記為l-buk,r-buk,b-buk和t-buk。每個(gè)棧中都分別包含一個(gè)搜索用戶的id和一個(gè)鄰近區(qū)域的邊界坐標(biāo),例如,在l-buk和r-buk中記錄的是鄰近區(qū)域的左下角坐標(biāo)和右上角坐標(biāo)中的x值,在b-buk和t-buk中記錄的是鄰近區(qū)域的左下角坐標(biāo)和右上角坐標(biāo)中的y值。以鄰近區(qū)域的邊界坐標(biāo)為關(guān)鍵詞,將l-buk和b-buk中的用戶id做非降序排列,將r-buk和t-buk中的用戶id做非升序排列。四個(gè)棧頂元素組成的矩形是當(dāng)前搜索用戶組成的最小相交矩形,為待發(fā)現(xiàn)用戶u的模糊位置信息,如果矩形的面積小于待發(fā)現(xiàn)用戶的隱私需求minu,則從四個(gè)棧頂中選擇一個(gè)刪除用戶,將其從每個(gè)棧中刪除,新的頂部元素將形成一個(gè)新的相交矩形,如果新矩形的面積仍然小于minu,則重復(fù)上述步驟,直到每個(gè)棧均為空或者相交區(qū)域的面積不小于minu。
參考圖3,圖3是一個(gè)由三個(gè)搜索用戶u1、u2和u3的鄰近區(qū)域構(gòu)成的四個(gè)棧的示意圖。待發(fā)現(xiàn)用戶u的三個(gè)搜索用戶為u1、u2和u3,搜索用戶為u1、u2和u3的鄰近區(qū)域分別為301、302和303,三個(gè)搜索用戶的鄰近區(qū)域信息分別為(u1,2,0,6,4,)、(u2,1,1,5,5)和(u3,3,3,7,7),四個(gè)棧元素如圖3所示,四個(gè)棧頂元素組成的矩形304是當(dāng)前搜索用戶u1、u2和u3組成的最小相交矩形,為待發(fā)現(xiàn)用戶u的模糊位置信息,如果矩形304的面積小于待發(fā)現(xiàn)用戶的隱私需求minu,則從四個(gè)棧頂中選擇一個(gè)刪除用戶,將其從每個(gè)桶中刪除,如刪除u3,新的頂部元素將形成一個(gè)新的相交矩形305,如圖4所示,圖4是本發(fā)明實(shí)施例一提供的圖3中刪除一個(gè)搜索用戶后的的鄰近區(qū)域構(gòu)成的四個(gè)棧的示意圖,如果新矩形的面積不小于minu,則{u1,u2}是待發(fā)現(xiàn)用戶u的最大安全足跡集。
下面,以鄰近區(qū)域?yàn)榫匦螢槔f明四棧方法fbuck。
1.從hgrid索引中獲取待發(fā)現(xiàn)用戶u的足跡集fsu;
2.針對fsu中的每一個(gè)用戶的鄰近區(qū)域,初始化l-buk,r-buk,b-buk和t-buk;
3.將l-buk和b-buk中的元素按非升序排序;
4.將r-buk和t-buk中的元素按非降序排序;
5.當(dāng)l-buk不為空時(shí),則
6.訪問每一個(gè)棧中的棧頂元素;
7.用每一個(gè)棧頂元素組成矩形ur;
8.若矩形ur的面積不大于minu,則
9.選擇一個(gè)搜索用戶作為待刪除搜索用戶du;
10.從四個(gè)桶中和fsu中刪除待刪除搜索用戶du;
11.將l-buk,r-buk,b-buk和t-buk中的元素重排序,繼續(xù)執(zhí)行步驟5,直至矩形ur的面積小于minu;
12.返回fsu中的剩余用戶作為安全的最大足跡集合。
在本發(fā)明實(shí)施例中,選擇刪除用戶的基本原則是:選擇刪除鄰近區(qū)域邊界限制或者將會(huì)限制待發(fā)現(xiàn)用戶模糊位置的搜索用戶。在提出選擇策略之前,首先定義待發(fā)現(xiàn)用戶和搜索用戶之間的內(nèi)部距離和外部距離。
設(shè)待發(fā)現(xiàn)用戶的足跡集為fsu,fsu中搜索用戶的鄰近區(qū)域相交的矩形為pt,設(shè)pt中的邊界搜索用戶組成的集合為
若待發(fā)現(xiàn)用戶u在集合
設(shè)待發(fā)現(xiàn)用戶的足跡集為fsu,
參照圖4,以圖4中u和u1為例,u與u1的內(nèi)部距離為d1,u與u1的外部距離為d2。
indist(u,ui)值越小表示ui的鄰近區(qū)域邊界限制了模糊位置的大小,因此擁有較小內(nèi)部距離的用戶應(yīng)早移除。outdist(u,ui)值越小表示ui的鄰近區(qū)域邊界限制了模糊位置的大小,因此擁有較小外部距離的用戶應(yīng)早移除。
步驟s104,待發(fā)現(xiàn)用戶終端獲取鄰近記錄,所述鄰近記錄是指所述待發(fā)現(xiàn)用戶終端位于所述搜索用戶列表中的搜索用戶終端的鄰近區(qū)域中。
在本發(fā)明實(shí)施例中,設(shè)搜索用戶列表中的搜索用戶為u1,u2,u3,…,un,將待發(fā)現(xiàn)用戶u終端的鄰近記錄形式化的定義為{<u,u1>,<u,u2>,<u,u3>,…,<u,un>},其中,<u,ui>表示u在ui的鄰近區(qū)域內(nèi),即ui的鄰近區(qū)域包含u的真實(shí)位置信息,記為
步驟s105,待發(fā)現(xiàn)用戶終端將所述鄰近記錄發(fā)送到服務(wù)器。
步驟s106,服務(wù)器根據(jù)接收到的所述鄰近記錄,將所述待發(fā)現(xiàn)用戶終端的標(biāo)識信息發(fā)送至所述鄰近記錄中的搜索用戶終端。
在本發(fā)明實(shí)施例中,待發(fā)現(xiàn)用戶終端將鄰近記錄發(fā)送到服務(wù)器,服務(wù)器再將待發(fā)現(xiàn)用戶終端的標(biāo)識信息發(fā)送到鄰近記錄中的搜索用戶終端。所述待發(fā)現(xiàn)用戶終端的標(biāo)識信息指能表明待發(fā)現(xiàn)用戶身份的信息,并不包括待發(fā)現(xiàn)用戶的位置信息或者與搜索用戶的距離信息,即只在搜索用戶的搜索列表中顯示搜索到的待發(fā)現(xiàn)用戶的標(biāo)識信息,例如,注冊賬號、用戶名、頭像和個(gè)性簽名等信息。
可選的,所述鄰近區(qū)域的獲取方式為:服務(wù)器根據(jù)接收的所述待發(fā)現(xiàn)用戶終端的鄰近記錄,計(jì)算所述待發(fā)現(xiàn)用戶終端的模糊位置信息,所述模糊位置信息為所述鄰近記錄中的所述搜索用戶鄰近區(qū)域的交集;當(dāng)所述待發(fā)現(xiàn)用戶作為搜索用戶時(shí),基于所述模糊位置信息得到鄰近區(qū)域。
在本發(fā)明實(shí)施例中,在初始階段,會(huì)存在冷啟動(dòng)的問題,即初始階段所有用戶都沒有鄰近記錄,無法計(jì)算模糊位置,也無法得到鄰近區(qū)域。在這種情況下,可以通過傳統(tǒng)簽到服務(wù)中的簽到記錄開始首次搜索,或者通過先驗(yàn)保護(hù)的方法獲得用戶的模糊位置。所述先驗(yàn)保護(hù)即在查詢處理前將用戶的真實(shí)位置用模糊位置代替,可以通過泛化(例如,空間匿名化)、加密(例如,pir技術(shù))差分或者加入噪聲的方法模糊位置。
可選的,當(dāng)待發(fā)現(xiàn)用戶在預(yù)設(shè)時(shí)間間隔內(nèi)沒有操作時(shí),服務(wù)器使所述待發(fā)現(xiàn)用戶的登錄信息過期。
在本發(fā)明實(shí)施例中,預(yù)設(shè)時(shí)間是待發(fā)現(xiàn)用戶在待發(fā)現(xiàn)用戶終端預(yù)先設(shè)置的時(shí)間,例如5分鐘,當(dāng)待發(fā)現(xiàn)用戶在5分鐘內(nèi)沒有在待發(fā)現(xiàn)用戶終端有任何操作時(shí),則服務(wù)器使所述待發(fā)現(xiàn)用戶終端的登錄信息過期,即使待發(fā)現(xiàn)用戶終端退出登錄。
在本發(fā)明實(shí)施例中,通過待發(fā)現(xiàn)用戶在待發(fā)現(xiàn)用戶終端中設(shè)置位置隱私需求,當(dāng)搜索用戶滿足位置隱私需求使,則將待發(fā)現(xiàn)用戶的標(biāo)識信息發(fā)送至搜索用戶終端,當(dāng)搜索用戶不滿足待發(fā)現(xiàn)用戶的位置隱私需求時(shí),則不發(fā)送待發(fā)現(xiàn)用戶的標(biāo)識信息,能夠避免待發(fā)現(xiàn)用戶終端的真實(shí)位置信息泄露。
實(shí)施例二
如圖5所示,所述方法還包括:
步驟s501,待發(fā)現(xiàn)用戶從所述搜索用戶列表中選擇待發(fā)送搜索用戶作為待發(fā)送搜索用戶列表。
步驟s502,待發(fā)現(xiàn)用戶終端將所述待發(fā)送鄰近記錄發(fā)送到服務(wù)器。
步驟s503,服務(wù)器將所述待發(fā)現(xiàn)用戶終端的標(biāo)識信息發(fā)送至所述待發(fā)送鄰近記錄中的待發(fā)送搜索用戶終端。
在本發(fā)明實(shí)施例中,待發(fā)送搜索用戶是待發(fā)現(xiàn)用戶選擇的分享其標(biāo)識信息的搜索用戶。待發(fā)送用戶終端顯示所述鄰近記錄,所述鄰近記錄包括滿足所述位置隱私需求的搜索用戶的身份信息,待發(fā)送用戶選擇分享其標(biāo)識信息的搜索用戶作為待發(fā)送搜索用戶,獲取待發(fā)送搜索用戶的身份信息作為待發(fā)送鄰近記錄。例如,待發(fā)現(xiàn)用戶u的鄰近記錄包含搜索用戶u1、u2和u3,即所述待發(fā)現(xiàn)用戶的真實(shí)位置在所述搜索用戶u1、u2和u3中,并且搜索用戶u1、u2和u3的鄰近區(qū)域計(jì)算得到的模糊位置滿足所述位置隱私需求,待發(fā)現(xiàn)用戶u可以選擇u1和u2作為待發(fā)送搜索用戶,服務(wù)器將待發(fā)現(xiàn)用戶的標(biāo)識信息發(fā)送給u1和u2,而不會(huì)發(fā)送給u3。本發(fā)明實(shí)施例中,待發(fā)現(xiàn)用戶可以主動(dòng)選擇分享其信息的搜索用戶。
應(yīng)理解,上述實(shí)施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實(shí)施例中的各功能單元、模塊可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中,上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實(shí)施例各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。