欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式session服務(wù)系統(tǒng)及方法

文檔序號:7641326閱讀:164來源:國知局
專利名稱:分布式session服務(wù)系統(tǒng)及方法
技術(shù)領(lǐng)域
本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種針對多應(yīng)用下session解決方案的分布式服務(wù)系統(tǒng)及方法。
背景技術(shù)
“session”在計算機領(lǐng)域,尤其是在web(網(wǎng)絡(luò))應(yīng)用中,通常稱為“會話”。具體到web中的session是指用戶在瀏覽某個網(wǎng)站時從進入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過的這段時間,也就是用戶瀏覽這個網(wǎng)站所花費的時間。從上述含義可以看出,session實際上可以理解成一個特定的時間概念。就功能方面來看,session在web應(yīng)用中主要是被用戶用來保持會話期間的一些有用信息;例如登錄session用來存放用戶的登錄狀態(tài),而登錄失敗次數(shù)則對應(yīng)放在存儲登錄失敗次數(shù)的session中等等。
目前針對session的解決方案一般包括客戶端存儲和服務(wù)器存儲兩種。對于前者,客戶端一般是將session放在cookie中,然而由于cookie本身的特點這種方式也會存在相應(yīng)的問題首先,目前cookie每條記錄的大小有所限制(不能超過4k),并且一個域名下最多只能存放20條(IE6) cookie記錄,因而存放的session對象也有數(shù)量和大小的限制;其次,如果session存儲在cookie中,那么用戶每次使用瀏覽器訪問網(wǎng)站時,便要將所有的cookie記錄提交至服務(wù)器,但這些cookie對于服務(wù)器來說并不是全部都有用,所以這種提交cookie記錄的行為會對用戶訪問網(wǎng)頁的速度造成不必要的影響;cookie記錄中存放登錄密碼等敏感信息時需要加密(例如MD5加密),而session對象中又有大量這種類似的敏感信息,如此一來需要進行的客戶端加密和服務(wù)器解密操作不僅會影響機器性能(主要針對要承受大量訪問的服務(wù)器來說)也會影響訪問效率。對于客戶端存儲,業(yè)內(nèi)還出現(xiàn)了 Flash存儲和HTML5本地存儲的解決方案,但兩者對于瀏覽器都有特殊的要求,因此都不能實現(xiàn)通用化的應(yīng)用。至于session的服務(wù)器存儲解決方案,目前對于少應(yīng)用、小訪問量的情況,一般采取的做法是將session直接放在服務(wù)器內(nèi)存中進行存儲,但是如果訪問量聚增的話,內(nèi)存可能就不夠用。另一方面,對于多應(yīng)用、大訪問量的情況,可以采用由N個服務(wù)器節(jié)點同時對客戶端提供session服務(wù)的分布式解決方案,此時必須要考慮的是各節(jié)點之間的session共享問題,目前通常是采用session的同步復(fù)制來實現(xiàn)共享,即每個節(jié)點都需要保持一份session并且要隨時將本節(jié)點的session變化同步到其他所有節(jié)點上,如此一來隨著節(jié)點的增加勢必造成服務(wù)器性能的顯著消耗,而且容易引起廣播風(fēng)暴。

