計算地理信息的數字摘要的方法和設備的製作方法
2023-05-25 03:38:51 1
計算地理信息的數字摘要的方法和設備的製作方法
【專利摘要】本發明的實施方式涉及計算地理信息的數字摘要的方法和設備。具體地,公開了一種計算地理信息的數字摘要的方法,包括:獲取用戶的地理信息;基於所述地理信息,確定維度信息;將所確定的維度信息編碼為代碼;以及計算所述代碼的數字摘要。
【專利說明】計算地理信息的數字摘要的方法和設備
【技術領域】
[0001]本發明的實施方式總體上涉及網絡信息【技術領域】,更具體地,涉及用於計算地理信息的數字摘要的方法和設備。
【背景技術】
[0002]在網絡信息【技術領域】中,地理信息的重要性不言而喻。然而,根據現有法律法規,網際網路公司不能存儲用戶的諸如地理信息之類的行為信息。在現有技術中,網際網路公司一般使用消息摘要算法計算用戶的行為信息的數字摘要。然後存儲這些數字摘要,而不會直接存儲這些行為信息。因此,即使獲得了這些存儲的數字摘要,也不能根據這些數字摘要推得用戶的行為信息,從而達到了保護用戶隱私的目的。
[0003]消息摘要(Message Digest)又稱為數字摘要(Digital Digest)。它是一個唯一對應一個消息或文本的固定長度的值。它由一個單向Hash加密函數對消息進行作用而產生。如果消息在途中改變了,則接收者通過對收到消息的新產生的摘要與原摘要比較,就可知道消息是否被改變了。因此消息摘要保證了消息的完整性。數字摘要採用單向哈希(Hash)函數將需加密的明文「摘要」成一串128比特的密文,這一串密文亦摘要密文又稱為哈希函數、數字指紋、壓縮函數、緊縮函數、數據認證碼DAC、篡改校驗碼MDC等,且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。這樣這串摘要便可成為驗證明文是否是「真身」的「指紋」了。
[0004]單向散列函數H(M)作用於一個任意長度的數據M,它返回一個固定長度的散列h,其中h的長度為m, h稱為M的摘要。單向散列函數的特點有:給定M,很容易計算出h ;而給定h,無法推算出M。除了單向性的特定之外,單向散列函數具有防碰撞性的特定,即給定M,很難找到另一個數據N,滿足H(M) =H(N)。消息中的任何一位或者多位的變化都將導致該散列值的變化。從散列值不可能推導出消息M,也很難通過偽造消息M』來生成相同的散列值。HASH函數的抗衝突性使得如果一段明文稍有變化,哪怕只更改該段落的一個字母,通過哈希算法作用後都將產生不同的值。而HASH算法的單向性使得要找到哈希值相同的兩個不同的輸入消息,在計算上是不可能的。由於HASH函數的上述特點,無法根據所存儲的摘要信息推算出用戶的位置關係。例如,即使兩個用戶都位於北京市朝陽區的某地,他們的地理信息(經緯度信息)的數字摘要也可能很不相同,從而無法利用數字摘要推算出這兩個用戶之間的位置關係。
[0005]因此,需要一種數字摘要算法,利用該算法,雖然無法根據所計算的數字摘要推出用戶的具體位置,但是可以利用根據該算法計算的數字摘要來推算用戶之間的位置關係,例如它們是否同處於某一地區,從而對該位置關係加以利用。
【發明內容】
[0006]為了計算上述地理信息的數字摘要,本發明的實施方式提供了用於計算地理信息的數字摘要的方法和設備。利用本發明的上述方法和設備,即能夠根據數字摘要一定程度上獲得用戶的位置關係,而不能夠確定用戶的具體位置,從而達到既在一定程度上利用了數字摘要,而又保護用戶隱私的目的。
[0007]在本發明的一個方面中,提供了一種用於計算地理信息的數字摘要的方法。該方法包括:獲取用戶的地理信息;基於所述地理信息,確定維度信息;將所確定的維度信息編碼為代碼;以及計算所述代碼的數字摘要。
[0008]在本發明的可選實施方式中,其中獲取用戶的地理信息包括利用客戶端獲取所述用戶的地理信息。 [0009]在本發明的可選實施方式中,其中:所述地理信息包括經度信息和維度信息。
[0010]在本發明的可選實施方式中,其中:所述維度信息包括國家、省、市、縣、區等信息。
[0011]在本發明的可選實施方式中,其中計算所述代碼的數字摘要包括利用哈希函數計算所述代碼的數字摘要。
[0012]在本發明的可選實施方式中,其中所述哈希函數為MD5算法或者SHA安全散列算法。
[0013]在本發明的可選實施方式中,該方法還包括將所計算的數字摘要存儲在存儲設備中。
[0014]在本發明的另一方面,提供一種計算地理信息的數字摘要的設備。該設備包括:獲取設備,用於獲取用戶的地理信息;確定裝置,用於基於所述地理信息,確定維度信息?』編碼裝置,用於將所確定的維度信息編碼為代碼;以及計算裝置,用於計算所述代碼的數字摘要。
【專利附圖】
【附圖說明】
[0015]通過參考附圖閱讀下文的詳細描述,本發明實施方式的上述以及其他目的、特徵和優點將變得易於理解。在附圖中,以示例性而非限制性的方式示出了本發明的若干實施方式,其中:
[0016]圖1是根據本發明的實施方式用於計算地理信息的數字摘要的方法的流程圖;
[0017]圖2是根據本發明的實施方式用於計算地理信息的數字摘要的設備的方框圖;以及
[0018]圖3示出了適合用來實踐本發明實施方式的計算機系統300的框圖。
[0019]在附圖中,相同或對應的標號表不相同或對應的部分。
【具體實施方式】
[0020]下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而並非以任何方式限制本發明的範圍。
[0021]下面結合附圖以示例的方式詳細描述本發明的各種實施方式。首先參考圖1,其示出了根據本發明實施方式的計算地理信息的數字摘要的方法100的流程圖。應當理解,方法100中記載的各個步驟可以按照不同的順序執行,和/或並行執行。方法100還可以包括附加的步驟和/或省略執行示出的步驟。本發明的範圍在此方面不受限制。
[0022]方法100開始之後,在步驟S 102處,獲取用戶的地理信息。注意到,可以使用客戶端獲取用戶的地理信息。該地理信息例如包括經度和維度。例如,如果用戶在北京市朝陽區某餐館,則用戶的經度維度坐標可能為(116.43,39.92)。
[0023]該方法100接著行進到步驟S104。在步驟S104處,通過在步驟S102處獲得的地理信息(即,包括經度和維度的信息),確定該地理信息對應的維度信息。例如,如果獲得了用戶的地理信息即經度維度坐標為(116.43,39.92),則可以確定用戶在北京市朝陽區。
[0024]接著,在步驟S106處,將所確定的維度信息編碼為代碼。例如北京市朝陽區可以被編碼為100022( S卩,北京市朝陽區的郵政編碼)對應的二進位代碼,即1000011010110110。雖然在此將維度信息編碼為其對應的郵政編碼,本領域技術人員可以理解,可以將維度信息編碼為任何其他代碼。
[0025]接下來,在步驟S108處,計算在步驟S106中得到的代碼的數值摘要。例如,可以利用單向散列函數H(M)來計算上述代碼的數字摘要。其中,M為代碼。該計算返回一個固定長度的散列h,其中h的長度為m,h稱為代碼M的摘要。常見的數字摘要算法有MD(消息摘要標準)算法以及SHA(安全散列算法)等。對於MD5算法而言,輸入為任意長度的消息,而輸出為128比特的消息摘要。對於SHA安全散列算法而言,輸入消息長度小於264,而輸出為160比特的消息摘要。注意到,SHA安全散列算法的基礎是MD4。
[0026]利用上述方法,如果用戶A與用戶B同處於北京市朝陽區,則通過在步驟S102中獲得用戶的地理信息,在步驟S104處將該地理信息轉化為對應的維度信息即北京市朝陽區,在步驟S106將該地理信息轉換為維度信息對應的編碼,以及在步驟S108中將數字摘要算法用於在步驟S106中的代碼,則計算所得的用戶A和用戶B的地理信息的數字摘要相同。從而使得可以通過數字摘要相同而確定用戶A和用戶B同處於一個區中,但是不能確定用戶A和用戶B具體在哪個區中,從而即獲得了用戶A和B之間位置關係,以用於其他進一步應用,也保護了用戶的隱私。
[0027]備選地或附加地,該方法還可以將在步驟S108處所計算的數字摘要存儲在存儲設備中,以供後續使用。
[0028]注意到,雖然以上描述中以市和區作為維度信息,本領域技術人員可以根據具體應用和需要選擇不同的維度信息。例如,還可以選擇更高層級的維度信息,例如國家,或者更低層級的維度信息,例如街道等。
[0029]現在參考圖2,其示出了根據本發明示例性實施方式的用於計算地理信息的數字摘要的設備200的框圖。如圖所示,根據本發明的實施方式,設備200包括獲取裝置202,用於獲取用戶的地理信息;確定裝置204,用於基於所述地理信息,確定維度信息;編碼裝置206,用於將所確定的維度信息編碼為代碼;以及計算裝置210,用於計算所述代碼的數字摘要。
[0030]在本發明的可選實施方式中,其中獲取裝置202包括利用客戶端獲取所述用戶的地理信息的裝置。
[0031]在本發明的可選實施方式中,其中所述地理信息包括經度信息和維度信息。
[0032]在本發明的可選實施方式中,其中:所述維度信息包括國家、省、市、縣、區等信息。
[0033]在本發明的可選實施方式中,其中所述計算裝置208包括利用哈希函數計算所述代碼的數字摘要的裝置。
[0034]在本發明的可選實施方式中,其中所述哈希函數為MD5算法或者SHA安全散列算法。
[0035]在本發明的可選實施方式中,設備200還包括存儲裝置210,用於將所計算的數字摘要存儲在存儲設備中。
[0036]為清晰起見,在圖2中並未示出各個裝置所包含的子裝置。然而,應當理解,設備200中記載的裝置202-208及其子裝置分別與參考圖1描述的方法100中的步驟S102-S108相對應。由此,上文針對圖1中的方法100描述的操作和特徵同樣適用於設備200及其中包含的裝置和子裝置,在此不再贅述。
[0037]還應當理解,設備200可以利用各種方式來實現。例如,在某些實施方式中,設備200可以利用軟體和/或固件模塊來實現。此外,設備200也可以利用硬體模塊來實現。例如,設備200可以實現為集成電路(IC)晶片或專用集成電路(ASIC)。設備200也可以實現為片上系統(SOC)。現在已知或者將來開發的其他方式也是可行的,本發明的範圍在此方面不受限制。
[0038]圖3示出了適於用來實踐本發明實施方式的計算機系統的示意性框圖。如圖3所示,計算機系統可以包括:CPU(中央處理單元)301、RAM(隨機存取存儲器)302、ROM(只讀存儲器)303、系統總線304、硬碟控制器305、鍵盤控制器306、串行接口控制器307、並行接口控制器308、顯示控制器309、硬碟310、鍵盤311、串行外部設備312、並行外部設備313和顯示器314。在這些設備中,與系統總線304耦合的有CPU 301、RAM 302、ROM 303、硬碟控制器305、鍵盤控制器306、串行控制器307、並行控制器308和顯示控制器309。硬碟310與硬碟控制器305耦合,鍵盤311與鍵盤控制器306耦合,串行外部設備312與串行接口控制器307耦合,並行外部設備313與並行接口控制器308耦合,以及顯示器314與顯示控制器309耦合。
[0039]應當理解,圖3所述的結構框圖僅僅為了示例的目的而示出的,而不是對本發明範圍的限制。在某些情況下,可以根據具體情況而增加或者減少某些設備。
[0040]特別地,除硬體實施方式之外,本發明的實施方式可以通過電腦程式產品的形式實現。例如,參考圖1描述的方法100可以通過電腦程式產品來實現。該電腦程式產品可以存儲在例如圖3所示的RAM 302、ROM 303、硬碟310和/或任何適當的存儲介質中,或者通過網絡從適當的位置下載到計算機系統300上。電腦程式產品可以包括計算機代碼部分,其包括可由適當的處理設備(例如,圖3中示出的CPU 301)執行的程序指令。所述程序指令至少可以包括:用於獲取用戶的地理信息的指令;用於基於所述地理信息,確定維度信息的指令;用於將所確定的維度信息編碼為代碼的指令;以及用於計算所述代碼的數字摘要的指令。
[0041]應當注意,本發明的實施方式可以通過硬體、軟體或者軟體和硬體的結合來實現。硬體部分可以利用專用邏輯來實現;軟體部分可以存儲在存儲器中,由適當的指令執行系統,例如微處理器或者專用設計硬體來執行。本領域的普通技術人員可以理解上述的設備和方法可以使用計算機可執行指令和/或包含在處理器控制代碼中來實現,例如在諸如磁碟、CD或DVD-ROM的載體介質、諸如只讀存儲器(固件)的可編程的存儲器或者諸如光學或電子信號載體的數據載體上提供了這樣的代碼。本發明的設備及其模塊可以由諸如超大規模集成電路或門陣列、諸如邏輯晶片、電晶體等的半導體、或者諸如現場可編程門陣列、可編程邏輯設備等的可編程硬體設備的硬體電路實現,也可以用由各種類型的處理器執行的軟體實現,也可以由上述硬體電路和軟體的結合例如固件來實現。
[0042]說明書中提及的通信網絡可以包括各類網絡,包括但不限於區域網(「LAN」),廣域網(「WAN」),根據IP協議的網絡(例如,網際網路)以及端對端網絡(例如,ad hoc對等網絡)。
[0043]應當注意,儘管在上文詳細描述中提及了設備的若干裝置或子裝置,但是這種劃分僅僅並非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多裝置的特徵和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特徵和功能可以進一步劃分為由多個裝置來具體化。
[0044]此外,儘管在附圖中以特定順序描述了本發明方法的操作,但是,這並非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。相反,流程圖中描繪的步驟可以改變執行順序。附加地或備選地,可以省略某些步驟,將多個步驟合併為一個步驟執行,和/或將一個步驟分解為多個步驟執行。
[0045]雖然已經參考若干【具體實施方式】描述了本發明,但是應該理解,本發明並不限於所公開的【具體實施方式】。本發明旨在涵蓋所附權利要求的精神和範圍內所包括的各種修改和等同布置。所附權利要求的範圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結構和功能。
【權利要求】
1.一種計算地理信息的數字摘要的方法,包括: 獲取用戶的地理信息; 基於所述地理信息,確定維度信息; 將所確定的維度信息編碼為代碼;以及 計算所述代碼的數字摘要。
2.根據權利要求1所述的方法,其中: 獲取用戶的地理信息包括利用客戶端獲取所述用戶的地理信息。
3.根據權利要求1所述的方法,其中: 所述地理信息包括經度信息和維度信息。
4.根據權利要求1所述的方法,其中: 所述維度信息包括國家、省、市、縣、區、街道等信息。
5.根據權利要求1所述的方法,其中計算所述代碼的數字摘要包括利用哈希函數計算所述代碼的數字摘要。
6.根據權利要求5所述的方法,其中所述哈希函數為MD5算法或者SHA安全散列算法。
7.根據權利要求1所述的方法,還包括將所計算的數字摘要存儲在存儲設備中。
8.一種計算地理信息的數字摘要的設備,包括: 獲取設備,用於獲取用戶的地理信息; 確定裝置,用於基於所述地理信息,確定維度信息; 編碼裝置,用於將所確定的維度信息編碼為代碼;以及 計算裝置,用於計算所述代碼的數字摘要。
9.根據權利要求8所述的設備,其中: 所述獲取裝置包括利用客戶端獲取所述用戶的地理信息的裝置。
10.根據權利要求8所述的設備,其中: 所述地理信息包括經度信息和維度信息。
11.根據權利要求8所述的設備,其中: 所述維度信息包括國家、省、市、縣、區等信息。
12.根據權利要求8所述的設備,其中所述計算裝置包括利用哈希函數計算所述代碼的數字摘要的裝置。
13.根據權利要求12所述的設備,其中所述哈希函數為MD5算法或者SHA安全散列算法。
14.根據權利要求8所述的設備,還包括存儲裝置,用於將所計算的數字摘要存儲在存儲設備中。
【文檔編號】G06F17/30GK103678334SQ201210326022
【公開日】2014年3月26日 申請日期:2012年9月3日 優先權日:2012年9月3日
【發明者】於昕 申請人:人人遊戲網絡科技發展(上海)有限公司