專利名稱:一種通過緩存實現(xiàn)通知的方法
技術領域:
本發(fā)明涉及一種通過緩存實現(xiàn)通知的方法,特別涉及一種通過在應用 服務器內存中緩存大量消息為大量并發(fā)用戶提供消息通知功能,為每一個 用戶提供個性化的消息通知的方法。
背景技術:
在無線互聯(lián)網上,服務器主動推送信息給客戶端不是一件容易的事情, 大部分的技術方案要么實時性不強,要么對服務器端造成的壓力過大.本 方案著眼于在盡量節(jié)省服務器資源的前提下,通過通知方式實現(xiàn)服務器端 推送信息給客戶端.
發(fā)明內容
本發(fā)明的主要目的是提供一種通過緩存實現(xiàn)通知的方法。特別涉及一 種通過在應用服務器內存中緩存大量消息為大量并發(fā)用戶提供消息通知 功能,為每一個用戶提供個性化的消息通知的方法。
本發(fā)明的目的是這樣實現(xiàn)的
1、 一種通過緩存實現(xiàn)通知的方法,其特征在于該方法至少包括如 下的步驟
步驟l:客戶端每隔5分鐘向服務器發(fā)出心跳信號; 步驟2:服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存 緩存的消息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定一條消息;
步驟3:客戶端得到服務器返回的消息;
步驟4:客戶端根據(jù)消息中每個操作的優(yōu)先級由高到低調用服務器的 具體業(yè)務接口;
步驟5:內存消息隊列緩存提供消息更新接口使得數(shù)據(jù)庫中存儲的消 息也可以更新到內存緩存中;
2、根據(jù)權利要求1所述的一種通過緩存實現(xiàn)通知的方法,其特征在 于服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存緩存的消 息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定
一條消息,其步驟為
步驟21:從數(shù)據(jù)庫讀取當前ID和客戶端類型的最新消息; 步驟22:如果數(shù)據(jù)庫中有消息,則讀取出來后先緩存到應用服務器,
并同時返回給客戶端;
步驟23:如果數(shù)據(jù)庫中沒有消息,則直接返回給客戶端。
圖1為本發(fā)明的實施例涉及的系統(tǒng)的整體結構示意圖
具體實施例方式
參見圖1,系統(tǒng)根據(jù)客戶端用戶的ID號(小于19位的長整型數(shù)字)和 客戶端類型(沖丈舉型常量,可能是Mobile、 PC、 Web)來獲取最新的消息 列表,這些消息都是對象(這些對象的基本結構是操作列表,它們分優(yōu)先 級,因為客戶端將按照優(yōu)先級高低來順序響應這些消息),假如消息在內屬性/方法 說明
消息ID 不重復,可以用guid,也可以自己實現(xiàn)其他算法
優(yōu)先級 可以以0,1,2……來表示,數(shù)值越小,優(yōu)先級越高;
優(yōu)先級層級不確定 父消息 因為有些消息的執(zhí)行依賴于其他消息,這里記錄它依
賴的父消息的id,可能會有多個父消息 操作列表 每個操作包括服務器的接口名稱、接口版本號和需要
傳入的各種參數(shù)。
消息其他描述 這里記錄一些純文本的說明文字,可能用于提示一些
文本信息給用戶
存中消息隊列中已經存在,那么將直接從內存中獲取消息返回給客戶端, 否則會首先讀取數(shù)據(jù)庫的信息,如果數(shù)據(jù)庫中存在此信息,則讀取出來后 先緩存后再返回給客戶端消息,如果緩存和數(shù)據(jù)庫中都不存在消息則返回 -1表示沒有找到消息。客戶端獲取消息后,將按照優(yōu)先級高低順序調用服 務器端的接口獲取業(yè)務數(shù)據(jù)。消息體對象基本結構如表1所示。 表l
本發(fā)明的主要步驟如下
步驟1:客戶端每隔5分鐘向服務器發(fā)出心跳信號; 步驟2:服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存緩 存的消息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定一條消息。
步驟3:客戶端得到服務器返回的消息
步驟4:客戶端根據(jù)消息中每個操作的優(yōu)先級由高到低調用服務器的 具體業(yè)務接口
步驟5:內存消息隊列緩存提供消息更新接口使得數(shù)據(jù)庫中存儲的消 息也可以更新到內存緩存中。
上述步驟2服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內 存緩存的消息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類 型唯一確定一條消息。的具體步驟如下
步驟21:從數(shù)據(jù)庫讀取當前ID和客戶端類型的最新消息;
步驟22:如果數(shù)據(jù)庫中有消息,則讀取出來后先緩存到應用服務器, 并同時返回給客戶端;
步驟23:如果數(shù)據(jù)庫中沒有消息,則直接返回給客戶端。
上述的技術方案實施時為大量并發(fā)用戶提供消息通知功能,為每一個 用戶提供個性化的消息通知。
最后所應說明的是,以上實施例僅用以說明而并非限制本發(fā)明所描述 的技術方案;因此,盡管本說明書參照上述的實施例對本發(fā)明已進行了詳 細的說明,但是,本領域的普通技術人員應當理解,仍然可以對本發(fā)明進 行修改或者等同地替換;而一切不脫離本發(fā)明的精神和范圍的技術方案及 其改進,其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1、一種通過緩存實現(xiàn)通知的方法,其特征在于該方法至少包括如下的步驟步驟1客戶端每隔5分鐘向服務器發(fā)出心跳信號;步驟2服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存緩存的消息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定一條消息;步驟3客戶端得到服務器返回的消息;步驟4客戶端根據(jù)消息中每個操作的優(yōu)先級由高到低調用服務器的具體業(yè)務接口;步驟5內存消息隊列緩存提供消息更新接口使得數(shù)據(jù)庫中存儲的消息也可以更新到內存緩存中。
2、 根據(jù)權利要求1所述的一種通過緩存實現(xiàn)通知的方法,其特征在 于服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存緩存的消 息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定 一條消息,其步驟為步驟21:從數(shù)據(jù)庫讀取當前ID和客戶端類型的最新消息; 步驟22:如果數(shù)據(jù)庫中有消息,則讀取出來后先緩存到應用服務器, 并同時返回給客戶端;步驟23:如果數(shù)據(jù)庫中沒有消息,則直接返回給客戶端。
全文摘要
一種通過緩存實現(xiàn)通知的方法,首先客戶端每隔5分鐘向服務器發(fā)出心跳信號;服務器根據(jù)客戶端提供的ID號和類型讀取應用服務器內存緩存的消息,應用服務器通過Dictionary來緩存數(shù)據(jù),ID和客戶端類型唯一確定一條消息;客戶端得到服務器返回的消息;客戶端根據(jù)消息中每個操作的優(yōu)先級由高到低調用服務器的具體業(yè)務接口;內存消息隊列緩存提供消息更新接口使得數(shù)據(jù)庫中存儲的消息也可以更新到內存緩存中;大量并發(fā)用戶提供消息通知功能,為每一個用戶提供個性化的消息通知。
文檔編號H04L29/08GK101453481SQ20071017901
公開日2009年6月10日 申請日期2007年12月7日 優(yōu)先權日2007年12月7日
發(fā)明者劉立軍 申請人:北京聞言科技有限公司