專利名稱:無線應用協議網關瀏覽業務cookie的實現方法
技術領域:
本發明主要適合用于WAP(無線應用協議)網關分布式部署上行瀏覽業務中COOKIE的實現。
背景技術:
因特網的COOKIE技術極其簡單,卻有著旺盛的生命力。COOKIE開始引起眾人的注意是從2000年二月隨著網絡隱私權的提出開始的,有關的辯論至今仍在繼續。從另一方面來說,COOKIE使得瀏覽網頁更容易了。幾乎所有的主要的網站設計者都使用了COOKIE,因為他們想為瀏覽網站的人提供一個更好的瀏覽環境,同時也能更加準確地收集訪客的信息。COOKIE的比較確切的定義應該是這個“COOKIE是Web服務器保存在用戶硬盤上的一段文本。COOKIE允許一個Web站點在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘名/值’對(name-value pairs)的形式儲存。”WAP終端為了能更方便的訪問應用服務器,使用了COOKIE技術。一般應用服務器返回兩種類型的COOKIE,一種是session COOKIE(會話COOKIE),另一種是permanent COOKIE(永久COOKIE)。對于WAP終端從上網開始到上網結束,認為是一次完整的會話。在會話期間,如果訪問同樣的URL(簡稱統一資源定位)或新訪問的URL包含保存的COOKIE中的URL,則應該把本次會話前相關的COOKIE信息從緩存中檢索出來,發送給應用服務器,如果會話結束了,所有的該會話的COOKIE不再使用。但如果應用服務器返回的COOKIE信息是永久COOKIE,則只要COOKIE不過期,任何時候訪問同樣的URL或新訪問的URL包含保存的COOKIE中的URL都應該把保存的永久COOKIE信息發送給應用服務器。
目前,只有支持COOKIE技術的WAP終端才能享受COOKIE技術帶來的便利。
發明內容
本發明要解決的技術問題是提供一種無線應用協議網關瀏覽業務COOKIE的實現方法,可以使不支持COOKIE的WAP終端也能享受COOKIE技術帶來的便利。
為了解決上述技術問題,本發明提供了一種無線應用協議網關瀏覽業務COOKIE的實現方法,應用于包括無線應用協議WAP終端通過WAP網關訪問應用服務器的系統,該方法包括WAP網關收到WAP終端訪問請求的處理過程,包括以下步驟(a)WAP網關收到WAP終端訪問應用服務器的第一次請求后,獲取該終端的所有永久COOKIE并放入緩存;(b)WAP網關收到后續請求時,根據獲取的會話唯一標志從其緩存中獲取該會話的所有會話COOKIE,然后根據該終端訪問的應用服務器域名和路徑獲取匹配的會話COOKIE,并獲取緩存中匹配的永久COOKIE;(c)WAP網關對獲取的永久COOKIE和會話COOKIE進行整合,構造帶有COOKIE信息的消息發送給該應用服務器;該方法還包括WAP網關收到COOKIE信息的處理過程,包括以下步驟(h)WAP網關收到應用服務器返回的COOKIE信息后,解析所述COOKIE到統一的數據結構中;(i)該WAP網關判斷收到的COOKIE是會話COOKIE還是永久COOKIE,再與緩存中相同類型的COOKIE進行匹配,匹配到時更新緩存中的COOKIE,否則添加該COOKIE到緩存中。
進一步地,上述方法還可具有以下特點所述系統中的WAP網關是分布式設置的且有一個與各個WAP網關連接的數據庫,所述步驟(a)中,WAP終端請求訪問應用服務器后,先判斷該請求是否是終端上線后的第一次請求,如果是,WAP網關先根據WAP終端標識,獲取數據庫中該終端對應的所有永久COOKIE,并與緩存中已有的永久COOKIE進行比較,更新緩存中已有的永久COOKIE或添加新的永久COOKIE到緩存。
進一步地,上述方法還可具有以下特點所述步驟(a)中該WAP網關還根據WAP終端訪問的應用服務器的域名以及路徑對緩存中該終端的永久COOKIE進行匹配,將匹配到的永久COOKIE的信息發送給應用服務器。
進一步地,上述方法還可具有以下特點所述步驟(i)中,該WAP網關判斷所述COOKIE的類型,如果是會話COOKIE,將其與該會話所有時間段內的會話COOKIE根據所述應用服務器的域名和路徑進行匹配,如果匹配成功則更新所述COOKIE,否則將其保存入所述WAP網關的緩存;如果所述COOKIE是永久COOKIE,根據所述終端的標識以及所述應用服務器的域名和路徑,將其與所述WAP網關緩存中所有的永久COOKIE進行匹配,如果匹配成功,更新緩存中該匹配COOKIE的內容;否則,保存所述永久COOKIE到所述緩存中。
進一步地,上述方法還可具有以下特點所述步驟(c)中,根據所述COOKIE信息是否包含過期信息來判斷所述COOKIE的類型。
進一步地,上述方法還可具有以下特點在WAP終端下線時,WAP網關獲取會話COOKIE唯一標志,根據該會話唯一標志刪除所述WAP網關緩存中該終端所有的會話COOKIE,釋放所有的會話COOKIE資源。
進一步地,上述方法還可具有以下特點在WAP終端下線時,WAP網關根據唯一的終端標識從所述WAP網關緩存中匹配到該終端的所有永久COOKIE;過濾掉過期COOKIE后,將所述永久COOKIE保存到數據庫中,同時從所述緩存中的永久COOKIE中刪除所有與該終端匹配的COOKIE。
進一步地,上述方法還可具有以下特點保存所有永久COOKIE時,要根據統一資源定位名稱和路徑、終端標識與數據庫中的永久COOKIE進行匹配,如果匹配成功,說明該COOKIE信息已經存在舊的版本,則更新數據庫中該匹配COOKIE的內容;否則,匹配失敗,保存該COOKIE到數據庫中。
進一步地,上述方法還可具有以下特點數據庫要定期檢查并刪除過期的COOKIE。
進一步地,上述方法還可具有以下特點所述步驟(b)中,構造帶有COOKIE的信息之前,先過濾掉過期的COOKIE。
綜上所述,本發明方法通過采用WAP網關,使得不支持COOKIE的WAP終端也能夠實現COOKIE功能,為不支持COOKIE的WAP終端提供了更好的網頁瀏覽環境,并且采用數據庫與緩存相結合的方式來緩存會話以及永久COOKIE,彌補了硬盤保存方式的一些缺陷。
圖1是本發明實施例中WAP網關收到WAP終端訪問應用服務器后的處理流程圖;圖2是本發明實施例中保存應用服務器返回的COOKIE信息的流程圖;圖3是本發明實施例中在WAP終端下線時刪除會話COOKIE的流程圖;圖4是本發明實施例中在WAP終端下線時保存永久COOKIE的流程圖。
具體實施例方式
以下結合附圖和實施例對本發明作進一步地說明目前一般COOKIE都是保存在WAP終端的本地硬盤上,在隨后訪問同樣的服務器的時候檢索相關的信息發送給應用服務器。這種普通的COOKIE存儲對WAP網關來說是不適合的。首先,對于session COOKIE來說,沒有必要保存到硬盤上,只需要在緩存中保存相關的session COOKIE就可以,因為對WAP終端來說,根據業務的特征,WAP終端不可能長期一直處于上線狀態,而且一旦下線該會話的所有COOKIE都已經沒有任何用處,所以用緩存實現能提高COOKIE的處理效率。
其次,在WAP網關中,為了提高WAP終端通過WAP網關訪問應用服務器的處理能力,WAP網關是有多臺同等業務處理能力的機器組成。這樣從WAP終端一次上線到下線過程中的請求是唯一的一臺業務處理機進行處理,但對手機不同次的上線到下線過程中的請求不能保證是唯一的一臺處理機進行處理,即WAP終端的所有請求是分布在不同的業務處理機上進行處理的,這樣會導致應用服務器返回的COOKIE處理是不同機器進行處理的。此時如果通過一般COOKIE信息的處理保存到WAP網關本地硬盤上是不可取的,會導致手機的COOKIE信息保存在多臺機器上,這樣對WAP終端下次請求時無法準確快速定位對應的COOKIE信息,所以為了達到以上目的,需要把信息保存到一臺公用的機器上的數據庫中便于不同的業務處理機進行處理。因此,本實施例的系統,包括通過因特網連接的若干WAP終端和若干WAP網關,分別與所述WAP網關連接的數據庫和應用服務器,其中,數據庫定期檢查并刪除過期的永久cookie。
WAP終端通過WAP網關訪問應用服務器,WAP網關需要對應用服務器返回的COOKIE信息進行處理,便于以后手機再次訪問相關的應用服務器時能保留以前訪問的一些信息。目前WAP網關對WAP終端訪問的應用服務器返回的COOKIE信息是全部進行保存處理的,而對不支持COOKIE的手機,網關是需要進行COOKIE獲取操作(對以前保存的COOKIE信息進行過濾),而對本身支持COOKIE的手機網關是不獲取以前保存的COOKIE信息。
圖1示出了本發明實施例中WAP網關收到WAP終端訪問應用服務器后的處理流程,包括以下步驟步驟110,WAP終端請求訪問應用服務器;步驟120,WAP網關判斷該請求是否是終端上線后的第一次請求,如果是,進行步驟130,否則,進行步驟150;步驟130,WAP網關獲取并保存該會話的唯一標志,并根據WAP終端標識查詢數據庫,獲取該終端對應的所有永久COOKIE(包括其它服務器的永久COOKIE)并與緩存中的永久COOKIE比較,更新緩存中已有的永久COOKIE或添加新的永久COOKIE到緩存中;步驟140,WAP網關根據WAP終端訪問的應用服務器的域名(即URL名稱)以及路徑對緩存中該終端的永久COOKIE進行匹配,將匹配到的永久COOKIE的信息發送給應用服務器,結束;步驟150,WAP網關根據該會話的唯一標識、訪問的應用服務器的域名和路徑對緩存中的會話COOKIE進行匹配,獲得匹配的會話COOKIE;同時,WAP網關根據終端標識、訪問的應用服務器的域名和路徑對緩存中的永久COOKIE進行匹配,獲得匹配的永久COOKIE;步驟160,WAP網關過濾掉匹配到的永久COOKIE中過期的永久COOKIE,然后將選出的會話COOKIE和永久COOKIE進行整合,構造帶有這些COOKIE的信息的消息發送給應用服務器,結束。
會話COOKIE設計是個2級鏈表的概念,而永久COOKIE是一級鏈表的概念,但在匹配時會話COOKIE先是根據會話標志取出所有該會話期內的所有COOKIE(是以鏈表方式存儲的),然后從該子鏈表中匹配,而永久COOKIE是直接從鏈表中匹配,這兩者在最終匹配到訪問某一服務器的COOKIE時匹配原則都是根據URL、路徑和終端標志來匹配的。
圖2示出了本發明實施例中保存應用服務器返回的COOKIE信息的流程,包括以下步驟步驟210,WAP網關根據應用服務器返回的COOKIE信息,解析到統一的數據結構中,即定義的COOKIE信息的數據結構中;步驟220,根據解析到的內容判斷該COOKIE信息是否過期,如果過期則釋放該數據結構中的內容,結束;否則,進行步驟230;步驟230,根據上述返回的COOKIE信息是否包含expires(過期)信息,判斷該COOKIE的類型,如果是會話COOKIE,進行步驟240,否則,是永久COOKIE,進行步驟250;步驟240,獲取會話唯一標志,根據會話唯一標志從WAP網關的緩存中取出該會話所有時間段內的會話COOKIE,根據其訪問的應用服務器的域名和路徑對上述返回的COOKIE進行匹配,如果匹配成功,表示緩存中已經存在與上述返回的COOKIE相匹配的COOKIE,因此更新緩存中的COOKIE;否則,將上述返回的COOKIE添加到緩存中,結束;
步驟250,則從WAP網關的緩存中取出所有的永久COOKIE,根據WAP終端訪問的應用服務器的域名和路徑、終端標識與上述返回的COOKIE進行匹配,如果匹配成功,說明該COOKIE信息已經存在舊的版本,則更新緩存該匹配COOKIE的內容;否則,匹配失敗,保存上述返回的COOKIE到緩存中,結束。
圖3示出了本發明實施例中在WAP終端下線時刪除會話COOKIE的流程,包括以下步驟步驟310,在WAP終端下線時,WAP網關獲取會話COOKIE唯一標志;步驟320,根據會話唯一標志刪除緩存中該終端所有的會話COOKIE,釋放所有的會話COOKIE資源。
圖4示出了本發明實施例中在WAP終端下線時保存永久COOKIE的流程,包括以下步驟步驟410,在WAP終端下線時,WAP網關根據唯一的終端標識從緩存中匹配到該終端的所有永久COOKIE;步驟420,過濾掉過期COOKIE后,將上述永久COOKIE保存到數據庫中,同時從緩存的永久COOKIE中刪除所有與該終端匹配的COOKIE。
保存所有永久COOKIE時,要根據URL名稱和路徑、終端標識與數據庫中的永久COOKIE進行匹配,如果匹配成功,說明該COOKIE信息已經存在舊的版本,則更新數據庫中該匹配COOKIE的內容;否則,匹配失敗,則說明是新COOKIE,保存該COOKIE到數據庫中。
權利要求
1.無線應用協議網關瀏覽業務COOKIE的實現方法,應用于包括無線應用協議WAP終端通過WAP網關訪問應用服務器的系統,該方法包括WAP網關收到WAP終端訪問請求的處理過程,包括以下步驟(a)WAP網關收到WAP終端訪問應用服務器的第一次請求后,獲取該終端的所有永久COOKIE并放入緩存;(b)WAP網關收到后續請求時,根據獲取的會話唯一標志從其緩存中獲取該會話的所有會話COOKIE,然后根據該終端訪問的應用服務器域名和路徑獲取匹配的會話COOKIE,并獲取緩存中匹配的永久COOKIE;(c)WAP網關對獲取的永久COOKIE和會話COOKIE進行整合,構造帶有COOKIE信息的消息發送給該應用服務器;該方法還包括WAP網關收到COOKIE信息的處理過程,包括以下步驟(h)WAP網關收到應用服務器返回的COOKIE信息后,解析所述COOKIE到統一的數據結構中;(i)該WAP網關判斷收到的COOKIE是會話COOKIE還是永久COOKIE,再與緩存中相同類型的COOKIE進行匹配,匹配到時更新緩存中的COOKIE,否則添加該COOKIE到緩存中。
2.如權利要求1所述的方法,其特征在于,所述系統中的WAP網關是分布式設置的且有一個與各個WAP網關連接的數據庫,所述步驟(a)中,WAP終端請求訪問應用服務器后,先判斷該請求是否是終端上線后的第一次請求,如果是,WAP網關先根據WAP終端標識,獲取數據庫中該終端對應的所有永久COOKIE,并與緩存中已有的永久COOKIE進行比較,更新緩存中已有的永久COOKIE或添加新的永久COOKIE到緩存。
3.如權利要求1或2所述的方法,其特征在于,所述步驟(a)中該WAP網關還根據WAP終端訪問的應用服務器的域名以及路徑對緩存中該終端的永久COOKIE進行匹配,將匹配到的永久COOKIE的信息發送給應用服務器。
4.如權利要求1所述的方法,其特征在于,所述步驟(i)中,該WAP網關判斷所述COOKIE的類型,如果是會話COOKIE,將其與該會話所有時間段內的會話COOKIE根據所述應用服務器的域名和路徑進行匹配,如果匹配成功則更新所述COOKIE,否則將其保存入所述WAP網關的緩存;如果所述COOKIE是永久COOKIE,根據所述終端的標識以及所述應用服務器的域名和路徑,將其與所述WAP網關緩存中所有的永久COOKIE進行匹配,如果匹配成功,更新緩存中該匹配COOKIE的內容;否則,保存所述永久COOKIE到所述緩存中。
5.如權利要求4所述的方法,其特征在于,所述步驟(c)中,根據所述COOKIE信息是否包含過期信息來判斷所述COOKIE的類型。
6.如權利要求1所述的方法,其特征在于,在WAP終端下線時,WAP網關獲取會話COOKIE唯一標志,根據該會話唯一標志刪除所述WAP網關緩存中該終端所有的會話COOKIE,釋放所有的會話COOKIE資源。
7.如權利要求1所述的方法,其特征在于,在WAP終端下線時,WAP網關根據唯一的終端標識從所述WAP網關緩存中匹配到該終端的所有永久COOKIE;過濾掉過期COOKIE后,將所述永久COOKIE保存到數據庫中,同時從所述緩存中的永久COOKIE中刪除所有與該終端匹配的COOKIE。
8.如權利要求7所述的方法,其特征在于,保存所有永久COOKIE時,要根據統一資源定位名稱和路徑、終端標識與數據庫中的永久COOKIE進行匹配,如果匹配成功,說明該COOKIE信息已經存在舊的版本,則更新數據庫中該匹配COOKIE的內容;否則,匹配失敗,保存該COOKIE到數據庫中。
9.如權利要求1所述的方法,其特征在于,數據庫要定期檢查并刪除過期的COOKIE。
10.如權利要求1所述的方法,其特征在于,所述步驟(b)中,構造帶有COOKIE的信息之前,先過濾掉過期的COOKIE。
全文摘要
無線應用協議網關瀏覽業務COOKIE的實現方法,WAP網關收到WAP終端訪問應用服務器的第一次請求后,獲取該終端的所有永久COOKIE并放入緩存;WAP網關收到后續請求時,根據獲取的會話唯一標志從其緩存中獲取該會話的所有會話COOKIE,然后根據該應用服務器域名和路徑獲取匹配的會話COOKIE,并獲取緩存中匹配的永久COOKIE;WAP網關整合獲取的永久COOKIE和會話COOKIE,構造帶有COOKIE信息的消息發送給該應用服務器;WAP網關收到應用服務器返回的COOKIE信息后,解析該COOKIE到統一的數據結構中;該WAP網關判斷收到的COOKIE是會話COOKIE還是永久COOKIE,再與緩存中相同類型的COOKIE進行匹配,匹配到時更新緩存中的COOKIE,否則添加該COOKIE到緩存中。
文檔編號H04L29/06GK101039317SQ200610065778
公開日2007年9月19日 申請日期2006年3月14日 優先權日2006年3月14日
發明者吳麗梅 申請人:中興通訊股份有限公司