基于位置的信息發(fā)布方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種基于位置的信息發(fā)布方法和裝置;其中的信息發(fā)布方法包括:接收來自信息發(fā)布用戶的用戶發(fā)布信息;將用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且預定存儲區(qū)存儲的存儲記錄包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容;根據(jù)預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且該維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新緩存有效期失效的緩存區(qū)中的緩存記錄;從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成推送消息;將推送消息發(fā)送給信息接收用戶。
【專利說明】基于位置的信息發(fā)布方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù),具體涉及一種基于位置的信息發(fā)布方法和裝置。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)通訊系統(tǒng)中,信息發(fā)布技術(shù)的應(yīng)用是非常廣泛的,例如,現(xiàn)有的各種聊天室系統(tǒng)以及微博系統(tǒng)等,都采用了信息發(fā)布技術(shù)。
[0003]聊天室系統(tǒng)是一種實時信息發(fā)布系統(tǒng),能夠很好的滿足信息發(fā)布的實時性要求。為了滿足聊天的可靠性要求,現(xiàn)有的聊天室系統(tǒng)通常會采用客戶端與服務(wù)器端長連接的模式,如客戶端和服務(wù)器端之間基于TCP (傳輸控制協(xié)議)建立連接,且持續(xù)保持該連接,以使用戶發(fā)布的信息可以及時地顯示給聊天室中的其他用戶。
[0004]微博系統(tǒng)是一種準實時信息發(fā)布系統(tǒng)。具體的,客戶端通過“刷新”操作向服務(wù)器端請求獲取分頁的訂閱信息,服務(wù)器端根據(jù)客戶端的請求向客戶端返回按照時間排列的指定數(shù)量的信息條目。
[0005]發(fā)明人在實現(xiàn)本發(fā)明過程中發(fā)現(xiàn),現(xiàn)有的信息發(fā)布技術(shù)針對網(wǎng)絡(luò)通訊中的某些應(yīng)用來說并不能很好的適用,例如,上述信息發(fā)布技術(shù)在時效性很強的瞬時評論應(yīng)用中就不能夠很好的適用,下面以針對天氣的瞬時評論(如對天氣預報的瞬時評論以及對實際天氣情況的瞬時評論等)為例進行詳細說明。
[0006]天氣預報由于其本身的不準確性,會使用戶產(chǎn)生對天氣預報進行評論(也可以稱為吐槽或者抱怨)的需求;另外,在發(fā)生極端天氣現(xiàn)象或者突發(fā)天氣現(xiàn)象時,用戶也會有發(fā)表評論的需求。為了滿足用戶的這種需求,需要一種基于位置的瞬時評論系統(tǒng)(LBICS,Location Based Instant Comments System)來管理用戶的評論信息。
[0007]現(xiàn)有的聊天室系統(tǒng)并不能很好的適用于針對天氣的瞬時評論這一實際應(yīng)用中,其原因為:用戶對天氣的評論屬于突發(fā)行為,在天氣評論密度較高的情況下,用戶通常并不需要獲得所有用戶的天氣評論信息,且用戶通常也不可能有充足的時間去查看所有的天氣評論信息,而只需要從最具有時效性的天氣評論中篩選出一定數(shù)量的天氣評論提供給用戶即可。因此,聊天室的長連接模式不但會大大增加用戶設(shè)備尤其是移動用戶設(shè)備的負擔,也會使服務(wù)器壓力過大,還會存在為用戶提供大量的沒有過多意義的冗余信息的問題。
[0008]現(xiàn)有的微博系統(tǒng)也不能很好的適用于針對天氣的瞬時評論這一實際應(yīng)用中,其原因為:微博系統(tǒng)中的信息沒有時效性概念,微博系統(tǒng)對每一條信息均同等看待,服務(wù)器端通常會“永久”的保存所有的信息,以保證所有的信息均可以隨時被獲取。因此,微博系統(tǒng)對服務(wù)器端的硬件要求很高,而如果使服務(wù)器端保存大量的具有高時效性的信息無疑是一種資源浪費;另外,服務(wù)器的向用戶發(fā)送一些已經(jīng)失去有效期屬性的信息,對用戶來說通常是沒有意義的,而對服務(wù)器端來說又是一種資源浪費。
【發(fā)明內(nèi)容】
[0009]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于位置的信息發(fā)布方法和相應(yīng)的基于位置的信息發(fā)布裝置。
[0010]依據(jù)本發(fā)明的一個方面,提供了一種基于位置的信息發(fā)布方法,所述方法包括:
[0011]接收來自信息發(fā)布用戶的用戶發(fā)布信息;
[0012]將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶所屬地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容;
[0013]根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄;
[0014]從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息;
[0015]將所述推送消息發(fā)送給所述信息接收用戶。
[0016]可選的,在上述基于位置的信息發(fā)布方法中,所述為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期包括:
[0017]根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期。
[0018]可選的,在上述基于位置的信息發(fā)布方法中,所述根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期包括:
[0019]設(shè)定一地區(qū)對應(yīng)的緩存區(qū)的緩存空間為存儲N條緩存記錄所需的緩存空間,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則將該地區(qū)對應(yīng)的緩存區(qū)的緩存有效期動態(tài)設(shè)置為P,且P= (N/X) T ;
[0020]其中,N為大于零的整數(shù),且P在小于最小緩存有效期時,將P的取值調(diào)整為最小緩存有效期,P在大于最大緩存有效期時,將P的取值調(diào)整為最大緩存有效期。
[0021]可選的,在上述基于位置的信息發(fā)布方法中,所述在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄包括:
[0022]在接收到來自信息接收用戶的發(fā)布信息請求消息時,判斷所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間是否達到緩存有效期,如果緩存時間達到緩存有效期,則從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄。
[0023]可選的,在上述基于位置的信息發(fā)布方法中,所述從與信息接收用戶所屬地區(qū)相關(guān)聯(lián)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息包括:
[0024]在接收到來自信息接收用戶的發(fā)布信息請求消息且在判斷出所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間達到緩存有效期的情況下,從更新前的緩存區(qū)中獲取緩存記錄并生成推送消息;之后,從更新后的緩存區(qū)中獲取緩存記錄并再次生成推送消息。
[0025]可選的,在上述基于位置的信息發(fā)布方法中,所述從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息包括:[0026]根據(jù)所述信息接收用戶所屬地區(qū)從預定存儲區(qū)中獲取預定數(shù)量的最新存儲記錄,且在本次獲取到的最新存儲記錄的數(shù)量沒有達到預定數(shù)量的情況下,根據(jù)所述信息接收用戶所屬地區(qū)的相鄰地區(qū)從預定存儲區(qū)中獲取最新存儲記錄,以使獲取的總的存儲記錄達到所述預定數(shù)量。
[0027]可選的,在上述基于位置的信息發(fā)布方法中,所述推送消息包括:發(fā)布信息的用戶ID、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息(即用戶發(fā)布內(nèi)容所針對的地區(qū)編碼)、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期。
[0028]可選的,在上述基于位置的信息發(fā)布方法中,所述方法還包括:
[0029]信息接收用戶在接收到所述推送消息后,針對所述推送消息中的本次推送的用戶發(fā)布信息的有效期進行計時,并在計時值達到本次推送的用戶發(fā)布信息的有效期且所述信息接收用戶仍持續(xù)處于運行狀態(tài)下,所述信息接收用戶生成推送用戶發(fā)布信息請求消息并發(fā)送。
[0030]可選的,在上述基于位置的信息發(fā)布方法中,所述方法還包括:
[0031]信息接收用戶在確定出信息接收用戶退出后又再次運行,且確定出當前時間與其前次接收到的推送消息中的信息發(fā)布時間的時間差達到本次推送的用戶發(fā)布信息的有效期時,所述信息接收用戶生成推送發(fā)布信息請求消息并發(fā)送。
[0032]可選的,在上述基于位置的信息發(fā)布方法中,所述方法還包括:
[0033]所述預定存儲區(qū)內(nèi)的各存儲記錄在其存儲時間達到預定存儲時限時,被刪除。
[0034]可選的,在上述基于位置的信息發(fā)布方法中,所述方法還包括:
[0035]提供用戶發(fā)布信息的糾錯窗口,且所述信息接收用戶/信息發(fā)布用戶在通過所述用戶發(fā)布信息糾錯窗口接收到用戶輸入的糾錯信息后,產(chǎn)生用戶發(fā)布信息,并發(fā)送。
[0036]根據(jù)本發(fā)明的另一方面,提供了一種基于位置的信息發(fā)布裝置,其中,所述裝置包括:
[0037]接收模塊,用于接收來自信息發(fā)布用戶的用戶發(fā)布信息;
[0038]存儲模塊,用于將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶所屬地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容;
[0039]維護模塊,用于根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄;
[0040]消息生成模塊,用于從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息;
[0041]發(fā)送模塊,用于將所述推送消息發(fā)送給所述信息接收用戶。
[0042]可選的,在上述基于位置的信息發(fā)布裝置中,所述為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期包括:
[0043]所述維護模塊根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期。
[0044]可選的,在上述基于位置的信息發(fā)布裝置中,所述維護模塊根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期包括:
[0045]所述維護模塊設(shè)定一地區(qū)對應(yīng)的緩存區(qū)的緩存空間為存儲N條緩存記錄所需的緩存空間,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則所述維護模塊將該地區(qū)對應(yīng)的緩存區(qū)的緩存有效期動態(tài)設(shè)置為P,且Ρ=(Ν/Χ)τ ;
[0046]其中,N為大于零的整數(shù),且P在小于最小緩存有效期時,將P的取值調(diào)整為最小緩存有效期,P在大于最大緩存有效期時,將P的取值調(diào)整為最大緩存有效期。
[0047]可選的,在上述基于位置的信息發(fā)布裝置中,所述在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄包括:
[0048]在所述接收模塊接收到來自信息接收用戶的發(fā)布信息請求消息時,維護模塊判斷所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間是否達到緩存有效期,如果緩存時間達到緩存有效期,則維護模塊從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄。
[0049]可選的,在上述基于位置的信息發(fā)布裝置中,所述發(fā)布模塊具體用于:
[0050]在所述接收模塊接收到來自信息接收用戶的發(fā)布信息請求消息且在維護模塊判斷出所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間達到緩存有效期的情況下,消息生成模塊從更新前的緩存區(qū)中獲取緩存記錄并生成推送消息;之后,消息生成模塊從更新后的緩存區(qū)中獲取緩存記錄并再次生成推送消息。
[0051]可選的,在上述基于位置的信息發(fā)布裝置中,所述從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息包括:
[0052]所述維護模塊根據(jù)所述信息接收用戶所屬地區(qū)從預定存儲區(qū)中獲取預定數(shù)量的最新存儲記錄,且在本次獲取到的最新存儲記錄的數(shù)量沒有達到預定數(shù)量的情況下,根據(jù)所述信息接收用戶所屬地區(qū)的相鄰地區(qū)從預定存儲區(qū)中獲取最新存儲記錄,以使獲取的總的存儲記錄達到所述預定值。
[0053]可選的,在上述基于位置的信息發(fā)布裝置中,所述推送消息包括:發(fā)布信息的用戶ID、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息(即用戶發(fā)布內(nèi)容所針對的地區(qū)編碼)、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期。
[0054]本發(fā)明的基于位置的信息發(fā)布方法和裝置通過針對不同地區(qū)分別維護緩存區(qū),并為各緩存區(qū)動態(tài)設(shè)置緩存有效期,使用戶發(fā)布信息可以得到區(qū)別對待,各緩沖區(qū)中存儲的緩存記錄通常為針對各地區(qū)篩選出的非常具有推送價值的用戶發(fā)布信息,這樣,在網(wǎng)絡(luò)側(cè)(如服務(wù)器端)需要向用戶發(fā)送(如根據(jù)用戶的請求而向用戶發(fā)送)包含有用戶發(fā)布信息的推送消息時,網(wǎng)絡(luò)側(cè)可以便捷地從相應(yīng)的緩存區(qū)中直接獲取到篩選出的值得推送的緩存記錄,以便捷地產(chǎn)生向用戶發(fā)送的推送消息;從而本發(fā)明可以避免向用戶推送冗余信息的現(xiàn)象,還可以避免長連接模式給用戶設(shè)備尤其是移動用戶設(shè)備帶來的負擔,同時也可以避免網(wǎng)絡(luò)側(cè)(如服務(wù)器端)壓力過大以及資源浪費的現(xiàn)象。
[0055]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】?!緦@綀D】
【附圖說明】
[0056]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0057]圖1示出了根據(jù)本發(fā)明一個實施例的基于位置的信息發(fā)布方法流程圖;
[0058]圖2示出了根據(jù)本發(fā)明一個實施例的基于位置的天氣評論信息發(fā)布方法中收集天氣評論信息部分的流程圖;
[0059]圖3示出了根據(jù)本發(fā)明一個實施例的基于位置的天氣評論信息發(fā)布方法中獲取天氣評論信息部分的流程圖;
[0060]圖4示出了根據(jù)本發(fā)明一個實施例的用戶設(shè)備顯示天氣評論信息的顯示畫面示意圖;
[0061]圖5示出了根據(jù)本發(fā)明一個實施例的基于位置的信息發(fā)布裝置示意圖。
【具體實施方式】
[0062]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0063]實施例一、基于位置的信息發(fā)布方法。下面結(jié)合圖1對該方法進行說明。
[0064]圖1中,S1、接收來自信息發(fā)布用戶的用戶發(fā)布信息。
[0065]具體的,上述信息發(fā)布用戶實際上對應(yīng)用戶設(shè)備中安裝的一應(yīng)用程序客戶端。上述用戶發(fā)布信息應(yīng)具有位置特性,也就是說,一用戶發(fā)布信息通常只會被信息發(fā)布用戶所屬地區(qū)(或稱區(qū)域)的用戶關(guān)注,而其他地區(qū)的用戶通常并不會關(guān)注該用戶發(fā)布信息。上述用戶發(fā)布信息通常還具有較強的時效性,也就是說,在過了一定的時間(通常較短暫,有時候不超過I天甚至不超過幾個小時)之后,該用戶發(fā)布信息基本上不會再被用戶所關(guān)注。
[0066]上述用戶發(fā)布信息可以具體包括:信息發(fā)布用戶標識、用戶發(fā)布的信息所針對的地區(qū)信息(即用戶發(fā)布內(nèi)容所針對的地區(qū)編碼/標識)以及用戶發(fā)布內(nèi)容等??蛇x的,用戶發(fā)布信息還可以包括:信息發(fā)布用戶所在地理位置的經(jīng)緯度信息和/或用戶發(fā)布信息的時間戮等。
[0067]上述用戶發(fā)布的信息所針對的地區(qū)信息可以具體為省標識信息,也可以為城市標識信息(citycode),還可以為城市標識信息和城市內(nèi)的區(qū)標識信息等;而且用戶發(fā)布的信息所針對的地區(qū)可以為信息發(fā)布用戶當前所在的地區(qū),也可以不是信息發(fā)布用戶當前所在的地區(qū),而是信息發(fā)布用戶所選擇的除其當前所在地區(qū)之外的其他地區(qū)(如信息發(fā)布用戶的家庭所在的地區(qū)等)。地區(qū)的具體劃分可以根據(jù)實際應(yīng)用靈活確定。
[0068]上述用戶發(fā)布內(nèi)容可以具體為針對天氣預報的評論信息、針對天氣實際情況的評論信息或者針對本地區(qū)市場的商品的評論信息等等。本發(fā)明實施例不限制用戶發(fā)布內(nèi)容所涉及的具體評論領(lǐng)域。
[0069]S2、將上述接收到的用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi)。
[0070]具體的,上述預定存儲區(qū)可以設(shè)置于服務(wù)器的本地硬盤或者磁盤陣列等存儲裝置中。該預定存儲區(qū)中所存儲的存儲記錄主要包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容等。上述存儲記錄中還可以包括:信息發(fā)布用戶所在地理位置的經(jīng)緯度信息等。本發(fā)明實施例可以將上述存儲記錄以表或者數(shù)據(jù)庫等形式存儲在預定存儲區(qū)中。
[0071]上述信息發(fā)布時間可以是信息發(fā)布用戶發(fā)送用戶發(fā)布信息的時間(即上述時間戳),也可以是網(wǎng)絡(luò)側(cè)接收到用戶發(fā)布信息的時間。另外,在接收到用戶發(fā)布信息時,可以對該用戶發(fā)布信息進行敏感詞過濾處理,以決定該用戶發(fā)布信息是否可以存儲在預定存儲區(qū)內(nèi),如果該用戶發(fā)布信息包含敏感詞,則可以直接丟棄該用戶發(fā)布信息。
[0072]在將用戶發(fā)布信息存儲在預定存儲區(qū)的過程中,可以按照用戶發(fā)布的信息所針對的地區(qū)信息將用戶發(fā)布信息插入到相應(yīng)的存儲位置,以使針對同一地區(qū)的用戶發(fā)布信息實現(xiàn)連續(xù)存儲;而且在用戶發(fā)布信息的存儲過程中,還可以參照信息發(fā)布時間來決定用戶發(fā)布信息的存儲位置,以便于使預定存儲區(qū)中存儲的存儲記錄可以按照信息發(fā)布時間進行順序排序。需要特別說明的是,在用戶發(fā)布信息的存儲過程中,本發(fā)明實施例可以參照用戶發(fā)布的信息所針對的地區(qū)信息和/或信息發(fā)布時間進行存儲。
[0073]由于本發(fā)明實施例中的用戶發(fā)布信息具有較強的時效性,因此,可以為預定存儲區(qū)內(nèi)的各存儲記錄設(shè)置存儲時限,從而在一條存儲記錄在預定存儲區(qū)內(nèi)的存儲時間達到其對應(yīng)的預定存儲時限的情況下,該條存儲記錄會從預定存儲區(qū)中刪除。另外,不同存儲記錄對應(yīng)的預定存儲時限可以相同,也可以不相同;一個具體的例子,針對用戶發(fā)布信息相對較多的熱點地區(qū)(如北京、深圳、廣東以及上海等大城市),可以將這些熱點地區(qū)的用戶發(fā)布信息對應(yīng)的預定存儲時限設(shè)置的稍短一些,而針對用戶發(fā)布信息相對較少的非熱點地區(qū),可以將這些非熱點地區(qū)的用戶發(fā)布信息對應(yīng)的預定存儲時限設(shè)置的稍長一些。
[0074]S3、根據(jù)預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū)。
[0075]具體的,上述維護操作主要包括:為不同地區(qū)分別設(shè)定一用于存儲用戶發(fā)布信息的緩存區(qū),并為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在存在緩存有效期失效的緩存區(qū)且需要更新其中的緩存記錄的情況下,從預定存儲區(qū)中獲取該有效期失效的緩存區(qū)對應(yīng)的地區(qū)的當前最新的預定數(shù)量的用戶發(fā)布信息,從而可以利用獲取到的當前最新的預定數(shù)量的用戶發(fā)布信息來更新該緩存有效期失效的緩存區(qū)中的所有緩存記錄。
[0076]上述動態(tài)設(shè)置緩存有效期是指針對一個緩存區(qū)而言,該緩存區(qū)的緩存有效期并不是一個常量,而是會隨著實際情況的變化而發(fā)生變化,即本次為該緩存區(qū)設(shè)置的緩存有效期和上一次為該緩存區(qū)設(shè)置的緩存有效期很可能不相同。另外,不同地區(qū)對應(yīng)的緩存區(qū)的緩存空間可以相同,也可以不相同。
[0077]為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期的一種方式為:在每次更新緩存區(qū)中的緩存記錄時,可根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)設(shè)置當前的緩存有效期。當然,本發(fā)明實施例也可以根據(jù)不同地區(qū)的用戶發(fā)布信息的流量等參數(shù)來動態(tài)設(shè)置緩存有效期。
[0078]針對某一個具體的緩存區(qū)而言,設(shè)置該緩存區(qū)的緩存有效期的一個具體例子為:如果該緩存區(qū)可以存儲N (N為大于零的整數(shù))條緩存記錄,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則該緩存區(qū)的緩存有效期P可以根據(jù)下述公式(I)來設(shè)置:[0079]P=(N/X)T ;公式(I)
[0080]需要說明的是,為了避免過于頻繁的更新緩存區(qū)中的緩存記錄以及緩存區(qū)中的緩存記錄長時間得不到更新等現(xiàn)象,本發(fā)明實施例可以為緩存有效期P設(shè)置最小緩存有效期以及最大緩存有效期,也就是說,在當前計算出的P的數(shù)值小于最小緩存有效期時,可以將P的取值調(diào)整為最小緩存有效期,而在當前計算出的P的數(shù)值大于最大緩存有效期時,可以將P的取值調(diào)整為最大緩存有效期。
[0081]另外,在本發(fā)明實施例中,可以在判斷出緩存有效期失效時,即確定出需要更新該緩存區(qū)中的緩存記錄;也可以在接收到信息接收用戶發(fā)送來的發(fā)布信息請求消息,并判斷出該信息請求消息對應(yīng)的緩存區(qū)的緩存有效期已失效時,即確定出需要更新該緩存區(qū)中的緩存記錄;也就是說,在接收到來自信息接收用戶的發(fā)布信息請求消息時,判斷該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中存儲的緩存時間是否達到緩存有效期,如果緩存時間已達到緩存有效期,則從預定存儲區(qū)中獲取該地區(qū)的當前最新發(fā)布的預定數(shù)量的存儲記錄,并利用這些存儲記錄更新該地區(qū)對應(yīng)的緩存區(qū)中的所有緩存記錄;而在沒有接收到信息接收用戶發(fā)送來的發(fā)布信息請求消息的情況下,即便是緩存區(qū)中的緩存記錄在緩存區(qū)中存儲的緩存時間已經(jīng)達到了緩存有效期,也可以認為不需要更新該緩存區(qū)中的緩存記錄,而不對該緩存區(qū)中的緩存記錄進行更新。
[0082]還有,在更新信息接收用戶所述地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄的過程中,如果從預定存儲區(qū)中獲取到的用戶發(fā)布的信息所針對的地區(qū)(如北京市的朝陽區(qū))的當前最新存儲記錄的數(shù)量沒有達到預定數(shù)量(如沒有達到100條存儲記錄),則可以根據(jù)用戶發(fā)布的信息所針對的地區(qū)的相鄰地區(qū)(如北京市的海淀區(qū)和/或昌平區(qū)等)從預定存儲區(qū)中獲取當前最新的存儲記錄,以使獲取到的總的存儲記錄達到預定數(shù)量(如達到100條存儲記錄)。上述相鄰地區(qū)和用戶發(fā)布的信息所針對的地區(qū)最好屬于同一父地區(qū)。
[0083]S4、從信息接收用戶所屬地區(qū)相關(guān)聯(lián)的緩存區(qū)中獲取緩存記錄,并生成包含有該緩存記錄的推送消息。
[0084]具體的,在接收到來自信息接收用戶的發(fā)布信息請求消息且在判斷出該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間沒有達到緩存有效期的情況下,可以從對應(yīng)的緩存區(qū)中獲取緩存記錄,并利用該獲取到的緩存記錄生成推送消息即可;而在接收到來自信息接收用戶的發(fā)布信息請求消息且在判斷出該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間已經(jīng)達到緩存有效期的情況下,可以先從對應(yīng)的緩沖區(qū)(即更新前的緩存區(qū))中獲取緩存記錄,并生成推送消息;之后,在該緩存區(qū)中的緩存記錄更新后,再從更新后的緩存區(qū)中獲取緩存記錄,并再次生成推送消息;先后生成的這兩條推送消息會先后發(fā)送給信息接收用戶。
[0085]上述推送消息主要包括:信息發(fā)布用戶標識(即用戶ID)、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布用戶所在地理位置的經(jīng)緯度信息、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期等;而且,本次推送的用戶發(fā)布信息的有效期最好不小于當前的緩存有效期。
[0086]上述信息接收用戶所屬地區(qū)通常為信息接收用戶當前所在的地區(qū),當然,信息接收用戶所屬地區(qū)也可以為信息接收用戶所選擇的地區(qū),且信息接收用戶所選擇的地區(qū)可以不同于信息接收用戶當前所在的地區(qū)。[0087]S5、將上述生成的推送消息發(fā)送給信息接收用戶,以使信息接收用戶可以顯示推送消息中所包含的具體內(nèi)容,且信息接收用戶可以使用多種方式進行畫面顯示,如可以采用彈幕方式或者跑馬燈方式或者文字列表方式等進行用戶發(fā)布信息的畫面顯示。
[0088]另外,信息接收用戶在接收到推送消息后,會針對推送消息中承載的本次推送的用戶發(fā)布信息的有效期進行計時,在計時值達到本次推送的用戶發(fā)布信息的有效期,且信息接收用戶仍持續(xù)處于運行狀態(tài)(即客戶端始終在運行)的情況下,信息接收用戶會主動生成推送用戶發(fā)布信息請求消息,并向網(wǎng)絡(luò)側(cè)發(fā)送該請求消息,以使信息接收用戶可以獲得新的用戶發(fā)布信息;然而,在上述計時過程中,如果信息接收用戶退出客戶端后又再次運行該客戶端,則應(yīng)計算出再次運行該客戶端的當前時間與信息接收用戶前次接收到的推送消息中的信息發(fā)布時間(任一信息發(fā)布時間或者最新的一個信息發(fā)布時間)之間的時間差,并判定該時間差是否達到本次推送的用戶發(fā)布信息的有效期,如果達到該有效期,則信息接收用戶不但會顯示其前次接收到的推送消息中承載的用戶發(fā)布信息的畫面,還會立即主動生成一條推送發(fā)布信息請求消息,并向網(wǎng)絡(luò)側(cè)發(fā)送該請求消息;如果沒有達到該有效期,則信息接收用戶可以僅顯示其前次接收到的推送消息中承載的用戶發(fā)布信息的畫面,而不會執(zhí)行前述的立即主動生成一條推送發(fā)布信息請求消息的操作。
[0089]還有,本發(fā)明實施例可以為用戶提供用戶發(fā)布信息的糾錯窗口,信息接收用戶和信息發(fā)布用戶均可以利用該糾錯窗口產(chǎn)生相應(yīng)的用戶發(fā)布信息,例如,無論是信息接收用戶還是信息發(fā)布用戶,在通過其用戶發(fā)布信息糾錯窗口獲取到用戶輸入的糾錯信息后,將該糾錯信息作為信息發(fā)布信息中的用戶發(fā)布內(nèi)容,并基于此生成完整的用戶發(fā)布信息,之后,向網(wǎng)絡(luò)側(cè)發(fā)送該用戶發(fā)布信息。
[0090]針對上述實施例一需要特別說明的是,在上述實施例一的描述中,雖然步驟SI至S4是按照SI到S4的先后順序依次進行說明的,但是,在實際應(yīng)用中,步驟S1、S2、S3和S4之間是相互并行的操作。
[0091]實施例二、基于位置的天氣評論信息發(fā)布方法。本實施例是實施例一的一個具體的應(yīng)用,下面結(jié)合圖2、圖3和圖4對該方法進行說明。
[0092]天氣評論信息具有非常明顯的位置特性。由于不同地區(qū)(如城市)的用戶通常只希望獲取或者發(fā)布其所在地區(qū)或者所選擇的地區(qū)(如城市)的天氣評論(如對天氣預報的評論以及對實際天氣情況的評論等),而不希望獲取或者發(fā)布除此之外的其他地區(qū)(如城市)的天氣評論,因此,本實施例應(yīng)針對天氣評論信息進行地理位置的區(qū)分,如可以為每個城市設(shè)立一個單獨的“頻道”或者“版塊”等。
[0093]天氣評論信息還具有非常明顯的實時性(即時效性)。由于天氣情況瞬息萬變,而用戶通常只關(guān)注最近一段時間的天氣評論信息,因此,用戶發(fā)布的天氣評論信息具有較強的時效性,從而本發(fā)明實施例應(yīng)記錄每條天氣評論信息的發(fā)布時間,并應(yīng)將最具時效性的若干條天氣評論信息發(fā)送給用戶。
[0094]由于不同地區(qū)(如城市)的活躍用戶的數(shù)量千差萬別,因此,不同地區(qū)的天氣評論信息的發(fā)布密度存在區(qū)別,且即使是在同一個城市內(nèi),由于天氣現(xiàn)象的突發(fā)性,天氣評論信息的發(fā)布密度也會隨時發(fā)生變化;因此,在向用戶發(fā)送天氣評論信息過程中,如果所有地區(qū)在所有時段均使用相同的信息篩選策略,那么會出現(xiàn)大幅增加網(wǎng)絡(luò)側(cè)(如服務(wù)器)負載或者浪費網(wǎng)絡(luò)資源的現(xiàn)象。本發(fā)明實施例提供的技術(shù)方案可以盡量避免上述不良現(xiàn)象的發(fā)生。[0095]在本發(fā)明的實施例中,移動設(shè)備(如智能型移動電話或者IPAD或者筆記本電腦)中安裝有客戶端,用戶可以利用客戶端提供的界面輸入天氣評論信息,在用戶點擊發(fā)送按鈕后,客戶端向服務(wù)器發(fā)送包含該天氣評論信息的消息,用戶的本次輸入操作結(jié)束(如圖2的左側(cè)流程所示)。
[0096]客戶端向服務(wù)器發(fā)送的天氣評論信息可以包括如下內(nèi)容:
[0097]Uid,用戶 ID;
[0098]Citycode,天氣評論所針對的城市編碼;
[0099]Lon, lat,移動設(shè)備在發(fā)送天氣評論信息時所在的地理位置的經(jīng)緯度;
[0100]Comment,天氣評論內(nèi)容;
[0101]服務(wù)器在接收到移動設(shè)備發(fā)送來的該消息后,先對消息中的天氣評論內(nèi)容進行敏感詞過濾處理,在天氣評論內(nèi)容不包含敏感詞的情況下,服務(wù)器執(zhí)行天氣評論信息的入庫操作,如按照天氣評論信息中的citycode將該條天氣評論信息插入到數(shù)據(jù)庫中;在天氣評論內(nèi)容不包含敏感詞的情況下,服務(wù)器可以直接將該天氣評論信息丟棄;本次接收存儲過程結(jié)束(如圖2的右側(cè)流程所示)。
[0102]在客戶端需要獲取本城市的天氣評論內(nèi)容時,向服務(wù)器發(fā)起請求??紤]到并發(fā)效應(yīng),為了減輕服務(wù)器的負擔,服務(wù)器并不會直接從其數(shù)據(jù)庫中為該請求提供相應(yīng)的天氣評論信息,而是利用緩存機制為該請求提供相應(yīng)的天氣評論信息;具體的,服務(wù)器可以為每個城市生成緩存快照,并為每個緩存快照分別動態(tài)維護緩存有效期,從而服務(wù)器可以基于緩存有效期對各緩存快照進行更新操作,這樣,服務(wù)器可以直接從相應(yīng)的緩存快照中為上述請求提供相應(yīng)的天氣評論信息。
[0103]上述動態(tài)維護緩存有效期的一個具體的例子為:設(shè)定服務(wù)器為一城市設(shè)置的緩存區(qū)可以存儲N=IOO條天氣評論信息,設(shè)定最近I個小時(60分鐘)內(nèi)該城市已經(jīng)積累了 X條天氣評論信息,則表示每積累N條評論需要時間P,且P=(N/X) X 60分鐘。
[0104]考慮到特殊情況,可以對P值進行限制,即:5min〈=P〈=6hour ;也就是說,P的最小取值為5分鐘,P的最大取值為6小時(6小時以前的天氣評論信息已失去了存在的意義),從而當該城市每小時積累的天氣評論信息的數(shù)量超過1200條時,服務(wù)器應(yīng)該將該城市對應(yīng)的緩存區(qū)的緩存有效期設(shè)置為5分鐘;而6小時以前的天氣評論信息應(yīng)從服務(wù)器中徹底刪除。
[0105]客戶端從服務(wù)器處獲取天氣評論信息的過程如圖3所示。
[0106]圖3中,客戶端的操作如左側(cè)的流程所示,具體的,在用戶開機并首次啟動客戶端時,客戶端會進行初始化操作,如為本次推送的用戶發(fā)布信息的有效期(即下述的validtime)對應(yīng)的定時器設(shè)置定時時長(如設(shè)置定時時長為O),如果不是用戶開機后的首次啟動客戶端,則可以不進行初始化操作,且為本次推送的用戶發(fā)布信息的有效期對應(yīng)的定時器的定時時長通常為上次用戶退出客戶端時的定時時長;客戶端檢查該定時器的計時值以及當前時間與天氣評論發(fā)布時間(即下述的createtime)的差值是否超過了該組天氣評論信息的有效期(即下述的validtime),以判斷有效期是否失效(定時器超時或者差值超過了有效期),如果有效期已經(jīng)失效,則客戶端向服務(wù)器發(fā)送請求消息,以請求新的天氣評論信息;如果有效期沒有失效,則等待該定時器超時,在定時器的計時值達到上述有效期時,返回到上述客戶端檢查該定時器的計時值的步驟;客戶端在接收到服務(wù)器傳輸來的天氣評論信息后,刷新其顯示界面,并判斷用戶是否退出該客戶端,如果用戶沒有退出客戶端,則客戶端根據(jù)天氣評論信息中攜帶的本次推送的用戶發(fā)布信息的有效期來設(shè)置定時器的定時時長,并到等待定時器超時的步驟;如果用戶退出客戶端,則客戶端可以進行相應(yīng)的參數(shù)保存操作,且客戶端本次操作結(jié)束。
[0107]另外,客戶端在顯示天氣評論信息時可以以彈幕、跑馬燈或者文字列表等形式來顯示。以彈幕方式顯示的一個具體例子如圖4所示。具體的,100條天氣評論信息被均勻的散落在若干條文字軌道上,這些文字信息可以按照不同的速度沿著預定軌道從屏幕的右側(cè)滾動到屏幕的左側(cè)。文字的滾動速度以及文字大小等可以與該條天氣評論內(nèi)容的字數(shù)相關(guān)。文字的顏色以及透明程度可以與該條天氣評論的新舊程度相關(guān),如最新的天氣評論內(nèi)容為不透明白色,而最舊的天氣評論內(nèi)容為半透明白色,其他時間的天氣評論內(nèi)容的透明程度應(yīng)介于不透明白色與半透明白色之間。這樣,用戶可以直觀地感知某條天氣評論信息的實時程度。
[0108]圖3中,服務(wù)器的操作如右側(cè)的流程所示,具體的,服務(wù)器運行天氣評論信息發(fā)布的主線程,在接收到用戶發(fā)送來的請求消息后,判斷用戶所屬城市對應(yīng)的緩存區(qū)是否已失效(及緩存記錄的緩存時間是否超時),如果已經(jīng)失效,則服務(wù)器從數(shù)據(jù)庫中獲取該城市最新的100條存儲記錄(如果不足100條存儲記錄的話,則可以獲取相鄰城市的最新的存儲記錄,以湊足100條存儲記錄),之后,一方面應(yīng)為該最新的100條存儲記錄設(shè)置緩存有效期,并利用最新的存儲記錄覆蓋緩存區(qū)中存儲的舊的緩存記錄,另一方面,服務(wù)器應(yīng)將舊的緩存記錄承載在推送消息中發(fā)送給客戶端,并在緩存區(qū)更新后,將新的緩存記錄承載在推送消息中發(fā)送給客戶端。服務(wù)器的本次推送天氣評論信息的過程結(jié)束。
[0109]其中,服務(wù)器可以將100條緩存記錄以天氣評論數(shù)組的形式承載在送的推送消息中,該天氣評論數(shù)組的結(jié)構(gòu)可以為:
[0110]comment [100],天氣評論數(shù)組;
[0111]uid:用戶 ID ;
[0112]co_ent:天氣評論內(nèi)容;
[0113]citycode:天氣評論所針對的城市編碼;
[0114]1n, Iat:移動設(shè)備在發(fā)送天氣評論信息時所在的地理位置的經(jīng)緯度;
[0115]creatTime:天氣評論信息發(fā)布時間;
[0116]extra:其他信息;
[0117]validtime:該組天氣評論信息的有效期(即本次推送的用戶發(fā)布信息的有效期);
[0118]timestamp:該組天氣評論信息對應(yīng)的緩存有效期。
[0119]另外,服務(wù)器可以定期(例如每天閑時)啟動線程來對其數(shù)據(jù)庫進行清理操作,以刪除數(shù)據(jù)庫中已經(jīng)過時(超過6小時)的歷史數(shù)據(jù),以保持充足的存儲空間。
[0120]實施例三、基于位置的信息發(fā)布裝置。下面結(jié)合圖5對該裝置進行說明。
[0121]圖5中的基于位置的信息發(fā)布裝置可以設(shè)置于服務(wù)器中,且該裝置主要包括:接收模塊100、存儲模塊110、維護模塊120、消息生成模塊130、發(fā)送模塊140、預定存儲區(qū)200以及多個緩存區(qū)210 ;其中,存儲模塊110與接收模塊100和預定存儲區(qū)200分別連接,維護模塊120與預定存儲區(qū)200以及多個緩存區(qū)210分別連接,消息生成模塊130與多個緩存區(qū)210以及發(fā)送模塊140分別連接。[0122]接收模塊100主要用于接收來自信息發(fā)布用戶的用戶發(fā)布信息。
[0123]接收模塊100接收到的用戶發(fā)布信息通常包括:信息發(fā)布用戶標識、用戶發(fā)布的信息所針對的地區(qū)信息以及用戶發(fā)布內(nèi)容等??蛇x的,用戶發(fā)布信息還可以包括:信息發(fā)布用戶所在地理位置的經(jīng)緯度信息和/或用戶發(fā)布信息的時間戳等。
[0124]上述用戶發(fā)布的信息所針對的地區(qū)信息可以具體為省標識信息,也可以為城市標識信息(citycode),還可以為城市標識信息和城市內(nèi)的區(qū)標識信息等;而且用戶發(fā)布的信息所針對的地區(qū)可以為信息發(fā)布用戶當前所在的地區(qū),也可以不是信息發(fā)布用戶當前所在的地區(qū),而是信息發(fā)布用戶所選擇的除其當前所在地區(qū)之外的其他地區(qū)(如信息發(fā)布用戶的家庭所在的地區(qū)等)。
[0125]上述用戶發(fā)布內(nèi)容可以具體為針對天氣預報的評論信息、針對天氣實際情況的評論信息或者針對本地區(qū)市場的商品的評論信息等等。
[0126]存儲模塊110主要用于將接收模塊100接收到的用戶發(fā)布信息存儲在預定存儲區(qū)200內(nèi),且預定存儲區(qū)200存儲的存儲記錄主要包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容等。上述存儲記錄中還可以包括:信息發(fā)布用戶所在地理位置的經(jīng)緯度信息等。存儲模塊110可以將上述存儲記錄以表或者數(shù)據(jù)庫等形式存儲在預定存儲區(qū)200中。
[0127]上述信息發(fā)布時間可以是信息發(fā)布用戶發(fā)送用戶發(fā)布信息的時間(即上述時間戳),也可以是接收模塊100接收到用戶發(fā)布信息的時間。另外,存儲模塊110可以對接收模塊100接收到的用戶發(fā)布信息進行敏感詞過濾處理,以決定該用戶發(fā)布信息是否可以存儲在預定存儲區(qū)200內(nèi),如果該用戶發(fā)布信息包含敏感詞,則存儲模塊110可以直接丟棄該用戶發(fā)布信息。
[0128]在將用戶發(fā)布信息存儲在預定存儲區(qū)200的過程中,存儲模塊110可以按照用戶發(fā)布的信息所針對的地區(qū)信息將用戶發(fā)布信息插入到相應(yīng)的存儲位置,以使針對同一地區(qū)的用戶發(fā)布信息實現(xiàn)連續(xù)存儲;而且,在用戶發(fā)布信息的存儲過程中,存儲模塊110還可以參照信息發(fā)布時間來決定用戶發(fā)布信息的存儲位置,以便于使預定存儲區(qū)200中存儲的存儲記錄可以按照信息發(fā)布時間進行順序排序。需要特別說明的是,在用戶發(fā)布信息的存儲過程中,存儲模塊110可以參照用戶發(fā)布的信息所針對的地區(qū)信息和/或信息發(fā)布時間進行存儲。
[0129]由于本發(fā)明實施例中的用戶發(fā)布信息具有較強的時效性,因此,存儲模塊110可以為預定存儲區(qū)200內(nèi)的各存儲記錄設(shè)置存儲時限,從而在一條存儲記錄在預定存儲區(qū)200內(nèi)的存儲時間達到其對應(yīng)的預定存儲時限的情況下,存儲模塊110會將該條存儲記錄從預定存儲區(qū)200中刪除。
[0130]維護模塊120主要用于根據(jù)預定存儲區(qū)200中的存儲記錄為不同地區(qū)分別維護一
緩存區(qū)。
[0131]具體的,維護模塊120所執(zhí)行的維護操作主要包括:維護模塊120為不同地區(qū)分別設(shè)定一用于存儲用戶發(fā)布信息的緩存區(qū)210,并為各緩存區(qū)210分別動態(tài)設(shè)置緩存有效期,在存在緩存有效期失效的緩存區(qū)且需要更新其中的緩存記錄的情況下,維護模塊120從預定存儲區(qū)200中獲取該有效期失效的緩存區(qū)210對應(yīng)的地區(qū)的當前最新的預定數(shù)量的用戶發(fā)布信息,從而維護模塊120可以利用獲取到的當前最新的預定數(shù)量的用戶發(fā)布信息來更新該緩存有效期失效的緩存區(qū)210中的所有緩存記錄。
[0132]上述動態(tài)設(shè)置緩存有效期是指針對一個緩存區(qū)210而言,該緩存區(qū)210的緩存有效期并不是一個常量,而是會隨著實際情況的變化而發(fā)生變化,即本次維護模塊120為該緩存區(qū)210設(shè)置的緩存有效期和上一次維護模塊120為該緩存區(qū)210設(shè)置的緩存有效期很可能不相同。另外,維護模塊120為不同地區(qū)設(shè)置的緩存區(qū)210的緩存空間可以相同,也可以不相同。
[0133]維護模塊120為各緩存區(qū)210分別動態(tài)設(shè)置緩存有效期的一種失效方式為:在每次更新緩存區(qū)中的緩存記錄時,維護模塊120可根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)設(shè)置當前的緩存有效期,具體設(shè)置方式的一個具體例子如上述實施例一中針對公式(I)及相關(guān)內(nèi)容的描述,在此不再重復說明。當然,維護模塊120也可以根據(jù)不同地區(qū)的用戶發(fā)布信息的流量等參數(shù)來動態(tài)設(shè)置緩存有效期。
[0134]另外,在本發(fā)明實施例中,維護模塊120可以在判斷出緩存有效期失效時,即確定出需要更新該緩存區(qū)中的緩存記錄;維護模塊120也可以在接收模塊100接收到信息接收用戶發(fā)送來的發(fā)布信息請求消息,并判斷出該信息請求消息對應(yīng)的緩存區(qū)的緩存有效期已失效時,即確定出需要更新該緩存區(qū)中的緩存記錄;也就是說,在接收模塊100接收到來自信息接收用戶的發(fā)布信息請求消息時,維護模塊120判斷該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)210中的緩存記錄在緩存區(qū)210中存儲的緩存時間是否達到緩存有效期,如果緩存時間已達到緩存有效期,則維護模塊120從預定存儲區(qū)200中獲取該地區(qū)的當前最新發(fā)布的預定數(shù)量的存儲記錄,并利用這些存儲記錄更新該地區(qū)對應(yīng)的緩存區(qū)210中的所有緩存記錄;而在接收模塊100沒有接收到信息接收用戶發(fā)送來的發(fā)布信息請求消息的情況下,即便是緩存區(qū)中的緩存記錄在緩存區(qū)中存儲的緩存時間已經(jīng)達到了緩存有效期,維護模塊120也可以認為不需要更新該緩存區(qū)210中的緩存記錄,而不對該緩存區(qū)210中的緩存記錄進行更新。
[0135]還有,在更新信息接收用戶所述地區(qū)對應(yīng)的緩存區(qū)210中的緩存記錄的過程中,如果維護模塊120從預定存儲區(qū)200中獲取到的用戶發(fā)布的信息所針對的地區(qū)(如北京市的朝陽區(qū))的當前最新存儲記錄的數(shù)量沒有達到預定數(shù)量(如沒有達到100條存儲記錄),則維護模塊120可以根據(jù)用戶發(fā)布的信息所針對的地區(qū)的相鄰地區(qū)(如北京市的海淀區(qū)和/或昌平區(qū)等)從預定存儲區(qū)200中獲取當前最新的存儲記錄,以使獲取到的總的存儲記錄達到預定數(shù)量(如達到100條存儲記錄)。上述相鄰地區(qū)和用戶發(fā)布的信息所針對的地區(qū)最好屬于同一父地區(qū)。
[0136]消息生成模塊130主要用于從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄,并生成包含有緩存記錄的推送消息。
[0137]具體的,在接收模塊100接收到來自信息接收用戶的發(fā)布信息請求消息且在維護模塊120判斷出該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間沒有達到緩存有效期的情況下,消息生成模塊130可以從對應(yīng)的緩存區(qū)210中獲取緩存記錄,并利用該獲取到的緩存記錄生成推送消息即可;而在接收模塊100接收到來自信息接收用戶的發(fā)布信息請求消息且在維護模塊120判斷出該信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)210中的緩存記錄在緩存區(qū)210中的緩存時間已經(jīng)達到緩存有效期的情況下,消息生成模塊130可以先從對應(yīng)的緩沖區(qū)(即更新前的緩存區(qū))210中獲取緩存記錄,并生成推送消息;之后,在該緩存區(qū)210中的緩存記錄更新后,消息生成模塊130再從更新后的緩存區(qū)210中獲取緩存記錄,并再次生成推送消息;消息生成模塊130先后生成的這兩條推送消息會由發(fā)送模塊140先后發(fā)送給信息接收用戶。
[0138]上述推送消息主要包括:信息發(fā)布用戶標識(即用戶ID)、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布用戶所在地理位置的經(jīng)緯度信息、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期等;而且,本次推送的用戶發(fā)布信息的有效期最好不小于當前的緩存有效期。
[0139]上述信息接收用戶所屬地區(qū)通常為信息接收用戶當前所在的地區(qū),當然,信息接收用戶所屬地區(qū)也可以為信息接收用戶所選擇的地區(qū),且信息接收用戶所選擇的地區(qū)可以不同于信息接收用戶當前所在的地區(qū)。
[0140]發(fā)送模塊140主要用于將消息生成模塊130生成的推送消息發(fā)送給信息接收用戶,以使信息接收用戶可以顯示推送消息中所包含的具體內(nèi)容。
[0141]Al、一種基于位置的信息發(fā)布方法,所述方法包括:
[0142]接收來自信息發(fā)布用戶的用戶發(fā)布信息;
[0143]將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容;
[0144]根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄;
[0145]從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息;
[0146]將所述推送消息發(fā)送給所述信息接收用戶。
[0147]A2、如Al所述的方法,其中,所述為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期包括:
[0148]根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期。
[0149]A3、如A2所述的方法,其中,所述根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期包括:
[0150]設(shè)定一地區(qū)對應(yīng)的緩存區(qū)的緩存空間為存儲N條緩存記錄所需的緩存空間,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則將該地區(qū)對應(yīng)的緩存區(qū)的緩存有效期動態(tài)設(shè)置為P,且P= (N/X) T ;
[0151]其中,N為大于零的整數(shù),且P在小于最小緩存有效期時,將P的取值調(diào)整為最小緩存有效期,P在大于最大緩存有效期時,將P的取值調(diào)整為最大緩存有效期。
[0152]A4、如Al所述的方法,其中,所述在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄包括:
[0153]在接收到來自信息接收用戶的發(fā)布信息請求消息時,判斷所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間是否達到緩存有效期,如果緩存時間達到緩存有效期,則從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄。[0154]A5、如A4所述的方法,其中,所述從與信息接收用戶所屬地區(qū)相關(guān)聯(lián)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息包括:
[0155]在接收到來自信息接收用戶的發(fā)布信息請求消息且在判斷出所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間達到緩存有效期的情況下,從更新前的緩存區(qū)中獲取緩存記錄并生成推送消息;之后,從更新后的緩存區(qū)中獲取緩存記錄并再次生成推送消息。
[0156]A6、如Al所述的方法,其中,所述從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息包括:
[0157]根據(jù)所述信息接收用戶所屬地區(qū)從預定存儲區(qū)中獲取預定數(shù)量的最新存儲記錄,且在本次獲取到的最新存儲記錄的數(shù)量沒有達到預定數(shù)量的情況下,根據(jù)所述信息接收用戶所屬地區(qū)的相鄰地區(qū)從預定存儲區(qū)中獲取最新存儲記錄,以使獲取的總的存儲記錄達到所述預定數(shù)量。
[0158]A7、如Al所述的方法,其中,所述推送消息包括:發(fā)布信息的用戶ID、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期。
[0159]A8、如A7所述的方法,其中,所述方法還包括:
[0160]信息接收用戶在接收到所述推送消息后,針對所述推送消息中的本次推送的用戶發(fā)布信息的有效期進行計時,并在計時值達到本次推送的用戶發(fā)布信息的有效期且所述信息接收用戶仍持續(xù)處于運行狀態(tài)下,所述信息接收用戶生成推送用戶發(fā)布信息請求消息并發(fā)送。
[0161]A9、如A7所述的方法,其中,所述方法還包括:
[0162]信息接收用戶在確定出信息接收用戶退出后又再次運行,且確定出當前時間與其前次接收到的推送消息中的信息發(fā)布時間的時間差達到本次推送的用戶發(fā)布信息的有效期時,所述信息接收用戶生成推送發(fā)布信息請求消息并發(fā)送。
[0163]AlO^nAl至A9中任一所述的方法,其中,所述方法還包括:
[0164]所述預定存儲區(qū)內(nèi)的各存儲記錄在其存儲時間達到預定存儲時限時,被刪除。
[0165]All、如Al至A9中任一所述的方法,其中,所述方法還包括:
[0166]提供用戶發(fā)布信息的糾錯窗口,且所述信息接收用戶/信息發(fā)布用戶在通過所述用戶發(fā)布信息糾錯窗口接收到用戶輸入的糾錯信息后,產(chǎn)生用戶發(fā)布信息,并發(fā)送。
[0167]B12、一種基于位置的信息發(fā)布裝置,其包括:
[0168]接收模塊,用于接收來自信息發(fā)布用戶的用戶發(fā)布信息;
[0169]存儲模塊,用于將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容;
[0170]維護模塊,用于根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄;
[0171]消息生成模塊,用于從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息;
[0172]發(fā)送模塊,用于將所述推送消息發(fā)送給所述信息接收用戶。
[0173]B13、如B12所述的裝置,其中,所述為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期包括:
[0174]所述維護模塊根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期。
[0175]B14、如B13所述的裝置,其中,所述維護模塊根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期包括:
[0176]所述維護模塊設(shè)定一地區(qū)對應(yīng)的緩存區(qū)的緩存空間為存儲N條緩存記錄所需的緩存空間,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則所述維護模塊將該地區(qū)對應(yīng)的緩存區(qū)的緩存有效期動態(tài)設(shè)置為P,且P=(N/X)T ;
[0177]其中,N為大于零的整數(shù),且P在小于最小緩存有效期時,將P的取值調(diào)整為最小緩存有效期,P在大于最大緩存有效期時,將P的取值調(diào)整為最大緩存有效期。
[0178]B15、如B12所述的裝置,其中,所述在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄包括:
[0179]在所述接收模塊接收到來自信息接收用戶的發(fā)布信息請求消息時,維護模塊判斷所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間是否達到緩存有效期,如果緩存時間達到緩存有效期,則維護模塊從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄。
[0180]B16、如B15所述的裝置,其中,所述發(fā)布模塊具體用于:
[0181]在所述接收模塊接收到來自信息接收用戶的發(fā)布信息請求消息且在維護模塊判斷出所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間達到緩存有效期的情況下,消息生成模塊從更新前的緩存區(qū)中獲取緩存記錄并生成推送消息;之后,消息生成模塊從更新后的緩存區(qū)中獲取緩存記錄并再次生成推送消息。
[0182]B17、如B12所述的裝置,其中,所述從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息包括:
[0183]所述維護模塊根據(jù)所述信息接收用戶所屬地區(qū)從預定存儲區(qū)中獲取預定數(shù)量的最新存儲記錄,且在本次獲取到的最新存儲記錄的數(shù)量沒有達到預定數(shù)量的情況下,根據(jù)所述信息接收用戶所屬地區(qū)的相鄰地區(qū)從預定存儲區(qū)中獲取最新存儲記錄,以使獲取的總的存儲記錄達到所述預定值。
[0184]B18、如B12所述的裝置,其中,所述推送消息包括:發(fā)布信息的用戶ID、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期。
[0185]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0186]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0187]類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0188]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0189]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0190]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的基于位置的信息發(fā)布裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0191]應(yīng)該注意的是,上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
【權(quán)利要求】
1.一種基于位置的信息發(fā)布方法,其包括: 接收來自信息發(fā)布用戶的用戶發(fā)布信息; 將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容; 根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄; 從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息; 將所述推送消息發(fā)送給所述信息接收用戶。
2.如權(quán)利要求1所述的方法,其中,所述為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期包括: 根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期。
3.如權(quán)利要求2所述的方法,其中,所述根據(jù)不同地區(qū)的用戶發(fā)布信息的發(fā)布速度以及不同地區(qū)的緩存區(qū)的緩存空間分別為各緩存區(qū)動態(tài)設(shè)置緩存有效期包括: 設(shè)定一地區(qū)對應(yīng)的緩存區(qū)的緩存空間為存儲N條緩存記錄所需的緩存空間,且在預定時間間隔T內(nèi)該地區(qū)的用戶發(fā)布信息的當前發(fā)布數(shù)量為X條,則將該地區(qū)對應(yīng)的緩存區(qū)的緩存有效期動態(tài)設(shè)置為P,且P= (N/X) T ; 其中,N為大于零的整數(shù),且P在小于最小緩存有效期時,將P的取值調(diào)整為最小緩存有效期,P在大于最大緩存有效期時,將P的取值調(diào)整為最大緩存有效期。
4.如權(quán)利要求1所述的方法,其中,所述在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄包括: 在接收到來自信息接收用戶的發(fā)布信息請求消息時,判斷所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間是否達到緩存有效期,如果緩存時間達到緩存有效期,則從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩存記錄。
5.如權(quán)利要求4所述的方法,其中,所述從與信息接收用戶所屬地區(qū)相關(guān)聯(lián)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息包括: 在接收到來自信息接收用戶的發(fā)布信息請求消息且在判斷出所述信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中的緩存記錄在緩存區(qū)中的緩存時間達到緩存有效期的情況下,從更新前的緩存區(qū)中獲取緩存記錄并生成推送消息;之后,從更新后的緩存區(qū)中獲取緩存記錄并再次生成推送消息。
6.如權(quán)利要求1所述的方法,其中,所述從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息包括: 根據(jù)所述信息接收用戶所屬地區(qū)從預定存儲區(qū)中獲取預定數(shù)量的最新存儲記錄,且在本次獲取到的最新存儲記錄的數(shù)量沒有達到預定數(shù)量的情況下,根據(jù)所述信息接收用戶所屬地區(qū)的相鄰地區(qū)從預定存儲區(qū)中獲取最新存儲記錄,以使獲取的總的存儲記錄達到所述預定數(shù)量。
7.如權(quán)利要求1所述的方法,其中,所述推送消息包括:發(fā)布信息的用戶ID、用戶發(fā)布內(nèi)容、用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及本次推送的用戶發(fā)布信息的有效期。
8.如權(quán)利要求7所述的方法,其中,所述方法還包括: 信息接收用戶在接收到所述推送消息后,針對所述推送消息中的本次推送的用戶發(fā)布信息的有效期進行計時,并在計時值達到本次推送的用戶發(fā)布信息的有效期且所述信息接收用戶仍持續(xù)處于運行狀態(tài)下,所述信息接收用戶生成推送用戶發(fā)布信息請求消息并發(fā)送。
9.如權(quán)利要求7所述的方法,其中,所述方法還包括: 信息接收用戶在確定出信息接收用戶退出后又再次運行,且確定出當前時間與其前次接收到的推送消息中的信息發(fā)布時間的時間差達到本次推送的用戶發(fā)布信息的有效期時,所述信息接收用戶生成推送發(fā)布信息請求消息并發(fā)送。
10.一種基于位置的信息發(fā)布裝置,其包括: 接收模塊,用于接收來自信息發(fā)布用戶的用戶發(fā)布信息; 存儲模塊,用于將所述用戶發(fā)布信息存儲在預定存儲區(qū)內(nèi),且所述預定存儲區(qū)存儲的存儲記錄包括:用戶發(fā)布的信息所針對的地區(qū)信息、信息發(fā)布時間以及用戶發(fā)布內(nèi)容; 維護模塊,用于根據(jù)所述預定存儲區(qū)中的存儲記錄為不同地區(qū)分別維護一緩存區(qū),且所述維護包括:為各緩存區(qū)分別動態(tài)設(shè)置緩存有效期,在需要更新緩存有效期失效的緩存區(qū)中的緩存記錄時,從所述預定存儲區(qū)中獲取相應(yīng)地區(qū)的用戶發(fā)布信息,以更新所述緩存有效期失效的緩存區(qū)中的緩`存記錄; 消息生成模塊,用于從信息接收用戶所屬地區(qū)對應(yīng)的緩存區(qū)中獲取緩存記錄并生成包含有所述緩存記錄的推送消息; 發(fā)送模塊,用于將所述推送消息發(fā)送給所述信息接收用戶。
【文檔編號】H04L29/08GK103533042SQ201310470318
【公開日】2014年1月22日 申請日期:2013年10月10日 優(yōu)先權(quán)日:2013年10月10日
【發(fā)明者】張震, 符傳堅 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司