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

提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法

文檔序號:6519722閱讀:292來源:國知局
提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法
【專利摘要】本發(fā)明公開了一種提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,屬于計算機(jī)應(yīng)用領(lǐng)域。該方法的特點是聯(lián)合使用瀏覽器端緩存和服務(wù)器端緩存,并將用戶菜單數(shù)據(jù)保存在緩存中:使用瀏覽器端緩存,將菜單數(shù)據(jù)保存在靜態(tài)JavaScript文件中,作為一級緩存;使用服務(wù)器端緩存,將菜單數(shù)據(jù)保存在服務(wù)器端緩存中,作為二級緩存。與現(xiàn)有技術(shù)相比,利用本發(fā)明的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法能夠大大加快菜單的展現(xiàn)速度,具有很好地推廣應(yīng)用價值。
【專利說明】提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)應(yīng)用領(lǐng)域,具體地說是一種提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法。
【背景技術(shù)】
[0002]隨著企業(yè)信息化以及信息系統(tǒng)集成的發(fā)展,系統(tǒng)的菜單數(shù)量越來越多,而且企業(yè)Web系統(tǒng)菜單的生成需要經(jīng)過查詢菜單數(shù)據(jù)、功能權(quán)限過濾,然后將數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)接脩魹g覽器等步驟。但是從數(shù)據(jù)庫中查詢菜單數(shù)據(jù)和根據(jù)用戶的功能權(quán)限過濾菜單是一個非常繁瑣的過程,導(dǎo)致用戶登錄系統(tǒng)時菜單無法及時展現(xiàn),影響用戶的使用體驗。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的技術(shù)任務(wù)是針對上述現(xiàn)有技術(shù)的不足,提供一種提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法。
[0004]本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的:提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特點是聯(lián)合使用瀏覽器端緩存和服務(wù)器端緩存,并將用戶菜單數(shù)據(jù)保存在緩存(緩存可以是文件系統(tǒng)或內(nèi)存數(shù)據(jù)庫等)中:
使用瀏覽器端緩存,將菜單數(shù)據(jù)保存在靜態(tài)JavaScript文件中,作為一級緩存; 使用服務(wù)器端緩存,將菜單數(shù)據(jù)保存在服務(wù)器端緩存中,作為二級緩存。
[0005]上述方法包括以下步驟:
用戶首次通過瀏覽器請求菜單數(shù)據(jù)時,向服務(wù)器發(fā)起菜單數(shù)據(jù)請求,服務(wù)器端生成菜單數(shù)據(jù)并返回給瀏覽器,同時將菜單數(shù)據(jù)緩存在服務(wù)器端的文件系統(tǒng)或內(nèi)存數(shù)據(jù)庫,用于處理后續(xù)的請求;
瀏覽器后續(xù)請求菜單數(shù)據(jù)時,首先和服務(wù)器端進(jìn)行協(xié)商,判斷瀏覽器本地緩存的靜態(tài)菜單數(shù)據(jù)是否為最新,如果是最新的,則使用瀏覽器本地緩存中的數(shù)據(jù)作為菜單數(shù)據(jù),否則向服務(wù)器端請求最新的菜單數(shù)據(jù)。
[0006]在企業(yè)Web應(yīng)用中,影響用戶菜單的因素發(fā)生變化時,需要對相關(guān)用戶的服務(wù)器端菜單數(shù)據(jù)緩存進(jìn)行更新,以保證緩存與用戶菜單數(shù)據(jù)的同步,所述影響用戶菜單的因素包括用戶權(quán)限及菜單數(shù)據(jù)。
[0007]當(dāng)影響用戶菜單的任何一個因素(用戶權(quán)限或菜單數(shù)據(jù))發(fā)生變化時,都要對相關(guān)用戶的菜單數(shù)據(jù)緩存進(jìn)行更新,具體說:用戶權(quán)限更新時,服務(wù)器端對相應(yīng)用戶菜單數(shù)據(jù)緩存中的數(shù)據(jù)進(jìn)行更新,并記錄最新的緩存更新時間,而菜單數(shù)據(jù)影響整個系統(tǒng)的用戶,需要服務(wù)器端對所有用戶菜單數(shù)據(jù)緩存中的數(shù)據(jù)進(jìn)行更新,并記錄最新的緩存更新時間。
[0008]服務(wù)器端更新菜單緩存時,為了不影響系統(tǒng)的整體性能,更新菜單緩存的操作完全可以粗粒度進(jìn)行,直接刪除過期的菜單數(shù)據(jù),等待用戶登錄系統(tǒng)時重建菜單緩存。
[0009]瀏覽器端請求系統(tǒng)主頁面時,同時將存有菜單數(shù)據(jù)的JavaScript文件下載到本地,菜單數(shù)據(jù)以JavaScript全局變量的形式存在于JavaScript靜態(tài)文件中,然后構(gòu)建菜單模塊可以通過讀取全局變量來構(gòu)建并渲染系統(tǒng)菜單。JavaScript文件中菜單數(shù)據(jù)的存在形式為:
Var menu = { “id”: “林氺”,“name”: “氺林”}。
[0010]與現(xiàn)有技術(shù)相比,本發(fā)明的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法綜合使用瀏覽器端和服務(wù)器端緩存。由于與菜單數(shù)據(jù)相關(guān)的用戶權(quán)限很少發(fā)生變化,所以請求到的菜單數(shù)據(jù)幾乎是不會發(fā)生變化的,因此,將菜單數(shù)據(jù)保存在緩存中能夠大大加快菜單的展現(xiàn)速度。
【專利附圖】