發(fā)明內(nèi)容
本申請的實施例旨在提供一種分布式session服務(wù)系統(tǒng)及方法,以解決現(xiàn)有技術(shù)中session服務(wù)方案存在的上述問題。為實現(xiàn)上述目的,本申請的實施例提供了一種分布式session服務(wù)系統(tǒng),用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè);該系統(tǒng)包括session客戶端及session服務(wù)器,其中,所述session客戶端設(shè)置在各個所述web應(yīng)用服務(wù)器中,用于在所述用戶終端發(fā)起訪問請求時受所述web應(yīng)用服務(wù)器的調(diào)用,在所述session服務(wù)器和/或所述用戶終端中進行session記錄的讀寫操作;所述session服務(wù)器包括配置推送裝置,用于在所述web應(yīng)用服務(wù)器啟動服務(wù)時,將預(yù)設(shè)的session讀寫策略發(fā)送給所述session客戶端;數(shù)據(jù)層裝置,用于存儲由所述session客戶端進行讀寫操作的session記錄;以及權(quán)限控制裝置,用于在所述web應(yīng)用服務(wù)器調(diào)用所述session客戶端根據(jù)所述 session讀寫策略對所述數(shù)據(jù)層裝置存儲的session記錄進行讀寫操作時,控制與各個所述web應(yīng)用服務(wù)器對應(yīng)的session客戶端對特定類型的session記錄的讀寫權(quán)限。本申請的實施例還提供一種分布式session服務(wù)方法,應(yīng)用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè),且對應(yīng)于所述web應(yīng)用服務(wù)器設(shè)置有session客戶端,以及對應(yīng)于所述session客戶端設(shè)置有session服務(wù)器;該方法包括以下步驟在所述web應(yīng)用服務(wù)器啟動服務(wù)時,由所述session服務(wù)器將預(yù)設(shè)的session讀寫策略發(fā)送給所述session客戶端;在所述用戶終端發(fā)起訪問請求時,由所述web應(yīng)用服務(wù)器調(diào)用所述session客戶端根據(jù)所述session讀寫策略,在所述session服務(wù)器中進行session記錄的讀寫操作,并且由所述session服務(wù)器控制與各個所述web應(yīng)用服務(wù)器對應(yīng)的session客戶端對特定類型的session記錄的讀寫權(quán)限;以及由所述session服務(wù)器存儲所述session客戶端進行讀寫操作的session記錄。由上述技術(shù)方案可知,本申請實施例提供的分布式session服務(wù)系統(tǒng)及方法,可以在實現(xiàn)將session記錄集中存儲到服務(wù)器側(cè)的同時,通過讀寫權(quán)限控制實現(xiàn)session記錄在不同類型web應(yīng)用之間的共享;另外,可以實現(xiàn)session讀寫策略從服務(wù)器到客戶端的推送,使得客戶端的web應(yīng)用無需再關(guān)心session記錄的存儲配置。


