一種電子論壇的信息發布方法
【專利摘要】本發明公開了一種電子論壇的信息發布方法。該方法包括:服務器根據終端的請求創建一個帖子并維持一個與該帖子對應的固定長度的消息隊列;當其它終端初次訪問該帖子時,服務器將與該帖子對應的消息隊列返回給初次訪問該帖子的終端;當服務器收到終端返回的與該帖子相關的回復信息時,將所述回復信息持久化保持后放入與該帖子對應的消息隊列中;服務器根據所接收到的由終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端;所述終端顯示所獲取的消息。通過使用上述的方法,可以使得電子論壇的發布形式變得更加快捷、生動、活潑,降低即時通訊的技術難度與成本代價;同時還能保持沉淀知識與信息的能力,保證系統良好的可擴展性。
【專利說明】一種電子論壇的信息發布方法
【技術領域】
[0001]本發明涉及移動互聯網技術,特別涉及一種電子論壇的信息發布方法。
【背景技術】
[0002]在現有技術中,電子論壇(BBS)和即時通訊是兩種不同的多人信息交互方式。對于電子論壇而言,由于參與電子論壇的用戶數量比較龐大,因此如果希望讓電子論壇中的所有用戶都同時具有即時通訊能力,則通過使用現有技術中的技術方案實現上述目的的難度比較大,而且即使能夠實現,其成本代價也會比較高昂。
[0003]由于可知,現有技術中已經存在的相關技術方案不能充分結合電子論壇沉淀信息與即時通訊快捷性的優點,使得在線信息共享方式不夠自然,在電子論壇上實現即時通訊的難度很大,成本代價很高。
【發明內容】
[0004]有鑒于此,本發明提供一種電子論壇的信息發布方法,從而可以有效地。
[0005]本發明的技術方案具體是這樣實現的:
[0006]—種電子論壇的信息發布方法,該方法包括:
[0007]A、服務器根據終端的請求創建一個帖子并維持一個與該帖子對應的固定長度的消息隊列;
[0008]B、當其它終端初次訪問該帖子時,服務器將與該帖子對應的消息隊列返回給初次訪問該帖子的終端;
[0009]C、當服務器收到終端返回的與該帖子相關的回復信息時,將所述回復信息持久化保持后放入與該帖子對應的消息隊列中;
[0010]D、服務器根據所接收到的由終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端;所述終端顯示所獲取的消息。
[0011]較佳的,在所述步驟A之前,該方法還進一步包括:
[0012]所述終端向服務器發送創建帖子的請求。
[0013]較佳的,該方法還進一步包括:
[0014]當消息隊列已滿時,服務器將該消息隊列中時間最早的消息從該消息隊列中刪除。
[0015]較佳的,在所述步驟D之前,該方法還進一步包括:
[0016]所有正在訪問該貼子的終端都以預設頻率向服務器發送拉取消息的請求;
[0017]其中,所述拉取消息的請求中攜帶有第一時間戳;所述第一時間戳為該終端上次拉取的該帖子中的最后一條消息的生成時間。
[0018]較佳的,所述從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端包括:
[0019]根據所述拉取消息的請求中攜帶的第一時間戳,從該拉取消息的請求所對應的消息隊列中的最新消息開始遍歷,將消息隊列中所有生成時間大于所述時間戳的消息都返回給所述終端。
[0020]較佳的,所述預設頻率為每秒I次。
[0021]較佳的,在所述步驟D之前,該方法還進一步包括::
[0022]正在訪問該貼子的終端向服務器發送拉取歷史數據的請求;
[0023]其中,所述拉取消息的請求中攜帶有第二時間戳;所述第二時間戳為該終端當前所獲取的該帖子的所有消息的最小生成時間。
[0024]較佳的,所述從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端包括:
[0025]根據所述拉取消息的請求中攜帶的第二時間戳,從該拉取消息的請求所對應的帖子的持久化數據中選擇生成時間小于所述第二時間戳的歷史數據,并將選擇出的歷史數據返回給所述終端。
[0026]如上可見,由于在本發明中的電子論壇的信息發布方法中,服務器可以根據終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求所指定的消息(例如,該帖子的最新消息),并將所獲取的消息返回給所述終端,使得所述終端可以顯示所獲取的最新消息,因此,所有正在訪問該貼子的終端都可以以固定間隔向服務器輪詢消息隊列中的最新消息,使得所有正在訪問該貼子的終端都能夠即時獲取該帖子中的最新消息,從而使得電子論壇中的用戶都具備了即時通訊的能力,充分利用了電子論壇和即時通訊的優點,在電子論壇上添加了即時通訊的能力,使得電子論壇這種信息發布形式變得更加快捷、生動、活潑,同時還能保持沉淀知識與信息的能力,將電子論壇與聊天室結合起來,形成了一種新的移動互聯網溝通形式。同時,還降低了即時通訊的技術難度與成本代價,使得服務器和終端之間的信息溝通所占據的帶寬與CPU資源相對于用戶數量呈線性增長的趨勢,避免了二次方甚至指數級別的增長趨勢,從而保證了系統具有良好的可擴展性。
【專利附圖】
【附圖說明】
[0027]圖1為本發明實施例中的電子論壇的信息發布方法的流程示意圖。
【具體實施方式】
[0028]為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本發明進一步詳細說明。
[0029]本實施例提供了一種電子論壇的信息發布方法。
[0030]圖1為本發明實施例中的電子論壇的信息發布方法的流程示意圖。如圖1所示,本發明實施例中的電子論壇的信息發布方法主要包括如下所述的步驟:
[0031]步驟11,服務器根據終端的請求創建一個帖子并維持一個與該帖子對應的固定長度的消息隊列。
[0032]在本發明的技術方案中,所述服務器(Server)可以稱為信息交換推送服務器。所述終端(Client)可以是移動客戶端。所述服務器和終端可通過移動互聯網連通并相互傳輸數據,而同一個服務器則可以同時與多個終端連接。
[0033]另外,具體來說,在本發明的較佳實施例中,在上述步驟11之前,還可以進一步包括如下所述的步驟:
[0034]所述終端向服務器發送創建帖子的請求。
[0035]另外,在本發明的技術方案中,所述消息可以是一個記錄。所述消息隊列可以是一種特殊的線性表,該線性表只允許在線性表的前端(front)進行刪除操作,而在該線性表的后端(rear)進行插入操作,因此是一種操作受限制的線性表。進行插入操作的隊列一端稱為隊尾,而進行刪除操作的隊列的一端稱為隊頭。當隊列中沒有元素時,稱為空隊列。在本發明的技術方案中,一個帖子唯一對應一個具有固定長度的消息隊列。
[0036]因此,在本步驟中,當服務器接收到終端發送的創建帖子的請求時,服務器可以根據該終端的請求創建一個帖子,并維持一個與該帖子對應的固定長度的消息隊列。
[0037]步驟12,當其它終端初次訪問該帖子時,服務器將與該帖子對應的消息隊列返回給初次訪問該帖子的終端。
[0038]步驟13,當服務器收到終端返回的與該帖子相關的回復信息時,將所述回復信息持久化保持后放入與該帖子對應的消息隊列中。
[0039]其它終端獲得與該帖子對應的消息隊列之后,可以向服務器發送相應的回復信息。而當服務器收到終端返回的與該帖子相關的回復信息時,就將該回復信息持久化保持后放入與該帖子對應的消息隊列中。其中,所述持久化保持是指將數據存入可訪問的可斷電保存數據的存貯設備上,例如,硬盤等;其保持方式可以包括:寫入文件或者數據庫等方式。
[0040]較佳的,在本發明的具體實施例中,當消息隊列已滿時,服務器則可將該消息隊列中時間最早的消息從該消息隊列中刪除。
[0041]步驟14,服務器根據所接收到的由終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端;所述終端顯示所獲取的消息。
[0042]在本發明的技術方案中,所有正在訪問該貼子的終端都可以向服務器發送拉取消息的請求,以獲得該帖子中的最新消息。
[0043]例如,較佳的,在本發明的具體實施例中,在上述步驟14之前,還可以進一步包括:
[0044]所有正在訪問該貼子的終端都以預設頻率向服務器發送拉取消息的請求;其中,所述拉取消息的請求中攜帶有第一時間戳,所述第一時間戳為該終端上次拉取的該帖子中的最后一條消息的生成時間。
[0045]由于所述拉取消息的請求中攜帶有上述第一時間戳,因此所述步驟14中的“從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端”則具體可以包括:
[0046]根據所述拉取消息的請求中攜帶的第一時間戳,從該拉取消息的請求所對應的消息隊列中的最新消息開始遍歷,將消息隊列中所有生成時間大于所述時間戳的消息都返回給所述終端。
[0047]較佳的,在本發明的具體實施例中,所述預設頻率可以是每秒I次。
[0048]通過上述的方式,終端可以以固定間隔(例如,每秒I次)向服務器輪詢消息隊列中的最新消息,從而使得所有正在訪問該貼子的終端都能夠即時獲取該帖子中的最新消息,相當于使得電子論壇中的用戶都具備了即時通訊的能力。
[0049]另外,在本發明的技術方案中,所有正在訪問該貼子的終端還可以隨時獲取該帖子的歷史數據。
[0050]例如,較佳的,在本發明的具體實施例中,在上述步驟14之前,還可以進一步包括:
[0051]正在訪問該貼子的終端可以向服務器發送拉取歷史數據的請求;其中,所述拉取消息的請求中攜帶有第二時間戳,所述第二時間戳為該終端當前所獲取的該帖子的所有消息的最小生成時間。
[0052]由于所述拉取消息的請求中攜帶有上述第二時間戳,因此所述步驟14中的“從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端”則具體可以包括:
[0053]根據所述拉取消息的請求中攜帶的第二時間戳,從該拉取消息的請求所對應的帖子的持久化數據(即存儲在預設存貯設備中的數據)中選擇生成時間小于所述第二時間戳的歷史數據,并將選擇出的歷史數據返回給所述終端。
[0054]綜上可知,由于在本發明中的電子論壇的信息發布方法中,服務器可以根據終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求所指定的消息(例如,該帖子的最新消息),并將所獲取的消息返回給所述終端,使得所述終端可以顯示所獲取的最新消息,因此,所有正在訪問該貼子的終端都可以以固定間隔向服務器輪詢消息隊列中的最新消息,使得所有正在訪問該貼子的終端都能夠即時獲取該帖子中的最新消息,從而使得電子論壇中的用戶都具備了即時通訊的能力,充分利用了電子論壇和即時通訊的優點,在電子論壇上添加了即時通訊的能力,使得電子論壇這種信息發布形式變得更加快捷、生動、活潑,同時還能保持沉淀知識與信息的能力,將電子論壇與聊天室結合起來,形成了一種新的移動互聯網溝通形式。同時,還降低了即時通訊的技術難度與成本代價,使得服務器和終端之間的信息溝通所占據的帶寬與CPU資源相對于用戶數量呈線性增長的趨勢,避免了二次方甚至指數級別的增長趨勢,從而保證了系統具有良好的可擴展性。
[0055]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種電子論壇的信息發布方法,其特征在于,該方法包括: A、服務器根據終端的請求創建一個帖子并維持一個與該帖子對應的固定長度的消息隊列; B、當其它終端初次訪問該帖子時,服務器將與該帖子對應的消息隊列返回給初次訪問該帖子的終端; C、當服務器收到終端返回的與該帖子相關的回復信息時,將所述回復信息持久化保持后放入與該帖子對應的消息隊列中; D、服務器根據所接收到的由終端發送的拉取消息的請求,從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端;所述終端顯示所獲取的消息。
2.根據權利要求1所述的方法,其特征在于,在所述步驟A之前,該方法還進一步包括: 所述終端向服務器發送創建帖子的請求。
3.根據權利要求1所述的方法,其特征在于,該方法還進一步包括: 當消息隊列已滿時,服務器將該消息隊列中時間最早的消息從該消息隊列中刪除。
4.根據權利要求1所述的方法,其特征在于,在所述步驟D之前,該方法還進一步包括: 所有正在訪問該貼子的終端都以預設頻率向服務器發送拉取消息的請求; 其中,所述拉取消息的請求中攜帶有第一時間戳;所述第一時間戳為該終端上次拉取的該帖子中的最后一條消息的生成時間。
5.根據權利要求4所述的方法,其特征在于,所述從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端包括: 根據所述拉取消息的請求中攜帶的第一時間戳,從該拉取消息的請求所對應的消息隊列中的最新消息開始遍歷,將消息隊列中所有生成時間大于所述時間戳的消息都返回給所述終。
6.根據權利要求4所述的方法,其特征在于: 所述預設頻率為每秒I次。
7.根據權利要求1所述的方法,其特征在于,在所述步驟D之前,該方法還進一步包括:: 正在訪問該貼子的終端向服務器發送拉取歷史數據的請求; 其中,所述拉取消息的請求中攜帶有第二時間戳;所述第二時間戳為該終端當前所獲取的該帖子的所有消息的最小生成時間。
8.根據權利要求7所述的方法,其特征在于,所述從對應的消息隊列中獲取該請求指定的消息,并將所獲取的消息返回給所述終端包括: 根據所述拉取消息的請求中攜帶的第二時間戳,從該拉取消息的請求所對應的帖子的持久化數據中選擇生成時間小于所述第二時間戳的歷史數據,并將選擇出的歷史數據返回給所述終端。
【文檔編號】H04L12/58GK104320330SQ201410611967
【公開日】2015年1月28日 申請日期:2014年11月3日 優先權日:2014年11月3日
【發明者】徐發銳 申請人:北京微車一族信息技術發展有限公司