,所述會話信息以鍵值對的形式存放在服務(wù)器的內(nèi)存中;
步驟(C),如圖2所示,當(dāng)任意集群節(jié)點(diǎn)的會話信息發(fā)生更改時,此集群節(jié)點(diǎn)首先更改本集群節(jié)點(diǎn)的會話信息,并通知其他在線的集群節(jié)點(diǎn)更新指定的會話信息;
步驟(D),如圖2所示,當(dāng)任意集群節(jié)點(diǎn)檢測到來訪的客戶端退出時,此集群節(jié)點(diǎn)首先銷毀本集群節(jié)點(diǎn)的會話信息,并通知其他在線的集群節(jié)點(diǎn)銷毀指定的會話信息;
步驟(F),各集群節(jié)點(diǎn)定時清理超時的會話信息,以釋放服務(wù)器的內(nèi)存資源,如圖2所示,包括以下步驟,
(F1)各集群節(jié)點(diǎn)遍歷本節(jié)點(diǎn)內(nèi)的會話信息;
(F2)根據(jù)服務(wù)器配置的會話信息失效時間、最后一次更新該會話信息的時間以及當(dāng)前服務(wù)器的時間,判斷會話信息是否超時,若會話信息超時,則進(jìn)行清理刪除。
[0016]如圖3所示,本發(fā)明的的基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法的一個【具體實(shí)施方式】,
步驟(1),客戶端2第一次訪問集群服務(wù)時,負(fù)載均衡服務(wù)將本次請求分發(fā)到集群節(jié)點(diǎn)2上,集群節(jié)點(diǎn)2將為客戶端2創(chuàng)建會話信息,并生成會話標(biāo)識(集群節(jié)點(diǎn)2的IP+會話ID),將會話ID、會話信息以鍵、值對的形式存放在內(nèi)存中,并將會話標(biāo)識信息返回給客戶端2 ;
(2)客戶端2再次訪問集群服務(wù)時,負(fù)載均衡服務(wù)將本次請求分發(fā)到集群節(jié)點(diǎn)N上(N可以是2也可以是其他集群節(jié)點(diǎn)),集群節(jié)點(diǎn)N根據(jù)客戶端2攜帶的會話標(biāo)識信息,解析出集群節(jié)點(diǎn)2的IP和會話ID,并根據(jù)會話ID在內(nèi)存中查找對應(yīng)的會話信息,若找到,則將會話信息返回;否則,根據(jù)集群節(jié)點(diǎn)2的IP到集群節(jié)點(diǎn)2上獲取會話ID對應(yīng)的會話信息,并將該會話ID、會話信息以鍵、值對的形式存放在內(nèi)存中,同時返回會話信息;
(3)當(dāng)某個集群節(jié)點(diǎn)(如集群節(jié)點(diǎn)2)更新了會話信息時,集群節(jié)點(diǎn)2通知其他在線的集群節(jié)點(diǎn)更新會話信息,集群節(jié)點(diǎn)2獲取所有在線的集群節(jié)點(diǎn),并遠(yuǎn)程調(diào)用集群節(jié)點(diǎn)的更新會話接口,根據(jù)會話ID更新會話信息;
(4)當(dāng)某個集群節(jié)點(diǎn)(如集群節(jié)點(diǎn)2)檢測到客戶端退出時,集群節(jié)點(diǎn)2刪除本機(jī)的會話信息(直接從內(nèi)存中根據(jù)會話ID刪除即可),并通知其他在線的集群節(jié)點(diǎn)刪除對應(yīng)的會話信息,集群節(jié)點(diǎn)2獲取所有在線的集群節(jié)點(diǎn),并遠(yuǎn)程調(diào)用集群節(jié)點(diǎn)的刪除會話接口,根據(jù)會話ID刪除會話信息;
(5)各個集群節(jié)點(diǎn)定時清理無效的會話信息,以釋放無效的會話信息所占用的內(nèi)存信息,會話信息是以鍵值對的形式存放在內(nèi)存中的,各個集群節(jié)點(diǎn)遍歷本節(jié)點(diǎn)內(nèi)的會話信息,并根據(jù)服務(wù)器配置的會話失效時間和最后一次更新該會話的時間以及當(dāng)前服務(wù)器的時間,判斷會話是否超時,若會話超時則刪除。
[0017]綜上所述,本發(fā)明的基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法,解決了基于Cookies的會話保持方案中存在的訪問緩慢和安全隱患等問題,也解決了基于數(shù)據(jù)庫的會話保持方案的性能瓶頸,同時也解決了基于分布式緩存的會話保持方案中部署和開發(fā)難度大的問題,本發(fā)明將會話標(biāo)識信息存放在客戶端中,避免了在客戶端中存放完整的會話信息,從而可防止用戶身份信息暴露的安全隱患;同時,在客戶端向服務(wù)器發(fā)送請求的過程中,只攜帶會話標(biāo)識信息,而不是完整的會話信息,傳輸?shù)臄?shù)據(jù)量將大大減少,提高了客戶端對服務(wù)器的訪問效率,各集群節(jié)點(diǎn)間同步會話信息,不需要從數(shù)據(jù)庫中獲取會話信息,避免了頻繁使用數(shù)據(jù)庫帶來的性能瓶頸;也不需要使用專門的會話緩存服務(wù)器,減低了開發(fā)和部署成本,并具有良好的應(yīng)用前景。
[0018]以上顯示和描述了本發(fā)明的基本原理、主要特征及優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
【主權(quán)項(xiàng)】
1.基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法,其特征在于:包括以下步驟, 步驟(A),在客戶端第一次訪問集群服務(wù)時,當(dāng)前服務(wù)的集群節(jié)點(diǎn)為客戶端創(chuàng)建一個會話并保存在本集群節(jié)點(diǎn)的內(nèi)存中,并將會話標(biāo)識信息反饋給來訪的客戶端,該客戶端接收并保存會話標(biāo)識信息,所述會話標(biāo)識信息包括會話ID和當(dāng)前服務(wù)的集群節(jié)點(diǎn)IP; 步驟(B),當(dāng)該客戶端再次訪問集群服務(wù)時,需要攜帶會話標(biāo)識信息,當(dāng)前服務(wù)的集群節(jié)點(diǎn)根據(jù)接收到客戶端攜帶的會話標(biāo)識信息解析出該會話的集群節(jié)點(diǎn)IP和會話ID,并查看本集群節(jié)點(diǎn)內(nèi)是否存在該會話ID,若存在,則根據(jù)該會話ID獲取對應(yīng)的會話信息;否則,根據(jù)創(chuàng)建該會話的集群節(jié)點(diǎn)IP和會話ID到對應(yīng)的集群節(jié)點(diǎn)上同步會話信息,并保存在當(dāng)前服務(wù)的集群節(jié)點(diǎn)上; 步驟(C),當(dāng)任意集群節(jié)點(diǎn)的會話信息發(fā)生更改時,此集群節(jié)點(diǎn)首先更改本集群節(jié)點(diǎn)的會話信息,并通知其他在線的集群節(jié)點(diǎn)更新指定的會話信息; 步驟(D),當(dāng)任意集群節(jié)點(diǎn)檢測到來訪的客戶端退出時,此集群節(jié)點(diǎn)首先銷毀本集群節(jié)點(diǎn)的會話信息,并通知其他在線的集群節(jié)點(diǎn)銷毀指定的會話信息; 步驟(F),各集群節(jié)點(diǎn)定時清理超時的會話信息,以釋放服務(wù)器的內(nèi)存資源。2.根據(jù)權(quán)利要求1所述的基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法,其特征在于:步驟(B),根據(jù)創(chuàng)建該會話的集群節(jié)點(diǎn)IP和會話ID到對應(yīng)的集群節(jié)點(diǎn)上同步會話信息,并保存在當(dāng)前服務(wù)的集群節(jié)點(diǎn)上,所述會話信息以鍵值對的形式存放在服務(wù)器的內(nèi)存中。3.根據(jù)權(quán)利要求1所述的基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法,其特征在于:步驟(F),各集群節(jié)點(diǎn)定時清理超時的會話信息,以釋放服務(wù)器的內(nèi)存資源,包括以下步驟, (F1)各集群節(jié)點(diǎn)遍歷本節(jié)點(diǎn)內(nèi)的會話信息; (F2)根據(jù)服務(wù)器配置的會話信息失效時間、最后一次更新該會話信息的時間以及當(dāng)前服務(wù)器的時間,判斷會話信息是否超時,若會話信息超時,則進(jìn)行清理刪除。
【專利摘要】本發(fā)明公開了一種基于集群節(jié)點(diǎn)間即時拷貝的會話同步方法,將會話標(biāo)識信息存放在客戶端中,避免了在客戶端中存放完整的會話信息,從而可防止用戶身份信息暴露的安全隱患;同時,在客戶端向服務(wù)器發(fā)送請求的過程中,只攜帶會話標(biāo)識信息,而不是完整的會話信息,傳輸?shù)臄?shù)據(jù)量將大大減少,提高了客戶端對服務(wù)器的訪問效率,各集群節(jié)點(diǎn)間同步會話信息,不需要從數(shù)據(jù)庫中獲取會話信息,避免了頻繁使用數(shù)據(jù)庫帶來的性能瓶頸;也不需要使用專門的會話緩存服務(wù)器,減低了開發(fā)和部署成本,并具有良好的應(yīng)用前景。
【IPC分類】H04L29/08
【公開號】CN105472002
【申請?zhí)枴緾N201510899268
【發(fā)明人】曹海濤, 胡牧, 蔣厚明, 王俊, 羅玉盤, 王海濤, 張凱, 顧學(xué)海, 陳星明
【申請人】國家電網(wǎng)公司, 南京南瑞集團(tuán)公司, 南京南瑞信息通信科技有限公司
【公開日】2016年4月6日
【申請日】2015年12月9日