【附圖說明】
[0011]附圖1是本發(fā)明方法中瀏覽器與服務(wù)器之間交互的流程圖。
【具體實施方式】
[0012]參照說明書附圖以具體實施例對本發(fā)明的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法作以下詳細(xì)地說明。
[0013]實施例:
本發(fā)明的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法綜合應(yīng)用了瀏覽器端和服務(wù)器端緩存。將很少發(fā)生變化的用戶菜單數(shù)據(jù)保存在緩存中,瀏覽器作為一級緩存,服務(wù)器端作為二級緩存。
[0014]使用緩存的同時要保證緩存與用戶菜單數(shù)據(jù)的同步。在企業(yè)Web應(yīng)用中,影響用戶菜單的因素有用戶權(quán)限、菜單數(shù)據(jù),當(dāng)任何一個因素發(fā)生變化時,都要對相關(guān)用戶的菜單數(shù)據(jù)緩存進(jìn)行更新。用戶權(quán)限更新時只需要更新相應(yīng)的用戶菜單,而菜單數(shù)據(jù)影響整個系統(tǒng)的用戶,需要更新所有用戶的菜單緩存。為了不影響系統(tǒng)的整體性能,更新菜單緩存的操作完全可以粗粒度進(jìn)行,直接刪除過期的菜單數(shù)據(jù),等待用戶登錄系統(tǒng)時重建菜單緩存。
[0015]瀏覽器端請求系統(tǒng)主頁面時,同時將存有菜單數(shù)據(jù)的JavaScript文件下載到本地,菜單數(shù)據(jù)以JavaScript全局變量的形式存在于JavaScript靜態(tài)文件中,然后構(gòu)建菜單模塊可以通過讀取全局變量來構(gòu)建并渲染系統(tǒng)菜單。JavaScript文件中菜單數(shù)據(jù)的存在形式為:
Var menu = { “id”: “林氺”,“name”: “氺林
瀏覽器與服務(wù)器之間交互的流程如附圖1所示:用戶通過瀏覽器請求菜單數(shù)據(jù)時,如果是首次請求,因為瀏覽器端沒有緩存菜單數(shù)據(jù),則向服務(wù)器發(fā)起菜單數(shù)據(jù)請求,服務(wù)器端經(jīng)過運算生成菜單數(shù)據(jù)返回給瀏覽器,同時將數(shù)據(jù)緩存在服務(wù)器端的文件系統(tǒng)或內(nèi)存數(shù)據(jù)庫,用于處理后續(xù)的請求。瀏覽器后續(xù)請求菜單數(shù)據(jù)時,首先需要和服務(wù)器端進(jìn)行協(xié)商,判斷瀏覽器本地緩存的靜態(tài)菜單數(shù)據(jù)是否為最新,如果是最新的,則使用瀏覽器本地緩存中的數(shù)據(jù)作為菜單數(shù)據(jù),避免向服務(wù)器端重新發(fā)起菜單數(shù)據(jù)請求,否則向服務(wù)器端請求最新的菜單數(shù)據(jù)。
[0016]在集群環(huán)境中瀏覽器請求的具體步驟如下:
1.瀏覽器第一次向服務(wù)器發(fā)起菜單數(shù)據(jù)的請求。
[0017]2.服務(wù)器端檢查菜單緩存中是否存有菜單數(shù)據(jù)的緩存數(shù)據(jù),因為是第一次請求所以沒有緩存菜單數(shù)據(jù)。服務(wù)器端經(jīng)過計算生成菜單數(shù)據(jù),同時將菜單數(shù)據(jù)緩存到內(nèi)存數(shù)據(jù)庫中,并記錄生成換成的時間。
[0018]3.服務(wù)器端將菜單數(shù)據(jù)和緩存控制報頭Last-Modified返回給瀏覽器,,瀏覽器使用菜單數(shù)據(jù)渲染出菜單。
[0019]4.瀏覽器第二次向服務(wù)器發(fā)起菜單數(shù)據(jù)的請求,此次請求會自動帶有If-Modified-Since 報頭。
[0020]5.服務(wù)器端讀取If-Modified-Since報頭,并與菜單緩存中的緩存更新時間作對比,斷定瀏覽器緩存中的菜單數(shù)據(jù)是最新的。
[0021]6.服務(wù)器端返回給瀏覽器304狀態(tài)碼,表明菜單數(shù)據(jù)沒有更新。瀏覽器收到返回消息后得知緩存中數(shù)據(jù)是最新的,則取出緩存中的數(shù)據(jù)渲染菜單。
[0022]如果因為某種原因,例如用戶權(quán)限更新,導(dǎo)致菜單數(shù)據(jù)發(fā)生變化,則服務(wù)器端對菜單緩存中的數(shù)據(jù)進(jìn)行更新,并記錄最新的緩存更新時間。
[0023]7.瀏覽器第二次向服務(wù)器發(fā)起菜單數(shù)據(jù)的請求,請求會自動帶有If-Modified-Since 報頭。
[0024]8.服務(wù)器端讀取If-Modified-Since報頭,與菜單緩存中的緩存更新時間作對比后,斷定瀏覽器緩存中的菜單數(shù)據(jù)已經(jīng)不是最新的。
[0025]服務(wù)器端從菜單緩存中讀取菜單數(shù)據(jù),連同緩存的更新時間作為Last-Modified報頭的內(nèi)容返回給瀏覽器。瀏覽器獲取到數(shù)據(jù)后渲染菜單。
【權(quán)利要求】
1.提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特征在于聯(lián)合使用瀏覽器端緩存和服務(wù)器端緩存,并將用戶菜單數(shù)據(jù)保存在緩存中: 使用瀏覽器端緩存,將菜單數(shù)據(jù)保存在靜態(tài)JavaScript文件中,作為一級緩存; 使用服務(wù)器端緩存,將菜單數(shù)據(jù)保存在服務(wù)器端緩存中,作為二級緩存。
2.根據(jù)權(quán)利要求1所述的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特征在于: 用戶首次通過瀏覽器請求菜單數(shù)據(jù)時,向服務(wù)器發(fā)起菜單數(shù)據(jù)請求,服務(wù)器端生成菜單數(shù)據(jù)并返回給瀏覽器,同時將菜單數(shù)據(jù)緩存在服務(wù)器端的文件系統(tǒng)或內(nèi)存數(shù)據(jù)庫,用于處理后續(xù)的請求; 瀏覽器后續(xù)請求菜單數(shù)據(jù)時,首先和服務(wù)器端進(jìn)行協(xié)商,判斷瀏覽器本地緩存的靜態(tài)菜單數(shù)據(jù)是否為最新,如果是最新的,則使用瀏覽器本地緩存中的數(shù)據(jù)作為菜單數(shù)據(jù),否則向服務(wù)器端請求最新的菜單數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特征在于:在企業(yè)Web應(yīng)用中,影響用戶菜單的因素發(fā)生變化時,需要對相關(guān)用戶的服務(wù)器端菜單數(shù)據(jù)緩存進(jìn)行更新,以保證緩存與用戶菜單數(shù)據(jù)的同步,所述影響用戶菜單的因素包括用戶權(quán)限及菜單數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特征在于:用戶權(quán)限更新時,服務(wù)器端對相應(yīng)用戶菜單數(shù)據(jù)緩存中的數(shù)據(jù)進(jìn)行更新,并記錄最新的緩存更新時間,而菜單數(shù)據(jù)影響整個系統(tǒng)的用戶,需要服務(wù)器端對所有用戶菜單數(shù)據(jù)緩存中的數(shù)據(jù)進(jìn)行更新,并記錄最新的緩存更新時間。
5.根據(jù)權(quán)利要求4所述的提高企業(yè)Web應(yīng)用功能菜單展現(xiàn)速度的方法,其特征在于:服務(wù)器端更新菜單緩存時,直接刪除過期的菜單數(shù)據(jù),待用戶登錄系統(tǒng)時重建菜單緩存。
【文檔編號】G06F17/30GK103605731SQ201310581997
【公開日】2014年2月26日 申請日期:2013年11月20日 優(yōu)先權(quán)日:2013年11月20日
【發(fā)明者】周慶勇, 胡清, 劉桂海, 王振峰 申請人:山東浪潮齊魯軟件產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
台江县| 宁陵县| 利川市| 惠东县| 石棉县| 哈密市| 安达市| 巴东县| 洪江市| 东宁县| 三原县| 定日县| 揭阳市| 武宁县| 沈丘县| 晋城| 武平县| 广汉市| 连江县| 泸定县| 河东区| 岫岩| 哈密市| 花莲市| 星座| 福泉市| 都安| 山丹县| 永川市| 涿鹿县| 东丽区| 抚州市| 盐城市| 融水| 剑河县| 夹江县| 施秉县| 翁源县| 马关县| 繁昌县| 苏尼特左旗|