亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法

文檔序號:7862869閱讀:720來源:國知局
專利名稱:一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種通過數(shù)據(jù)識別版本號節(jié)省網(wǎng)站訪問資源的方法。
背景技術(shù)
對于一個網(wǎng)站來說,客戶端瀏覽器向網(wǎng)站服務(wù)器提出請求,網(wǎng)站服務(wù)器根據(jù)此請求將要做一系列的處理從數(shù)據(jù)庫服務(wù)器取得相關(guān)數(shù)據(jù),渲染形成相應(yīng)的頁面文件,并返回給客戶端瀏覽器。因此網(wǎng)站的用戶訪問量越大,那么網(wǎng)站服務(wù)器所消耗的帶寬資源以及計算資源也越大。為了節(jié)省網(wǎng)站服務(wù)器所消耗的帶寬資源,目前業(yè)界也研究出一些方法來減少網(wǎng)站服務(wù)器的數(shù)據(jù)傳輸量以及運算量,但都存在一些缺陷。·
如在Java中Spring Framework提供的實現(xiàn)方法,需要網(wǎng)站服務(wù)器在渲染完成頁面內(nèi)容的生成后,對即將返回客戶端瀏覽器的完整頁面字節(jié)數(shù)據(jù)進行MD5碼加密,利用MD5加密完成的字符串做為ETAG的標識符。這種處理方式要求對于每次客戶端瀏覽器的請求,網(wǎng)站服務(wù)器必須完成所有的邏輯運算,包括渲染訪問頁面的內(nèi)容,完成這些之后,同瀏覽器傳遞的ETAG互相比較,才能夠判斷出該頁面是否已經(jīng)被客戶端緩存,因此,這種方法并不會節(jié)省網(wǎng)站服務(wù)器的計算資源,尤其是在高訪問量的情況下,由于網(wǎng)站服務(wù)器需要對每次請求都必須處理所有的邏輯運算,雖然減少了對互聯(lián)網(wǎng)傳輸帶寬資源的占用,但對網(wǎng)站服務(wù)器訪問壓力降低并無幫助。專利“WEB頁面數(shù)據(jù)的提供方法、WEB服務(wù)器及WEB應(yīng)用系統(tǒng)”(專利申請?zhí)?00910252576. 6),此專利提出了一種方法當WEB服務(wù)器獲得客戶端發(fā)出的對頁面的請求時,WEB服務(wù)器先判斷是否已經(jīng)向客戶端提供過相同頁面的元素數(shù)據(jù),如果提供過,WEB服務(wù)器只向客戶端提供相同WEB頁面的當前業(yè)務(wù)數(shù)據(jù),通過這種方法減少WEB服務(wù)器與客戶端之間的交互的數(shù)據(jù)量,從而避免對帶寬資源的浪費。但此方法的問題在于客戶端展示頁面的邏輯復(fù)雜,客戶端瀏覽器從WEB服務(wù)器獲得新的業(yè)務(wù)數(shù)據(jù),然后與之前的客戶端瀏覽器獲得的元素數(shù)據(jù)進行合成,形成新的WEB頁面,這需要客戶端瀏覽器執(zhí)行大量JavaScript邏輯運算,來合成最終的展示頁面,針對客戶端上各種不同瀏覽器,在兼容性方面需要做大量的測試和修改,實現(xiàn)難度較高;另外,當WEB服務(wù)器升級新的網(wǎng)站版本后,其頁面元素數(shù)據(jù)也同時發(fā)生改變,需要通知瀏覽器全部更新所有頁面元素數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),處理方式比較復(fù)雜。而且,不管WEB服務(wù)器是否向客戶端瀏覽器提供過相同的WEB頁面,WEB服務(wù)器都必須每次向客戶端瀏覽器傳送業(yè)務(wù)數(shù)據(jù),這在減少交互的數(shù)據(jù)量方面實現(xiàn)不充分。因此,如何充分、快捷地節(jié)省網(wǎng)站服務(wù)器的訪問資源,特別是帶寬資源和計算資源,對于高訪問量的網(wǎng)站來說是十分必要的
發(fā)明內(nèi)容
針對有效減少網(wǎng)站服務(wù)器訪問資源占用問題,本發(fā)明提出了一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法及系統(tǒng)。本發(fā)明公開了一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法,技術(shù)方案如下,包括
網(wǎng)站服務(wù)器接收客戶端瀏覽器的請求,根據(jù)請求中需要的數(shù)據(jù),訪問數(shù)據(jù)庫服務(wù)器,取得對應(yīng)的多條數(shù)據(jù)記錄的數(shù)據(jù)識別版本號以及當前的網(wǎng)站發(fā) 布版本號。所述數(shù)據(jù)識別版本號由數(shù)據(jù)版本號與數(shù)據(jù)記錄ID相結(jié)合,就可以形成唯一數(shù)據(jù)識別版本號,用以識別數(shù)據(jù)記錄與此記錄當前的數(shù)據(jù)版本號。所述數(shù)據(jù)版本號指在數(shù)據(jù)庫中,某條數(shù)據(jù)記錄發(fā)生改變后,數(shù)據(jù)庫通過事先定義好的觸發(fā)器為數(shù)據(jù)記錄生成唯一的數(shù)據(jù)版本的標識。數(shù)據(jù)識別版本號以及當前的網(wǎng)站發(fā)布版本號按照固定的順序組成網(wǎng)站識別版本號,并對網(wǎng)站識別版本號采取單向加密的方式,生成唯一加密字符串。網(wǎng)站服務(wù)器把加密字符串以及展示頁面的數(shù)據(jù)傳送給客戶端瀏覽器。瀏覽器建立加密字符串與展示頁面的對應(yīng)關(guān)系,并且,通過將展示頁面做為javascript中的document對象,采用鍵值對(KEY :加密字符串,VALUE document對象(對應(yīng)展示頁面))的方式緩存在瀏覽器中。在多次請求服務(wù)器不同URL的情況下,客戶端瀏覽器實際上會緩存多個不同的document對象,對應(yīng)多個不同的展示頁面。當瀏覽器再次向網(wǎng)站服務(wù)器提出相同的頁面訪問請求(URL以及提交內(nèi)容一致)時,瀏覽器將之前獲得的加密字符串傳送給網(wǎng)站服務(wù)器。網(wǎng)站服務(wù)器接收客戶端瀏覽器請求后,再次根據(jù)請求頁面中需要的數(shù)據(jù),訪問數(shù)據(jù)庫服務(wù)器,取得需要展示的數(shù)據(jù)記錄ID、數(shù)據(jù)版本號以及當前網(wǎng)站發(fā)布版本號,把他們按照固定順序組合成網(wǎng)站識別版本號后,對網(wǎng)站識別版本號進行單向加密,生成新的加密字符串。然后把新生成的加密字符串與從客戶端瀏覽器接收的加密字符串進行比較,如果比較后結(jié)果相同,則網(wǎng)站服務(wù)器直接通知客戶端瀏覽器提取緩存中的對應(yīng)此加密字符串的document對象,從而展示與此相對應(yīng)的頁面。如果加密字符串比較后結(jié)果不同,則網(wǎng)站服務(wù)器重新根據(jù)新的數(shù)據(jù)集合生成新的頁面?zhèn)魉徒o客戶端瀏覽器,并同時傳送給瀏覽器新的加密字符串。客戶端根據(jù)服務(wù)器返回的信息,或者展示在瀏覽器緩存中的頁面內(nèi)容,或者展示服務(wù)器新傳送過來的頁面內(nèi)容,并保存新的加密字符串與新的展示頁面以及兩者之間的對應(yīng)關(guān)系。為了解決上述問題,本發(fā)明還公開了一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的系統(tǒng),本系統(tǒng)包括客戶端瀏覽器、網(wǎng)站服務(wù)器以及數(shù)據(jù)庫服務(wù)器組成。客戶端瀏覽器包括多頁面緩存器、渲染器。多頁面緩存器,用于緩存網(wǎng)站服務(wù)器返回的頁面。通過將展示頁面做為javascript中的document對象,采用鍵值對(KEY :加密字符串,VALUE document對象(對應(yīng)展示頁面))的方式緩存在瀏覽器多頁緩存器中,在多次請求服務(wù)器不同URL的情況下,多頁面緩存器實際上會緩存多個不同的document對象,對應(yīng)多個不同的展示頁面。渲染器,用于展示網(wǎng)站服務(wù)器返回的頁面,或者是展示從多頁面緩存器中調(diào)用的頁面。網(wǎng)站服務(wù)器主要包括請求接收器、分析器、網(wǎng)站識別版本號生成器、加密器、比較器、邏輯運算器、數(shù)據(jù)發(fā)送器。請求接收器,用于網(wǎng)站服務(wù)器接收客戶端瀏覽器的頁面請求,其中包含有瀏覽器上次緩存的同頁面加密字符串,并把接收的請求信息交給分析器。分析器,用于根據(jù)瀏覽器請求頁面中需要的數(shù)據(jù),從而決定準備訪問數(shù)據(jù)庫服務(wù)器時需要取得的數(shù)據(jù)信息,然后訪問數(shù)據(jù)庫服務(wù)器,取得頁面展示所需要的相關(guān)數(shù)據(jù)記錄ID、數(shù)據(jù)版本號,以及當前網(wǎng)站發(fā)布版本號,并把這些數(shù)據(jù)信息傳送給網(wǎng)站識別版本號生成器。網(wǎng)站識別版本號生成器,在接收到分析器發(fā)來的數(shù)據(jù)記錄ID、數(shù)據(jù)版本號、當前網(wǎng) 站發(fā)布版本號后,先把數(shù)據(jù)記錄ID和該數(shù)據(jù)記錄的數(shù)據(jù)版本號按照固定的順序組合成數(shù)據(jù)識別版本號,再把數(shù)據(jù)識別版本號與網(wǎng)站發(fā)布版本號按照固定順序組合成網(wǎng)站識別版本號,然后把新生成的網(wǎng)站版本號傳送給加密器。加密器,用于對網(wǎng)站識別版本號進行單向加密,形成加密字符串。比較器,用于把新生成的加密字符串與從客戶端瀏覽器接收的同頁面加密字符串進行比較。比較結(jié)果不同,則通過邏輯運算器進行工作,如果相同,則調(diào)用數(shù)據(jù)發(fā)送器。邏輯運算器,用于在加密字符串比較后結(jié)果不同的情況下,則網(wǎng)站服務(wù)器重新根據(jù)新的數(shù)據(jù)集合進行邏輯運算,生成新的頁面,把新的頁面數(shù)據(jù)和新的加密字符串傳送給數(shù)據(jù)發(fā)送器。數(shù)據(jù)發(fā)送器,在比較后結(jié)果相同的情況下,直接通知客戶端瀏覽器提取多頁緩存器中的對應(yīng)此加密字符串的document對象,從而展示與此相對應(yīng)的頁面。在比較后結(jié)果不同的情況下,把接收到的新的頁面數(shù)據(jù)和新的加密字符串傳送給客戶端瀏覽器。數(shù)據(jù)庫服務(wù)器,用于管理網(wǎng)站的各種數(shù)據(jù)信息。本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點
I、通過網(wǎng)站識別版本號來判別頁面內(nèi)容是否更新,把客戶端瀏覽器發(fā)送給網(wǎng)站服務(wù)器的加密字符串與網(wǎng)站服務(wù)器新生成的加密字符串做比較,如果比較結(jié)果相同,網(wǎng)站服務(wù)器將提示客戶端瀏覽器直接使用緩存頁面,節(jié)省了網(wǎng)站服務(wù)器的帶寬資源。2、因為網(wǎng)站服務(wù)器接收到客戶端瀏覽器的頁面請求后,首先比較加密字符串來判斷頁面內(nèi)容是否更新,解決了在現(xiàn)有技術(shù)中,網(wǎng)站服務(wù)器必須先完成所有的邏輯運算后,才判斷該頁面是否已經(jīng)被客戶端瀏覽器緩存的問題,節(jié)約了網(wǎng)站服務(wù)器的計算資源。3、專利“WEB頁面數(shù)據(jù)的提供方法、WEB服務(wù)器及WEB應(yīng)用系統(tǒng)”(專利申請?zhí)?00910252576. 6)中存在的問題無法解決元素數(shù)據(jù)發(fā)生改變,業(yè)務(wù)數(shù)據(jù)不發(fā)生改變時客戶端瀏覽器展示內(nèi)容的同步更新。本發(fā)明方法在網(wǎng)站頁面元素數(shù)據(jù)發(fā)生改變而業(yè)務(wù)數(shù)據(jù)沒有變化的情況,通過比較加密字符串中網(wǎng)站發(fā)布版本號,保證加密字符串發(fā)生變化時,瀏覽器會立即展示最新頁面,提高了瀏覽器的實時展示效果。4、本發(fā)明對網(wǎng)站識別版本號采取單向加密的方式,生成加密字符串,使黑客無法通過加密字符串內(nèi)容猜測出原來網(wǎng)站識別版本號,有利于提高數(shù)據(jù)傳輸?shù)陌踩?、本發(fā)明將展示頁面做為javascript中的document對象,采用鍵值對的方式緩存在瀏覽器中。這樣在多次請求服務(wù)器不同URL的情況下,客戶端瀏覽器實際上會緩存多個不同的document對象,對應(yīng)多個不同的展示頁面,有利于進一步提高瀏覽器的訪問速度,減少對網(wǎng)站服務(wù)器訪問資源的占用。6、本發(fā)明通用性強,避免了在現(xiàn)有專利方法中需要考慮各種不同瀏覽器之間兼容性的問題,方便應(yīng)用到各種第三方網(wǎng)站中。


