[發(fā)明專利]一種基于NoSQL的分布式Session管理的方法及裝置有效
| 申請?zhí)枺?/td> | 201710864855.2 | 申請日: | 2017-09-22 |
| 公開(公告)號: | CN109547512B | 公開(公告)日: | 2021-09-03 |
| 發(fā)明(設計)人: | 李海傳;郭岳;方煒;余兆成;羅瓊;鄭海朋;陳潤泉;劉兆祥 | 申請(專利權)人: | 中國移動通信集團浙江有限公司;中國移動通信集團公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 310016 *** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 nosql 分布式 session 管理 方法 裝置 | ||
本發(fā)明實施例提供一種基于NoSQL的分布式Session管理的方法及裝置,該方法包括:接收客戶端發(fā)送的會話請求,并在會話請求中獲取會話請求的操作類型和會話請求的sessionID;若會話請求為寫操作,則將會話請求路由至集群服務器的master節(jié)點,以供所述master節(jié)點存儲sessionID和會話請求攜帶的session數據并供所述master節(jié)點將sessionID和session數據同步到集群服務器的每個slave節(jié)點;若所述會話請求為讀操作,則在判斷獲知所述sessionID對應的session數據已完成同步后,將所述會話請求按照預設的負載均衡策略路由至slave節(jié)點,以供所述客戶端根據所述sessionID在所述slave節(jié)點上讀取與所述sessionID對應的所述session數據。本發(fā)明實施例能夠保證數據同步時的一致性,并且在高并發(fā)場景下也能夠高性能地提供服務,業(yè)務性能高。
技術領域
本發(fā)明實施例涉及互聯(lián)網通信技術領域,尤其涉及一種基于NoSQL的分布式Session管理的方法及裝置。
背景技術
Session即會話控制,代表應用服務器與客戶端之間的一次會話過程,一般用于控制用戶登錄的超時時間,以及存放用戶登陸相關的信息。在單應用服務器時,Session信息可以存在應用服務器的jvm內存中,讀寫都是通過同一臺應用服務器。但是在分布式環(huán)境下,客戶端的請求會被負載均衡到多臺應用服務器,因此需要有一種機制來解決應用服務器之間的Session數據共享問題。
現有分布式Session管理方案一:基于瀏覽器Cookie的Session共享。此方案將Session信息存儲到瀏覽器的Cookie中,又稱為客戶端Session,頁面發(fā)起請求時將Cookie中的內容一并發(fā)送到Web服務器。
現有分布式Session管理方案二:基于傳統(tǒng)數據庫的Session共享。此方案將Session信息存儲到關系型數據庫中,不同應用服務器通過訪問該數據庫來實現Session信息的共享。該方案實現簡單,例如Tomcat的PersistentManager直接支持JDBC數據庫存儲。
現有分布式Session管理方案三:基于應用服務器/Servlet容器的Clustering機制。此方案將存在單臺應用服務器上的Session信息,通過Session復制機制,同步給集群中的其他應用服務器。一些常用的應用服務器及Servlet容器的Clustering機制可以實現Session復制的功能,例如Tomcat Clustering/Session Replication、Jboss buddyreplication。
現有分布式Session管理方案四:基于NFS的Session共享。此方案和方案二類似,將Session信息存儲到NFS中,各臺服務器只需要掛載共享服務器的存儲Session的磁盤即可,實現較為簡單。
現有分布式Session管理方案五:基于Redis的Session共享。此方案將Session信息存到Redis內存數據庫中,Redis采用一主多從的架構來保證服務的高可用,讀寫分別映射到主從上,主從間的數據同步通過異步方式進行。
現有方案中,方案一的缺點是Cookie只能夠存儲字符串、數值等基本類型的數據,并且大小、數量存在限制;由于每次請求都要傳輸Cookie信息,帶寬及網絡傳輸性能會有一定影響;安全性方面也有問題,容易被竊取、篡改。
方案二中,數據庫服務器相對于應用服務器更難擴展且資源更為寶貴,在高并發(fā)的Web應用中,最大的性能瓶頸通常在于數據庫服務器。因此如果將Session存儲到數據庫表,高并發(fā)操作時很容易造成數據庫表爭用及加鎖,影響業(yè)務性能。
方案三的缺點是基于Clustering的Session復制性能較差,可擴展性不高。
方案四的缺點是NFS對高并發(fā)讀寫的性能不高,在硬盤I/O性能和網絡帶寬上存在較大瓶頸,尤其是對于Session這樣的小文件頻繁讀寫操作的場景。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國移動通信集團浙江有限公司;中國移動通信集團公司,未經中國移動通信集團浙江有限公司;中國移動通信集團公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710864855.2/2.html,轉載請聲明來源鉆瓜專利網。





