[發明專利]延長會話壽命裝置和延長會話壽命方法無效
| 申請號: | 201210224444.4 | 申請日: | 2012-06-28 |
| 公開(公告)號: | CN102739680A | 公開(公告)日: | 2012-10-17 |
| 發明(設計)人: | 劉學斌 | 申請(專利權)人: | 用友軟件股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08 |
| 代理公司: | 北京友聯知識產權代理事務所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 100094 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 延長 會話 壽命 裝置 方法 | ||
技術領域
本發明涉及計算機技術領域,具體而言,涉及延長會話壽命裝置和延長會話壽命方法。
背景技術
在電子商務應用中,客戶端采用瀏覽器通過HTTP協議連接到服務器,執行電子商務應用提供的各種交互和業務操作。由于HTTP是無狀態連接,請求-響應完畢后客戶端和服務器之間的鏈接就會斷開。在網絡服務器看來,所有的HTTP請求都獨立于之前的請求。但在實際電子商務應用中,往往需要通過多個HTTP請求完成一個完整的業務,例如客戶購物過程,需要查詢產品、加產品到購物車、輸入收貨信息、付款等多個HTTP請求。在當前WEB服務器的實現中,在服務器端開辟一塊內存即會話(Session)記錄客戶操作的上下文狀態,包括認證、授權、購物車等信息,并與瀏覽器傳送的唯一編號即Cookie?ID協同完成復雜的業務操作。
由于HTTP是無狀態連接,客戶端瀏覽器完全關閉的時候是沒有消息發送給服務器的,服務器不能感知瀏覽器是否關閉,也就不知道什么時候關閉會話。在通用的實現中,往往是依據具體的應用設定一個會話的壽命,例如2小時,如果會話在設定的壽命時間內沒有接到來自客戶端的請求,會話就會自動關閉,并將內存交回服務端的內存垃圾回收器。從中可以看出,即使客戶關閉了瀏覽器,服務端的會話還要在服務端停留一個壽命時間占用內存。若把會話壽命的時間設置過短,則在用戶超過會話壽命的時間沒有任何操作時,服務端會話就會過期銷毀,會話中的狀態信息會丟失,用戶需要重新登錄,影響用戶體驗;若把會話壽命時間設置過長,用戶在長時間沒有請求的情況下服務端的會話還是有效,用戶體驗雖然好了,可是耗費了服務端的內存。
發明內容
基于上述背景技術的考慮,本發明的一個目的是提供一種延長會話壽命裝置,本發明的另一目的是提供一種延長會話壽命方法,既能保證在瀏覽器長時間沒有請求時,會話不會過期;又能在瀏覽器關閉后服務端的會話能快速過期,節省服務器內存資源,增強了系統的穩定性。
根據本發明的一個方面,提供了一種延長會話壽命裝置,包括:定時單元,設置在客戶端中,在瀏覽器開啟時,執行定時任務,向服務器發送心跳請求;壽命延長單元,設置于所述服務器,在接收到所述心跳請求后,延長在所述服務器上建立的會話的壽命,以及在沒有接收到所述心跳請求時,在經過設定壽命時間后,關閉所述會話并釋放所述會話占用的內存。
在用戶離開客戶端或長時間沒有使用瀏覽器時,通過心跳請求來延長會話的壽命,只有在沒有接收到心跳請求時才關閉會話,即保證了會話的使用壽命,又節省了服務器的內存資源,增強了系統的穩定性。
在上述技術方案中,優選的,所述定時單元按照設定時間間隔,定時向所述服務器發送所述心跳請求。例如設置每20分鐘向服務器發送一次心跳請求,無需每時每刻都向服務器發送心跳請求,減少了傳輸網絡的負擔。
在上述技術方案中,優選的,所述定時單元包括計算子單元,根據需延長的壽命時間、所述設定壽命時間和所述設定時間間隔計算出所述心跳請求的次數,所述服務器接收到最后一次所述心跳請求后,經過所述設定壽命時間后關閉所述會話。
假設用戶可能離開客戶端半個小時,希望半個小時回來之后會話仍然存在,則可以設置需延長的壽命時間,根據心跳請求的時間間隔,便可以獲取所需發送的心跳請求的次數,如果在半個小時后用戶沒有回來,則自動關閉該會話,避免了一直按照時間間隔來發送心跳請求的問題,減輕了服務器的負擔。
在上述技術方案中,優選的,所述定時單元在所述定時任務中配置所述需延長的壽命時間、所述設定壽命時間和所述設定時間間隔。
在上述技術方案中,優選的,所述定時單元將所述心跳請求對應的定時任務嵌入Web框架頁面。
當訪問一個新頁面時,會加載定時任務,并依照配置的時間數據計算出該定時任務的總心跳次數,每發送一次心跳請求即執行一個定時任務。
根據本發明的另一方面,還提供了一種延長會話壽命方法,包括:在客戶端瀏覽器開啟時,向服務器發送心跳請求;所述服務器接收到所述心跳請求后,延長在所述服務器上建立的會話的壽命;所述服務器在沒有接收到所述心跳請求時,在經過設定壽命時間后,關閉所述會話并釋放所述會話占用的內存。
在用戶離開客戶端或長時間沒有使用瀏覽器時,通過心跳請求來延長會話的壽命,只有在沒有接收到心跳請求時才關閉會話,即保證了會話的使用壽命,又節省了服務器的內存資源,增強了系統的穩定性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友軟件股份有限公司,未經用友軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201210224444.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種文件的下載、上傳方法及裝置
- 下一篇:傳感網通訊系統