圖I為本申請分布式session服務(wù)系統(tǒng)的實施例結(jié)構(gòu)框圖;圖2為本申請分布式session服務(wù)方法的實施例流程圖。
具體實施例方式下面將詳細描述本申請的具體實施例。應(yīng)當注意,這里描述的實施例只用于舉例說明,并不用于限制本申請。圖I為本申請分布式session服務(wù)系統(tǒng)的實施例結(jié)構(gòu)框圖,如圖所示,本實施例的分布式session服務(wù)系統(tǒng)包括session服務(wù)器11及session客戶端12,且該系統(tǒng)布置在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器101 104(其上分別啟用了三種web應(yīng)用A C) 一側(cè)。結(jié)合圖I所示可知,在一個實施例中,web應(yīng)用服務(wù)器可以是針對某個類型的web應(yīng)用而分布式設(shè)置的服務(wù)器(例如,針對大業(yè)務(wù)量的web應(yīng)用A提供的服務(wù)器101和102),也可以是分別針對某個類型的web應(yīng)用而設(shè)置的服務(wù)器(例如,分別針對中小業(yè)務(wù)量的web應(yīng)用B、C提供的服務(wù)器103、104),用戶可以通過訪問web應(yīng)用服務(wù)器101 104來瀏覽網(wǎng)頁。進一步如圖I所示,session客戶端12--對應(yīng)地設(shè)置在各個web應(yīng)用服務(wù)器
101 104中,用于在用戶終端發(fā)起訪問web應(yīng)用服務(wù)器的請求時受對應(yīng)web應(yīng)用服務(wù)器的調(diào)用,在session服務(wù)器11和/或用戶終端中進行session記錄的讀寫操作,此處提及的讀寫操作在本說明書中如無特別說明均是指讀取和/或?qū)懭氩僮鳌T谝粋€實施例中,對于session客戶端12在用戶終端中進行session記錄的讀寫操作,可以是在用戶終端瀏覽器的cookie中進行,此時與背景技術(shù)部分所提及利用cookie存儲session的解決方案類似,本技術(shù)方案的重點不在于此,因此不再贅述。結(jié)合后文的描述可知,在一個實施例中,session客戶端12的工作具體包括但不限于以下幾項第一,按一定頻率從session服務(wù) 器11處接收session讀寫策略的前期推送及后續(xù)更新;第二,在根據(jù)session讀寫策略確定將session記錄寫入session服務(wù)器11時,將所在web應(yīng)用服務(wù)器根據(jù)用戶終端的訪問而生成的session信息經(jīng)過序列化、壓縮等處理后,發(fā)送到session服務(wù)器11進行存儲,同時也根據(jù)其所在web應(yīng)用服務(wù)器的調(diào)用對session服務(wù)器11所存儲的session記錄進行讀?。灰约暗谌?,在根據(jù)session讀寫策略確定將session記錄作為cookie寫入用戶終端時,按常規(guī)方法進行處理,例如,還包括根據(jù)session讀寫策略進行cookie中session記錄的加密。接續(xù),在一個實施例中,上述分布式session服務(wù)系統(tǒng)的session服務(wù)器11進一步包括配置推送裝置111、數(shù)據(jù)層裝置112、權(quán)限控制裝置113、數(shù)據(jù)轉(zhuǎn)換裝置114、對象控制裝置115及服務(wù)器監(jiān)控裝置116,下面將對以上各裝置分別進行說明。在一個實施例中,配置推送裝置111用于在web應(yīng)用服務(wù)器101 104啟動各自的web應(yīng)用A C時,將針對各web應(yīng)用A C所預(yù)設(shè)的session讀寫策略發(fā)送給對應(yīng)的session客戶端12。具體來說,在一個實施例中,web應(yīng)用服務(wù)器101 104在啟動各自的web應(yīng)用A C時,session客戶端12可以被配置為自動來讀取配置推送裝置111所要發(fā)送的session讀寫策略,并且配置推送裝置111與session客戶端12之間還可以約定是由前者按需向后者發(fā)送session讀寫策略的更新,或者是由后者按一定時間間隔去讀取前者所存儲的session讀寫策略。在一個實施例中,上述的session讀寫策略主要用于配置哪些類型的session記錄應(yīng)該寫到session服務(wù)器、哪些類型的session記錄應(yīng)該寫到用戶終端的cookie中、以及session記錄寫到cookie時要使用的加密算法等等。進一步,數(shù)據(jù)層裝置112用于存儲由session客戶端進行讀寫操作的session記錄。在一個實施例中,數(shù)據(jù)層裝置112具體是存儲session客戶端12寫入的根據(jù)用戶終端對web應(yīng)用服務(wù)器的訪問而生成的session記錄,以供web應(yīng)用服務(wù)器101 104在用戶終端的后續(xù)訪問中調(diào)用session客戶端12進行讀取和/或?qū)懭?改寫)操作。在一個實施例中,數(shù)據(jù)層裝置112具體包括存儲單元1121及數(shù)據(jù)讀寫單元1122,其中,存儲單元1121單純用于具體session記錄數(shù)據(jù)的存儲,在一個實施例中,其可以采用雙機復(fù)制備份的方式并以一定的數(shù)據(jù)庫格式對session客戶端12寫入的session記錄進行存儲;而數(shù)據(jù)讀寫單元1122則在存儲單元1121的上層,其提供與存儲單元1121的數(shù)據(jù)庫格式對應(yīng)的各種數(shù)據(jù)適配器,并配合session客戶端12對存儲單元1121存儲的session記錄進行讀寫操作。如此一來,本實施例的session服務(wù)系統(tǒng)在session服務(wù)器11中便實現(xiàn)了數(shù)據(jù)底層(即存儲單元1121)與session應(yīng)用的隔離,使得數(shù)據(jù)底層更易維護并且可以任意替換,數(shù)據(jù)底層可以有多種實現(xiàn)方式,例如數(shù)據(jù)庫、BerkeleyDB、KV(Key-Value)存儲等等。在一個實施例中,從性能角度考慮可以選擇KV存儲來提高存儲單元1121的性能,因為KV存儲的模式非常簡單,只有key和value兩個值,于是便能夠通過一些較優(yōu)的數(shù)據(jù)結(jié)構(gòu)(例如B+Tree)來提高檢索速度,并且由于KV存儲所占用的空間非常小,從而可以通過一定的策略先將其放在內(nèi)存中,所有這些都使得KV存儲可以幫助存儲單元1121獲得很高的存儲效率。對應(yīng)于不同類型的數(shù)據(jù)底層實現(xiàn)方式,在一個實施例中,數(shù)據(jù)讀寫單元1122相應(yīng)地也可以設(shè)置多種適配器來適應(yīng)不同類型的數(shù)據(jù)層。接續(xù),在上述session服務(wù)器11中,權(quán)限控制裝置113是在web應(yīng)用服務(wù)器101 104調(diào)用session客戶端12根據(jù)session讀寫策略來訪問數(shù)據(jù)層裝置112存儲的session記錄時,用于控制與各個web應(yīng)用服務(wù)器101 104對應(yīng)的session客戶端12對特定類型session記錄的讀寫權(quán)限。在將session記錄集中存儲于session服務(wù)器11時,針對基于同一個用戶終端對集群設(shè)置的多個web應(yīng)用服務(wù)器101 104的訪問而產(chǎn)生的session記錄,勢必要產(chǎn)生在web應(yīng)用服務(wù)器101 104之間進行共享的需求。本實施例的分布式 session服務(wù)系統(tǒng)中,session共享的解決方案即由權(quán)限控制裝置113控制不同web應(yīng)用服務(wù)器101 104 (也即不同類型的web應(yīng)用A C)對特定類型session記錄的讀寫權(quán)限這一過程來實現(xiàn),從而使得不同類型的web應(yīng)用可以很好地維護session記錄。例如,權(quán)限控制裝置113可以控制登錄應(yīng)用(以圖I中所示的web應(yīng)用A為例)對記錄登錄狀態(tài)信息的session記錄具有讀寫權(quán)限,同時控制其他類型的應(yīng)用對該session記錄只能進行讀取操作,這樣,其他應(yīng)用可以通過讀取該session記錄判斷出用戶的登錄狀態(tài),但卻不能改寫該session記錄而改變用戶的登錄狀態(tài)。在一個實施例中,上述由權(quán)限控制裝置113控制的不同web應(yīng)用服務(wù)器對特定類型session記錄的讀寫權(quán)限配置,也可以以配置文件的形式與前述session讀寫策略一起由配置推送裝置111發(fā)送給web應(yīng)用服務(wù)器101 104對應(yīng)的session客戶端12,由此與各web應(yīng)用服務(wù)器對應(yīng)的session客戶端12在后續(xù)便可以根據(jù)該讀寫權(quán)限配置文件對特定類型的sessi0n記錄進行讀取/寫入操作,從而與此處所述的權(quán)限控制裝置113 —起配合完成后者所要實現(xiàn)的session共享方案。數(shù)據(jù)轉(zhuǎn)換裝置114用于對session客戶端12經(jīng)過格式轉(zhuǎn)換處理后發(fā)送的session記錄進行對應(yīng)的格式反轉(zhuǎn)處理,以便于進行session記錄的存儲。在一個實施例中,為了減少session客戶端12與session服務(wù)器11之間的通信傳輸成本,session客戶端12在寫A session記錄之前可以進行序列化、壓縮等格式轉(zhuǎn)換處理,相應(yīng)地,session服務(wù)器11在收到session客戶端12發(fā)來的數(shù)據(jù)后,便可以通過數(shù)據(jù)轉(zhuǎn)換裝置114對收到的數(shù)據(jù)進行反序列化、解壓縮等格式反轉(zhuǎn)處理,以便將session記錄存儲在數(shù)據(jù)層裝置112中。在一個實施例中,對于session客戶端12從session服務(wù)器11讀取session記錄的過程,可以不必像寫入時那樣反向地依次進行格式轉(zhuǎn)換和反轉(zhuǎn)換的處理,但如果session記錄的數(shù)據(jù)非常大,也可以進行雙向的序列化、壓縮處理。另外,上述分布式session服務(wù)系統(tǒng)實施中的以下裝置也分別在承擔著各自的功能。其中,對象控制裝置115用于控制數(shù)據(jù)層裝置112中所存儲session對象的大小及讀寫頻率,以最大限度保證session服務(wù)器11中session記錄的存儲安全;舉例來說,如果web應(yīng)用服務(wù)器101 104通過session客戶端12寫入了太大的session記錄,則對象控制裝置115可以有權(quán)刪除該對象;又例如,如果針對某個用戶的session記錄寫入操作非常頻繁,則對象控制裝置115可以懷疑是機器操作,從而作出拒絕寫入的處理。再者,服務(wù)器監(jiān)控裝置116用于監(jiān)測session服務(wù)器11中各裝置的運行是否正常,并在捕獲到異常時向系統(tǒng)維護人員發(fā)出警告,從而為上層應(yīng)用的穩(wěn)定性提供了保證,加強了 session服務(wù)的健壯性。本申請的技術(shù)方案還提出一種分布式session服務(wù)方法,應(yīng)用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè),且一一對應(yīng)于web應(yīng)用服務(wù)器設(shè)置有session客戶端,以及對應(yīng)于所有session客戶端設(shè)置有session服務(wù)器,圖2為該方法的實施例流程圖,如圖所示,本實施例的分布式session服務(wù)方法,包括以下步驟S201 S205 S201、在web應(yīng)用服務(wù)器啟動服務(wù)時,由session服務(wù)器將預(yù)設(shè)的session讀寫策略發(fā)送給session客戶端;
S202、在用戶終端發(fā)起訪問請求時,由web應(yīng)用服務(wù)器調(diào)用session客戶端進行session記錄的讀寫操作;并且,session客戶端根據(jù)session服務(wù)器推送的session讀寫策略來確定是在用戶終端還是在session服務(wù)器中進行session記錄的讀寫操作,相應(yīng)地跳轉(zhuǎn)步驟S203和/或S204。S203、在用戶終端中進行session記錄的讀寫操作;如以上分布式session服務(wù)系統(tǒng)實施例中所述的,session客戶端在用戶終端中讀寫session記錄的操作具體可以是在cookie中進行,其方案在背景技術(shù)部分已有提及,此處不再贅述。S204、在session服務(wù)器中進行session記錄的讀寫操作;在一個實施例中,session服務(wù)器可以控制與各個web應(yīng)用服務(wù)器對應(yīng)的session客戶端對特定類型的session記錄的讀寫權(quán)限,以此來實現(xiàn)在多個web應(yīng)用A C之間共享session記錄的目的。具體而言,上述的讀寫權(quán)限是用于限定web應(yīng)用服務(wù)器對特定類型的session能夠進行讀取和寫入操作,或只能進行讀取操作。另外,上述步驟S202中提及可以跳轉(zhuǎn)到步驟S203和/或S204,也即session客戶端可以在用戶終端和session服務(wù)器中選擇其一來寫入session記錄,也可以同時在用戶終端和session服務(wù)器中寫入session記錄。在一個實施例中,對于例如網(wǎng)絡(luò)支付密碼等非常重要的信息,可以考慮加密且僅存儲在用戶終端的cookie中。在另一個實施例中,對于web應(yīng)用服務(wù)在服務(wù)器之間進行遷移的過程,可以設(shè)置一個兼容狀態(tài),在此期間session記錄可以既寫到用戶終端又寫到session服務(wù)器中;而在遷移完畢后,就可以去掉寫入到用戶終端的選擇而僅寫入到session服務(wù)器中??梢岳斫獾氖?,以上所有這些操作,都可以通過由session服務(wù)器向session客戶端下發(fā)、更新session讀寫策略來靈活便利地實現(xiàn)。S205、由session服務(wù)器存儲session客戶端進行讀寫操作的session記錄;在一個實施例中,在步驟S204中session客戶端于session服務(wù)器中進行session記錄的寫入操作之前,可以包括由session客戶端對session記錄進行序列化、壓縮等格式轉(zhuǎn)換處理的步驟;對應(yīng)的,此處在步驟S205中session服務(wù)器存儲session客戶端所寫入session記錄的步驟之前,便可以對session客戶端發(fā)來的數(shù)據(jù)進行反序列化、解壓縮等格式反轉(zhuǎn)處理的步驟,以便進行session記錄的存儲。在一個實施例中,該步驟S205中還包括由session服務(wù)器控制所存儲session記錄的大小及讀寫頻率的步驟,以及監(jiān)測session服務(wù)器中各裝置是否運行正常并在捕獲到異常時向維護人員發(fā)出警告的步驟。以下將結(jié)合前述分布式session服務(wù)系統(tǒng)的實施例對本申請分布式session服務(wù)方法加以進一步描述。在一個實施例中,基于分布式session服務(wù)系統(tǒng)的session服務(wù)方法流程如下(I).首先,web應(yīng)用服務(wù)器101 104啟動各自的web應(yīng)用服務(wù)A C時,通過session客戶端12讀取session服務(wù)器11中配置的session讀寫策略,具體可以由配置推送裝置111將預(yù)設(shè)的session讀寫策略反饋給web應(yīng)用服務(wù)器101 104對應(yīng)的session客戶端12 ;如之前系統(tǒng)實施例所述,在一個實施例中,配置推送裝置111同時還可以將預(yù)設(shè)的不同web應(yīng)用服務(wù)器(也即各不同類型的web應(yīng)用A C)對特定類型session的讀寫權(quán)限配置隨session讀寫策略一起發(fā)送至session客戶端12。結(jié)合參考圖I所示,此處可以設(shè)置web應(yīng)用A (對應(yīng)web應(yīng)用服務(wù)器101 102)對當前session記錄有讀取和寫入的權(quán)限,而web應(yīng)用B、C (分別對應(yīng)web應(yīng)用服務(wù)器103、104)對當前session記錄僅有讀取權(quán)限。(2).接續(xù),在用戶終端通過訪問web應(yīng)用服務(wù)器101(即web應(yīng)用服務(wù)A)來瀏覽網(wǎng)頁的過程中產(chǎn)生某個類型的session記錄時,先由session客戶端12根據(jù)接收到的session讀寫策略來確定該session記錄是寫入用戶終端的cookie中還是寫入session服務(wù)器11中;i).如果是寫入用戶終端的cookie, session客戶端12便可以繼續(xù)根據(jù)session讀寫策略中的加密方式將session記錄加密后寫入用戶終端瀏覽器的cookie中,其方式已 在背景技術(shù)部分有所提及,此處不再贅述;ii).如果是寫入session服務(wù)器11中,則session客戶端12開始向session服務(wù)器11發(fā)起寫入session記錄的操作請求。(3).之后,session服務(wù)器11在收到session客戶端12的session寫入請求時,先由權(quán)限控制裝置113判斷該web應(yīng)用服務(wù)A是否有對該session記錄進行寫入操作的權(quán)限,再由對象控制裝置115判斷要寫入的session記錄大小是否符合預(yù)設(shè)的限制(同時也可以判斷寫入的頻率是否符合預(yù)設(shè)的限制),如果前述兩個判斷都能順利通過,則可以在數(shù)據(jù)轉(zhuǎn)換裝置114對session客戶端12傳送過來的所需要寫入的數(shù)據(jù)進行數(shù)據(jù)轉(zhuǎn)換之后,由數(shù)據(jù)讀寫單元1122寫入到存儲單元1121中。(4).最后,可以理解,在session服務(wù)器11的數(shù)據(jù)層裝置112中寫入session記錄后,web應(yīng)用服務(wù)器101可以類似按照前述流程對相應(yīng)session記錄進行后續(xù)改寫,而所有web應(yīng)用服務(wù)器101 104都可以依照類似流程按需對該session記錄進行讀取。綜上所述,本申請的分布式session服務(wù)系統(tǒng)及方法實施例具有以下特點(I) session讀寫策略的自動推送由session客戶端和session服務(wù)器的配置推送裝置協(xié)作完成session讀寫策略的自動推送,web應(yīng)用服務(wù)器不需要對session方案進行具體配置,而是由session服務(wù)器統(tǒng)一進行session記錄的配置管理;對于web應(yīng)用服務(wù)器101 104所啟用的web應(yīng)用A C來說,不需要關(guān)心session記錄具體存放的位置,相應(yīng)地,各web應(yīng)用A C的業(yè)務(wù)代碼編寫者也不需要得知session記錄的存放位置,只需要按照固定格式的語句對session記錄進行讀寫操作,例如,session記錄的寫入語句可以是session. setAttribute ( “key”,”value”),session 記錄的讀取語句可以是 session.getAttribute ( “key”);并且,session讀寫策略在session服務(wù)器中配置好后,可以由配置推送裝置統(tǒng)一推送到session客戶端所在的所有web應(yīng)用服務(wù)器中去,不需要針對每一個web應(yīng)用服務(wù)器進行session配置的替換操作,從而節(jié)省了人力,降低了系統(tǒng)風(fēng)險。(2). session的集中存儲session可以統(tǒng)一存放到session服務(wù)器,使得session更加安全;并且由于設(shè)置了專用的數(shù)據(jù)層裝置,因此可以存儲更大、內(nèi)容更多的session ;另外,由于session不是全部存放在用戶終端的cookie中,如此一來,用戶通過客戶端訪問服務(wù)器時,不必帶上所有cookie提交到服務(wù)器,因此能夠減小網(wǎng)絡(luò)流量消耗,提升用戶訪問頁面的速度。(3). session的多應(yīng)用共享通過權(quán)限控制裝置控制不同類型的web應(yīng)用對特定 類型session的讀寫權(quán)限,使得多個web應(yīng)用之間可以很好地共享session。(4).數(shù)據(jù)底層讀寫與應(yīng)用隔離數(shù)據(jù)層裝置由單純存儲數(shù)據(jù)的存儲單元及負責(zé)數(shù)據(jù)讀寫操作的數(shù)據(jù)讀寫單元分開配合實現(xiàn),使得數(shù)據(jù)底層更易維護,實現(xiàn)方式也可以更加靈活。(5). session服務(wù)層的健壯性保護通過對象控制裝置及服務(wù)器監(jiān)控裝置的設(shè)置,能夠?qū)Υ嬖陲L(fēng)險的session讀寫操作進行預(yù)防,同時也能隨時捕捉系統(tǒng)的任何異常,從而也為上層web應(yīng)用的穩(wěn)定性提供了保證。雖然已參照幾個典型實施例描述了本申請,但應(yīng)當理解,所用的術(shù)語是說明和示例性、而非限制性的術(shù)語。由于本申請能夠以多種形式具體實施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應(yīng)當理解,上述實施例不限于任何前述的細節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán)利要求所涵蓋。
權(quán)利要求
1.一種分布式session服務(wù)系統(tǒng),用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè);該系統(tǒng)包括session客戶端及session服務(wù)器,其中, 所述session客戶端設(shè)置在各個所述web應(yīng)用服務(wù)器中,用于在所述用戶終端發(fā)起訪問請求時受所述web應(yīng)用服務(wù)器的調(diào)用,在所述session服務(wù)器和/或所述用戶終端中進行session記錄的讀寫操作; 所述session服務(wù)器包括 配置推送裝置,用于在所述web應(yīng)用服務(wù)器啟動服務(wù)時,將預(yù)設(shè)的session讀寫策略發(fā)送給所述session客戶端; 數(shù)據(jù)層裝置,用于存儲由所述session客戶端進行讀寫操作的session記錄;以及 權(quán)限控制裝置,用于在所述web應(yīng)用服務(wù)器調(diào)用所述session客戶端對所述數(shù)據(jù)層裝置存儲的session記錄進行讀寫操作時,控制與各個所述web應(yīng)用服務(wù)器對應(yīng)的session客戶端對特定類型的session記錄的讀寫權(quán)限。
2.如權(quán)利要求I所述的分布式session服務(wù)系統(tǒng),其中所述session服務(wù)器還包括數(shù)據(jù)轉(zhuǎn)換裝置,用于對所述session客戶端經(jīng)過格式轉(zhuǎn)換處理后發(fā)送的session記錄進行對應(yīng)的格式反轉(zhuǎn)處理,以便于進行所述session記錄的存儲。
3.如權(quán)利要求I所述的分布式session服務(wù)系統(tǒng),其中所述session服務(wù)器還包括對象控制裝置,用于控制所述數(shù)據(jù)層裝置中所存儲session記錄的大小及讀寫頻率。
4.如權(quán)利要求I所述的分布式session服務(wù)系統(tǒng),其中所述session服務(wù)器還包括服務(wù)器監(jiān)控裝置,用于監(jiān)測所述session服務(wù)器中各裝置的運行是否正常,并在捕獲到異常時發(fā)出警告。
5.如權(quán)利要求I所述的分布式session服務(wù)系統(tǒng),其中所述數(shù)據(jù)層裝置包括存儲單元及數(shù)據(jù)讀寫單元; 所述存儲單元采用雙機復(fù)制備份的方式以一種或多種數(shù)據(jù)庫格式對所述session記錄進行存儲; 所述數(shù)據(jù)讀寫單元提供與所述存儲單元的數(shù)據(jù)庫格式對應(yīng)的數(shù)據(jù)適配器,并配合所述session客戶端對所述存儲單元存儲的session記錄進行讀寫操作。
6.如權(quán)利要求1-5任一項所述的分布式session服務(wù)系統(tǒng),其中, 所述session讀寫策略用于向所述session客戶端通知以下信息要存儲在所述session服務(wù)器的session類型,以及要存儲在所述用戶終端的session類型及其加密算法; 所述讀寫權(quán)限用于限定所述web應(yīng)用服務(wù)器對特定類型的session記錄能夠進行讀取和寫入操作,或只能進行讀取操作。
7.一種分布式session服務(wù)方法,應(yīng)用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè),且對應(yīng)于所述web應(yīng)用服務(wù)器設(shè)置有session客戶端,以及對應(yīng)于所述session客戶端設(shè)置有session服務(wù)器;該方法包括以下步驟 在所述web應(yīng)用服務(wù)器啟動服務(wù)時,由所述session服務(wù)器將預(yù)設(shè)的session讀寫策略發(fā)送給所述session客戶端; 在所述用戶終端發(fā)起訪問請求時,由所述web應(yīng)用服務(wù)器調(diào)用所述session客戶端根據(jù)所述session讀寫策略,在所述session服務(wù)器中進行session記錄的讀寫操作,并且由所述session服務(wù)器控制與各個所述web應(yīng)用服務(wù)器對應(yīng)的session客戶端對特定類型的session記錄的讀寫權(quán)限;以及 由所述session服務(wù)器存儲所述session客戶端進行讀寫操作的session記錄。
8.如權(quán)利要求7所述的分布式session服務(wù)方法,在所述session客戶端于所述session服務(wù)器中進行session記錄的寫入操作的步驟之前,還包括由所述session客戶端對所述session記錄進行格式轉(zhuǎn)換處理的步驟;對應(yīng)的,在所述session服務(wù)器存儲所述session客戶端寫入的session記錄的步驟之前,還包括由所述session服務(wù)器對經(jīng)過所述session客戶端格式轉(zhuǎn)換處理后發(fā)送的session記錄進行格式反轉(zhuǎn)處理的步驟。
9.如權(quán)利要求7所述的分布式session服務(wù)方法,在所述session服務(wù)器存儲所述session客戶端寫入的session記錄的步驟中,還包括由所述session服務(wù)器控制所存儲session記錄的大小及讀寫頻率的步驟。
10.如權(quán)利要求7-9任一項所述的分布式session服務(wù)方法,其中, 所述session讀寫策略用于向所述session客戶端通知以下信息要存儲在所述session服務(wù)器的session類型,以及要存儲在所述用戶終端的session類型及其加密算法; 所述讀寫權(quán)限用于限定所述web應(yīng)用服務(wù)器對特定類型的session記錄能夠進行讀取和寫入操作,或只能進行讀取操作。
全文摘要
本申請公開了一種分布式session服務(wù)方法,應(yīng)用在基于用戶終端的訪問而提供網(wǎng)絡(luò)頁面服務(wù)的若干個web應(yīng)用服務(wù)器一側(cè),且對應(yīng)于web應(yīng)用服務(wù)器設(shè)有session客戶端,以及對應(yīng)于session客戶端設(shè)有session服務(wù)器;該方法包括以下步驟在web應(yīng)用服務(wù)器啟動服務(wù)時,由session服務(wù)器將預(yù)設(shè)的session讀寫策略發(fā)送給session客戶端;在用戶終端發(fā)起訪問請求時,由web應(yīng)用服務(wù)器調(diào)用session客戶端根據(jù)session讀寫策略確定在用戶終端和/或session服務(wù)器中進行session記錄的讀寫操作;以及由session服務(wù)器存儲session客戶端進行讀寫操作的session記錄。本申請相應(yīng)還公開了一種分布式session服務(wù)系統(tǒng)。本申請實施例提供的分布式session服務(wù)系統(tǒng)及方法,可以在實現(xiàn)將session集中存儲到服務(wù)器的同時,通過session的讀寫權(quán)限控制實現(xiàn)在不同類型web應(yīng)用之間的session共享。
文檔編號H04L29/08GK102752323SQ20111009624
公開日2012年10月24日 申請日期2011年4月18日 優(yōu)先權(quán)日2011年4月18日
發(fā)明者錢超 申請人:阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
海南省| 五华县| 健康| 洱源县| 贵州省| 曲周县| 潞西市| 喀喇| 冷水江市| 阿克陶县| 宜阳县| 察哈| 喀喇沁旗| 双桥区| 高州市| 开原市| 杭州市| 井冈山市| 叙永县| 海南省| 牟定县| 和政县| 湖口县| 赤峰市| 绥宁县| 秭归县| 自治县| 河西区| 壤塘县| 五台县| 乌兰察布市| 台东县| 怀安县| 西盟| 昌乐县| 乌苏市| 南汇区| 巴东县| 绥棱县| 丹棱县| 华池县|