圖I為本發(fā)明實施例處理流程。圖2為本發(fā)明實施例加密字符串生成流程。圖3為本發(fā)明實施例系統(tǒng)結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面對本發(fā)明實施例中涉及的一些術(shù)語做簡單解釋。ETAG =ETAG是URL的Entity Tag,用于標示URL對象是否改變,區(qū)分不同語言和Session等。HTTP協(xié)議規(guī)格說明定義ETAG為“被請求變量的實體值”,ETAG是一個可以與Web資源關(guān)聯(lián)的記號(token),典型的Web資源可以是一個Web頁面,也可能是JSON或XML文檔。HTTP狀態(tài)碼304 Not Modified :簡稱304狀態(tài),表示對應(yīng)的WEB資源沒有被修改??蛻舳擞芯彌_的文檔,并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務(wù)器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。當網(wǎng)站服務(wù)器返回HTTP應(yīng)答且狀態(tài)碼為304,客戶端瀏覽器使用緩存的頁面展示給用戶。HTTP狀態(tài)碼200 OK :簡稱200狀態(tài),表示客戶端瀏覽器請求成功,請求所希望的響應(yīng)頭或數(shù)據(jù)體將此響應(yīng)返回。Ajax: S卩“Asynchronous JavaScript and XML”(異步 JavaScript 和 XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。通過Ajax技術(shù),向服務(wù)端請求URL,并且在客戶端緩存相應(yīng)訪問得到的具體頁面。數(shù)據(jù)版本號在數(shù)據(jù)庫中,每條數(shù)據(jù)代表某種實體,通常在數(shù)據(jù)庫中,每次數(shù)據(jù)實體的內(nèi)容發(fā)生了一次變化,數(shù)據(jù)實體版本號發(fā)生了變化,因此添加數(shù)據(jù)實體是一次變化,修改數(shù)據(jù)實體內(nèi)容也是一次變化,刪除數(shù)據(jù)實體也是一次變化,對于刪除數(shù)據(jù)實體,并不采取真的去在數(shù)據(jù)庫中刪除數(shù)據(jù)實體,而是簡單的將數(shù)據(jù)實體中的標志位標記為刪除,因此每條數(shù)據(jù)只要存在,都會有自己唯一的數(shù)據(jù)識別版本號。數(shù)據(jù)發(fā)生改變后,數(shù)據(jù)庫通過事先定義好的觸發(fā)器為它生成唯一的數(shù)據(jù)版本號,根據(jù)數(shù)據(jù)版本號的不同,就可以通過數(shù)據(jù)實體中的數(shù)據(jù)版本號字段識別出數(shù)據(jù)實體是否發(fā)生了改變。因此當同一條記錄兩次取得的數(shù)據(jù)版本號相同時,則可以判定此數(shù)據(jù)實體沒有變化,當兩次取的數(shù)據(jù)版本號不同時,就可以判定數(shù)據(jù)實體發(fā)生了變化。數(shù)據(jù)記錄ID :對于某一條數(shù)據(jù)記錄,如何識別數(shù)據(jù)記錄的唯一性?通過給每一條數(shù)據(jù)記錄分配一個唯一的數(shù)據(jù)記錄ID,就可以根據(jù)數(shù)據(jù)記錄ID是否相同來判斷是否為同
一條數(shù)據(jù)記錄。數(shù)據(jù)識別版本號數(shù)據(jù)版本號同數(shù)據(jù)記錄ID相結(jié)合,就可以形成唯一數(shù)據(jù)識別版本號,用以識別數(shù)據(jù)記錄與此記錄當前的數(shù)據(jù)版本號。在一條數(shù)據(jù)記錄發(fā)生變化時,形成一元數(shù)據(jù)識別版本號,它由一個數(shù)據(jù)記錄ID和該數(shù)據(jù)記錄的數(shù)據(jù)版本號按固定順序組成,在多條數(shù)據(jù)記錄發(fā)生變化時,形成多元數(shù)據(jù)識別版本號,它由多個一元數(shù)據(jù)識別版本號按照固定順序組成。網(wǎng)站發(fā)布版本號當網(wǎng)站所有數(shù)據(jù)以及運算邏輯均沒有發(fā)生改變,但是網(wǎng)站內(nèi)容升級,使得頁面展示內(nèi)容發(fā)生了改變,因此標識網(wǎng)站本身更新而需要提供的一個版本號。加密字符串網(wǎng)站頁面上通常會展示數(shù)據(jù)庫中多條數(shù)據(jù),因此判斷頁面內(nèi)容是否發(fā)生改變時,需要網(wǎng)站服務(wù)器綜合判斷相關(guān)的多條數(shù)據(jù)記錄是否發(fā)生改變,同時網(wǎng)站也可能同時發(fā)生了升級,也需要根據(jù)網(wǎng)站發(fā)布版本號判斷內(nèi)容是否發(fā)生了改變,因此每個頁面需要提供一個特定的方法,根據(jù)涉及此頁面的多條數(shù)據(jù)記錄的數(shù)據(jù)識別版本號以及網(wǎng)站發(fā)布版本號來生成唯一加密字符串,用以判斷頁面的數(shù)據(jù)是否發(fā)生改變。而此特定方法因放 在所有服務(wù)器邏輯運算的第一步執(zhí)行,因而當頁面數(shù)據(jù)沒有被更新時,可以減少網(wǎng)站服務(wù)器運算量,節(jié)省服務(wù)器計算資源。參閱圖I所示,本發(fā)明實施例的處理方法流程,具體包括以下步驟
步驟100 :客戶端瀏覽器向網(wǎng)站服務(wù)器提出訪問請求。步驟101 :網(wǎng)站服務(wù)器對瀏覽器的請求進行分析后,訪問數(shù)據(jù)庫服務(wù)器,獲取展示頁面中所需要數(shù)據(jù)的數(shù)據(jù)記錄ID和數(shù)據(jù)版本號,以及當前的網(wǎng)站發(fā)布版本號。其中,數(shù)據(jù)版本號的格式目前采取以0000000001開始,每次修改一次數(shù)據(jù)記錄則加I的方式。數(shù)據(jù)記錄ID的格式目前采取以0000000001開始每次添加一條數(shù)據(jù)記錄則加I的方式。目前網(wǎng)站發(fā)布版本號采取的生成方式從第一版上線開始每一次變化都以I為步長累加,則第一次上線版本號為0000000001。數(shù)據(jù)識別版本號生成方式是以數(shù)據(jù)記錄ID與數(shù)據(jù)版本號按照固定順序組合而成。如一條數(shù)據(jù)記錄自身的數(shù)據(jù)ID為0000015321,被修改的次數(shù)為2次,則這條數(shù)據(jù)的數(shù)據(jù)識別版本號為00000153210000000002。數(shù)據(jù)識別版本號和網(wǎng)站發(fā)布版本號按照事先固定順序組成網(wǎng)站識別版本號,并通過對網(wǎng)站識別版本號進行單向加密,生成唯一加密字符串,將頁面的數(shù)據(jù)傳送給客戶端瀏覽器,并且在傳輸內(nèi)容中附加上生成的唯一加密字符串。在本發(fā)明實施例中,采用的是MD5加密,以保證數(shù)據(jù)的不可逆。實際也可以采取其他的符合要求的加密的算法。步驟102 :客戶端瀏覽器采用Ajax技術(shù)取得服務(wù)器返回頁面內(nèi)容,將頁面內(nèi)容展示給用戶,同時將服務(wù)器返回加密字符串與服務(wù)器返回的展示頁面建立一一對應(yīng)關(guān)系,并且將展示頁面做為javascript中的document對象采用鍵值對(KEY :加密字符串,VALUE document對象(對應(yīng)展示頁面))的方式緩存在瀏覽器中。所以在多次請求服務(wù)器URL的情況下,客戶端瀏覽器實際上會緩存多個不同的document對象(對應(yīng)多個不同需要展示的頁面)。以便在需要的時候利用加密字符串做為鍵就可以取得對應(yīng)document對象并且解析成頁面內(nèi)容展示給瀏覽器。步驟103 :當用戶再次提出相同的頁面訪問請求(瀏覽器提交的URL以及參數(shù)同上次所提交的URL和參數(shù)都相同,一般來說當瀏覽器沒有被關(guān)閉并且相隔時間小于一個既定時間,此條件都會被滿足)時,客戶端瀏覽器應(yīng)在"IF-N0NE-MATCH"的Header頭上將之前獲得的對應(yīng)加密字符串加入,并提交給網(wǎng)站服務(wù)器。步驟104 :網(wǎng)站服務(wù)器對請求進行分析,再次生成新的網(wǎng)站識別版本號,重新加密生成新的加密字符串,然后與客戶端瀏覽器提交的加密字符串進行比較。步驟105 :比較加密字符串是否相同。如果相同,進行步驟106。如果不相同,進行步驟107。步驟106 :如果加密字符串比較結(jié)果相同,則表示客戶端瀏覽器兩次請求中所獲得的數(shù)據(jù)識別版本號相同,返回的數(shù)據(jù)也應(yīng)該相同,那么客戶端瀏覽器兩次請求所返回的頁面也應(yīng)該完全相同。網(wǎng)站服務(wù)器直接返回304狀態(tài),而不傳遞展示頁面內(nèi)容。部分代碼如下可供參考
權(quán)利要求
1.一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法,其特征在于,包括 網(wǎng)站服務(wù)器接收客戶端瀏覽器的請求,根據(jù)請求頁面中需要的數(shù)據(jù),在數(shù)據(jù)庫服務(wù)器上取得對應(yīng)的數(shù)據(jù)記錄ID、數(shù)據(jù)版本號、網(wǎng)站發(fā)布版本號,對他們按固定順序排序后形成網(wǎng)站識別版本號,進行單向加密,生成唯一的加密字符串; 網(wǎng)站服務(wù)器把加密字符串以及展示頁面的數(shù)據(jù)傳送給客戶端瀏覽器; 瀏覽器建立加密字符串與展示頁面的對應(yīng)關(guān)系,并且將展示頁面緩存起來,在多次請求服務(wù)器不同URL的情況下,客戶端瀏覽器實際上會緩存多個不同的document對象,對應(yīng)多個不同的展示頁面; 瀏覽器向網(wǎng)站服務(wù)器提出相同的頁面訪問請求時,瀏覽器同時將之前獲得的加密字符串傳送給網(wǎng)站服務(wù)器; 網(wǎng)站服務(wù)器接收客戶端瀏覽器請求后,生成新的加密字符串,然后把新生成的加密字符串與從客戶端瀏覽器接收的加密字符串進行比較; 如果比較后結(jié)果相同,則網(wǎng)站服務(wù)器直接通知客戶端瀏覽器提取緩存中的頁面進行展示;如果加密字符串比較后結(jié)果不同,則網(wǎng)站服務(wù)器重新根據(jù)新的數(shù)據(jù)生成新的頁面?zhèn)魉徒o客戶端瀏覽器,并且同時傳送給瀏覽器新的加密字符串。
2.如權(quán)利要求I所述的方法,其特征在于,當數(shù)據(jù)庫中的某條記錄被新添加,修改,或者邏輯刪除后,數(shù)據(jù)庫觸發(fā)器會被自動執(zhí)行,賦予該條數(shù)據(jù)記錄一個新的唯一的數(shù)據(jù)版本號,網(wǎng)站服務(wù)器接收到客戶端瀏覽器的請求后,立即訪問數(shù)據(jù)庫,獲得此數(shù)據(jù)版本號。
3.如權(quán)利要求I所述的方法,其特征在于,瀏覽器建立加密字符串與展示頁面的對應(yīng)關(guān)系,并且,通過將展示頁面做為javascript中的document對象,采用鍵值對的方式緩存在瀏覽器中,其中鍵值對包含,KEY :加密字符串,VALUE :document對象。
4.如權(quán)利要求I所述的方法,其特征在于,數(shù)據(jù)版本號同數(shù)據(jù)記錄ID相結(jié)合,就可以形成唯一數(shù)據(jù)識別版本號,用以識別數(shù)據(jù)記錄與此記錄當前的數(shù)據(jù)版本號;在一條數(shù)據(jù)記錄發(fā)生變化時,形成一元數(shù)據(jù)識別版本號,它由一條數(shù)據(jù)記錄ID和該數(shù)據(jù)記錄的數(shù)據(jù)版本號按固定順序組成,在多條數(shù)據(jù)記錄發(fā)生變化時,形成多元數(shù)據(jù)識別版本號,它由多個一元數(shù)據(jù)識別版本號按照固定順序組成。
5.如權(quán)利要求I所述的方法,其特征在于,數(shù)據(jù)識別版本號和網(wǎng)站發(fā)布版本號按照固定順序組成網(wǎng)站識別版本號。
6.如權(quán)利要求I所述的方法,其特征在于,對網(wǎng)站識別版本號,采用的是MD5加密,以保證數(shù)據(jù)的不可逆。
7.一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的系統(tǒng),其特征在于,包括 客戶端瀏覽器、網(wǎng)站服務(wù)器以及數(shù)據(jù)庫服務(wù)器組成; 客戶端瀏覽器包括多頁面緩存器、渲染器; 多頁面緩存器,用于緩存網(wǎng)站服務(wù)器返回的頁面,通過將展示頁面做為javascript中的document對象,采用鍵值對的方式緩存在瀏覽器多頁緩存器中,在多次請求服務(wù)器不同URL的情況下,多頁面緩存器實際上會緩存多個不同的document對象,對應(yīng)多個不同的展示頁面; 渲染器,用于展示網(wǎng)站服務(wù)器返回的頁面,或者是展示從多頁面緩存器中調(diào)用的頁面;網(wǎng)站服務(wù)器主要包括請求接收器、分析器、網(wǎng)站識別版本號生成器、加密器、比較器、邏輯運算器、數(shù)據(jù)發(fā)送器; 請求接收器,用于網(wǎng)站服務(wù)器接收客戶端瀏覽器的頁面請求,其中包含有瀏覽器上次緩存的同頁面加密字符串,并把接收的請求信息交給分析器; 分析器,用于根據(jù)瀏覽器請求頁面中需要的數(shù)據(jù),從而決定準備訪問數(shù)據(jù)庫服務(wù)器時需要取得的數(shù)據(jù)信息,然后訪問數(shù)據(jù)庫服務(wù)器,取得頁面展示所需要的相關(guān)數(shù)據(jù)記錄ID、數(shù)據(jù)版本號,以及當前網(wǎng)站發(fā)布版本號,并把這些數(shù)據(jù)信息傳送給網(wǎng)站識別版本號生成器; 網(wǎng)站識別版本號生成器,在接收到分析器發(fā)來的數(shù)據(jù)記錄ID、數(shù)據(jù)版本號、當前網(wǎng)站發(fā)布版本號后,先把數(shù)據(jù)記錄ID和該數(shù)據(jù)記錄的數(shù)據(jù)版本號按照固定的順序組合成數(shù)據(jù)識別版本號,再把數(shù)據(jù)識別版本號與網(wǎng)站發(fā)布版本號按照固定順序組合成網(wǎng)站識別版本號,然后把新生成的網(wǎng)站版本號傳送給加密器; 加密器,用于對網(wǎng)站識別版本號進行單向加密,形成加密字符串; 比較器,用于把新生成的加密字符串與從客戶端瀏覽器接收的同頁面加密字符串進行比較;比較結(jié)果不同,則通過邏輯運算器進行工作,如果相同,則調(diào)用數(shù)據(jù)發(fā)送器; 邏輯運算器,用于在加密字符串比較后結(jié)果不同的情況下,則網(wǎng)站服務(wù)器重新根據(jù)新的數(shù)據(jù)集合進行邏輯運算,生成新的頁面,把新的頁面數(shù)據(jù)和新的加密字符串傳送給數(shù)據(jù)發(fā)送器; 數(shù)據(jù)發(fā)送器,在比較后結(jié)果相同的情況下,直接通知客戶端瀏覽器提取多頁緩存器中的對應(yīng)此加密字符串的document對象,從而展示與此相對應(yīng)的頁面;在比較后結(jié)果不同的情況下,把接收到的新的頁面數(shù)據(jù)和新的加密字符串傳送給客戶端瀏覽器; 數(shù)據(jù)庫服務(wù)器,用于管理網(wǎng)站的各種數(shù)據(jù)信息。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,網(wǎng)站識別版本號生成器,在接收到分析器發(fā)來的數(shù)據(jù)記錄ID、數(shù)據(jù)版本號、當前網(wǎng)站發(fā)布版本號后,當只存在單條數(shù)據(jù)記錄發(fā)生變化時,只需要把單條數(shù)據(jù)記錄ID與該數(shù)據(jù)記錄的數(shù)據(jù)版本號以固定順序通過字符串合并的方式連接在一起,組成數(shù)據(jù)識別版本號;當存在多條數(shù)據(jù)記錄發(fā)生變化時,先一一把單條數(shù)據(jù)記錄ID與對應(yīng)數(shù)據(jù)記錄的數(shù)據(jù)版本號通過固定順序合并成多個一元數(shù)據(jù)識別版本號,然后把多個一元數(shù)據(jù)識別版本號按照固定的順序合并成一個多元數(shù)據(jù)識別版本號;再把最終的數(shù)據(jù)識別版本號與網(wǎng)站發(fā)布版本號按照固定順序組合成網(wǎng)站識別版本號。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,在數(shù)據(jù)庫服務(wù)器中,數(shù)據(jù)版本號通過觸發(fā)器自動生成;當數(shù)據(jù)庫中的某條記錄被新添加,修改,或者邏輯刪除后,數(shù)據(jù)庫觸發(fā)器會被自動執(zhí)行,賦予該條數(shù)據(jù)記錄新的唯一的數(shù)據(jù)版本號。
全文摘要
本發(fā)明公開了一種通過網(wǎng)站識別版本號節(jié)省網(wǎng)站訪問資源的方法和系統(tǒng),該方法為通過對網(wǎng)站識別版本號加密生成加密字符串,然后比較客戶端瀏覽器提交的加密字符串與網(wǎng)站服務(wù)器新生成的加密字符串,來判斷客戶端瀏覽器請求的頁面是否發(fā)生了數(shù)據(jù)更新,如果沒有發(fā)生更新,網(wǎng)站服務(wù)器將不進行相應(yīng)的邏輯運算,直接提示客戶端瀏覽器展示緩存中的頁面,從而節(jié)省了網(wǎng)站服務(wù)器的帶寬資源和計算資源。該系統(tǒng)由客戶端瀏覽器、網(wǎng)站服務(wù)器、數(shù)據(jù)服務(wù)器組成,網(wǎng)站服務(wù)器主要包括請求接收器、分析器、網(wǎng)站識別版本號生成器、加密器、比較器、邏輯運算器、數(shù)據(jù)發(fā)送器。
文檔編號H04L29/08GK102882974SQ20121038987
公開日2013年1月16日 申請日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者楊昕, 葛亮 申請人:焦點科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1