一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明是一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法和設(shè)備,包含如下步驟:1)將網(wǎng)頁應(yīng)用的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境從傳統(tǒng)的服務(wù)端轉(zhuǎn)移到瀏覽器客戶端,以降低對(duì)于CPU處理能力受限和/或運(yùn)行時(shí)RAM受限的服務(wù)端的要求;2)在不影響執(zhí)行效果的前提下,壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,降低對(duì)于ROM存儲(chǔ)能力受限的服務(wù)端的要求。優(yōu)點(diǎn):對(duì)于CPU處理能力和運(yùn)行時(shí)RAM的要求大幅降低;可以實(shí)現(xiàn)復(fù)雜界面效果和大量結(jié)構(gòu)化數(shù)據(jù)交互;降低了服務(wù)端對(duì)于ROM存儲(chǔ)能力的要求;覆蓋了99.9%以上的瀏覽器占有率,擺脫了將應(yīng)用程序封裝在瀏覽器插件中的方式導(dǎo)致的僅支持個(gè)別瀏覽器(通常是IE)的限制。
【專利說明】一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法和設(shè)備,屬于數(shù)字信息的傳輸領(lǐng)域。
【背景技術(shù)】
[0002]隨著通信技術(shù)與計(jì)算機(jī)技術(shù)的發(fā)展,越來越多的用戶希望使用網(wǎng)頁瀏覽器來完成對(duì)產(chǎn)品設(shè)備的各種操作和配置管功能。但是由于功耗、尺寸和價(jià)格的限制,這些設(shè)備的硬件資源如處理能力、隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)相當(dāng)有限,典型的硬件配置如300MHz的ARM CPU、32MB的RAM和32MB的ROM。因此,由于資源限制,這些設(shè)備無法運(yùn)行復(fù)雜的網(wǎng)頁應(yīng)用服務(wù)端,或者在處理復(fù)雜網(wǎng)頁請(qǐng)求的時(shí)候表現(xiàn)得力不從心。
[0003]網(wǎng)頁應(yīng)用是一種使用網(wǎng)頁瀏覽器操作的應(yīng)用軟件。是以網(wǎng)頁語言(例如HTML和JavaScript編程語言)撰寫的應(yīng)用程序,需要通過瀏覽器來運(yùn)行。網(wǎng)絡(luò)應(yīng)用程序風(fēng)行的原因之一,是因?yàn)榭梢灾苯釉诟鞣N電腦平臺(tái)上運(yùn)行,不需要事先安裝或定期升級(jí)等程序。
[0004]目前的網(wǎng)頁應(yīng)用,現(xiàn)有技術(shù)通常采用以下方案之一:
1.使用ASP、PHP、JSP、Perl語言編寫的服務(wù)端處理動(dòng)態(tài)頁面,實(shí)現(xiàn)界面展現(xiàn)與數(shù)據(jù)交互。這種方案可以實(shí)現(xiàn)復(fù)雜的網(wǎng)頁應(yīng)用,但都需要少則幾十多則上百M(fèi)B的運(yùn)行時(shí)資源開銷,無法在資源受限環(huán)境下運(yùn)行。
[0005]2.使用C語言編寫的傳統(tǒng)CGI程序處理動(dòng)態(tài)頁面。這種方案一般用于實(shí)現(xiàn)簡單界面刷新和基于表單的數(shù)據(jù)交互,不適用于處理有復(fù)雜界面效果和大量結(jié)構(gòu)化數(shù)據(jù)交互的網(wǎng)頁應(yīng)用。
[0006]將應(yīng)用程序封裝在瀏覽器插件中。這種方案無法跨平臺(tái)使用,用戶體驗(yàn)較差。
[0007]綜上所述,方案I不具備在資源受限環(huán)境下的運(yùn)行條件;方案2、3則無法達(dá)成設(shè)計(jì)目標(biāo)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提出的是一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法和設(shè)備,其目的在于解決現(xiàn)有技術(shù)所存在的上述的缺陷。有效的實(shí)現(xiàn)在資源受限環(huán)境下提供復(fù)雜的網(wǎng)頁應(yīng)用。
[0009]本發(fā)明的技術(shù)解決方案:一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,包含如下步驟:
1)將網(wǎng)頁應(yīng)用的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境從傳統(tǒng)的服務(wù)端轉(zhuǎn)移到瀏覽器客戶端,以降低對(duì)于CPU處理能力受限和/或運(yùn)行時(shí)RAM受限的服務(wù)端的要求;
2)在不影響執(zhí)行效果的前提下,壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,降低對(duì)于ROM存儲(chǔ)能力受限的服務(wù)端的要求。
[0010]一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的設(shè)備,包含:
網(wǎng)頁應(yīng)用代碼服務(wù)單元,用于接收瀏覽器客戶端發(fā)出的下載網(wǎng)頁應(yīng)用代碼的請(qǐng)求,經(jīng)過查找匹配的文件名后,將相應(yīng)的文件內(nèi)容傳送到瀏覽器客戶端;
交互指令服務(wù)單元,在瀏覽器客戶端下載并載入網(wǎng)頁應(yīng)用之后,用于對(duì)網(wǎng)頁應(yīng)用程序本身或用戶操作發(fā)出的交互指令進(jìn)行處理和回復(fù)。
[0011]本發(fā)明與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于:
1)該方法使得網(wǎng)頁應(yīng)用服務(wù)端能夠在資源受限環(huán)境下正常運(yùn)行,由于不需要處理界面邏輯,同時(shí)減少處理一部分業(yè)務(wù)邏輯,對(duì)于CPU處理能力和運(yùn)行時(shí)RAM的要求大幅降低;
2)由于網(wǎng)頁應(yīng)用程序的邏輯以JavaScript的形式在客戶端瀏覽器上運(yùn)行,與C語言編寫的傳統(tǒng)CGI服務(wù)端支持的網(wǎng)頁相比,可以實(shí)現(xiàn)復(fù)雜界面效果和大量結(jié)構(gòu)化數(shù)據(jù)交互;由于使用C語言編寫網(wǎng)頁應(yīng)用程序的服務(wù)端,因此服務(wù)端的運(yùn)行除了標(biāo)準(zhǔn)系統(tǒng)庫以外,不需要其他運(yùn)行庫的支持,與ASP、PHP、JSP、Perl語言編寫的服務(wù)端相比,降低了服務(wù)端對(duì)于ROM存儲(chǔ)能力的要求;
3)由于使用編譯時(shí)壓縮,在不增加服務(wù)端運(yùn)行時(shí)資源開銷的前提下,再次降低了服務(wù)端對(duì)于ROM存儲(chǔ)能力的要求;
4)由于網(wǎng)頁應(yīng)用是由標(biāo)準(zhǔn)的HTML、CSS、JavaScript、XML和圖片構(gòu)成,所以可以在近10年內(nèi)的所有平臺(tái)所有版本的主流瀏覽器中運(yùn)行,覆蓋了 99.9%以上的瀏覽器占有率,擺脫了將應(yīng)用程序封裝在瀏覽器插件中的方式導(dǎo)致的僅支持個(gè)別瀏覽器(通常是IE)的限制。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明第一實(shí)施方式的流程圖。
[0013]圖2是本發(fā)明第二實(shí)施方式的流程圖。
[0014]圖3是一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0015]一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是該方法包含如下步驟:
1)將網(wǎng)頁應(yīng)用的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境從傳統(tǒng)的服務(wù)端轉(zhuǎn)移到瀏覽器客戶端,以降低對(duì)于CPU處理能力受限和/或運(yùn)行時(shí)RAM受限的服務(wù)端的要求;
2)在不影響執(zhí)行效果的前提下,壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,降低對(duì)于ROM存儲(chǔ)能力受限的服務(wù)端的要求。
[0016]所述的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境轉(zhuǎn)移到瀏覽器客戶端,包含如下步驟:
a.瀏覽器客戶端下載執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼;
b.用戶界面的初始化和界面轉(zhuǎn)換完全在瀏覽器端執(zhí)行,在使用過程中不與服務(wù)端交
互;
c.在瀏覽器客戶端發(fā)出指令與服務(wù)端進(jìn)行數(shù)據(jù)交互前,先在瀏覽器客戶端對(duì)用戶提交的數(shù)據(jù)進(jìn)行基本的有效性驗(yàn)證,如果通過有效性驗(yàn)證,則繼續(xù)與服務(wù)端交互,如果未通過有效性驗(yàn)證,則不與服務(wù)端交互并提示用戶修改要提交的數(shù)據(jù)。
[0017]所述的壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,包含以下步驟:
a.使用C語言編寫網(wǎng)頁應(yīng)用程序的服務(wù)端; b.使用移除網(wǎng)頁應(yīng)用程序的注釋、空白和換行的方式減少程序代碼字?jǐn)?shù);
c.使用將網(wǎng)頁應(yīng)用程序的函數(shù)名和變量名替換為更短字符串的方式減少程序代碼字
數(shù);
d.使用gzip壓縮網(wǎng)頁應(yīng)用程序代碼。
[0018]所述的執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼,包含:HTML、CSS、JavaScript、XML和界面用到的圖片資源中的一種或幾種的組合。
[0019]所述的用戶界面的界面轉(zhuǎn)換,包含:
a.不同界面之間的跳轉(zhuǎn)、顯示或隱藏;
b.在編譯時(shí)即非運(yùn)行時(shí),能夠確定的、由于程序本身或用戶操作導(dǎo)致的界面內(nèi)部組件的更改、顯示或隱藏。
[0020]所述的基本的有效性驗(yàn)證,包含以下步驟:
a.檢查字段是否必填;
b.檢查字段是否只能輸入英文、中文、數(shù)字中的一種或幾種的組合;
c.檢查字段是否有意義,如IP地址、子網(wǎng)掩碼與網(wǎng)關(guān)是否匹配;
d.檢查數(shù)值是否超過合法限制。
[0021]所述的使用gzip壓縮網(wǎng)頁應(yīng)用程序代碼,包含以下步驟:
a.在編譯時(shí)(非運(yùn)行時(shí)),將權(quán)利要求2所述的執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼使用gzip壓縮算法進(jìn)行壓縮;
b.服務(wù)端收到權(quán)利要求2所述的下載執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼請(qǐng)求后,在回復(fù)的HTTP報(bào)文頭中增加Content-Encoding: gzip 一項(xiàng),使得瀏覽器客戶端能夠識(shí)別該壓縮格式,并將經(jīng)上述gzip算法壓縮后的代碼傳送到瀏覽器客戶端。
[0022]一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的設(shè)備,其結(jié)構(gòu)包含:
網(wǎng)頁應(yīng)用代碼服務(wù)單元、交互指令服務(wù)單元;
所述的網(wǎng)頁應(yīng)用代碼服務(wù)單元與瀏覽器客戶端連接,由瀏覽器客戶端發(fā)出的下載網(wǎng)頁應(yīng)用代碼的請(qǐng)求,經(jīng)過網(wǎng)頁應(yīng)用代碼服務(wù)單元查找匹配的文件名后,將相應(yīng)的文件內(nèi)容傳送到瀏覽器客戶端;所述交互指令服務(wù)單元與瀏覽器客戶端連接,在瀏覽器客戶端下載并執(zhí)行網(wǎng)頁應(yīng)用代碼之后,用于對(duì)網(wǎng)頁應(yīng)用程序本身或用戶操作發(fā)出的交互指令進(jìn)行處理和回復(fù),如圖3所示。
[0023]實(shí)施例1 如圖1所示,
一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,在本實(shí)施方式中,利用將網(wǎng)頁應(yīng)用的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境從傳統(tǒng)的服務(wù)端轉(zhuǎn)移到瀏覽器客戶端,以實(shí)現(xiàn)降低對(duì)于CPU處理能力受限和/或運(yùn)行時(shí)RAM受限的服務(wù)端的效果。
[0024]在步驟SllO中,將網(wǎng)頁應(yīng)用的所有界面邏輯的運(yùn)行環(huán)境轉(zhuǎn)移到瀏覽器客戶端。傳統(tǒng)上由服務(wù)端承擔(dān)的界面邏輯,包括:界面組件的初始化;圖片載入;不同界面之間的跳轉(zhuǎn)、顯示或隱藏;界面內(nèi)部組件的更改、顯示或隱藏;以及布局的變化。在本實(shí)施方式中,上述界面邏輯全部通過JavaScript在瀏覽器客戶端操縱文檔對(duì)象模型(即D0M,是W3C組織推薦的HTML語言的標(biāo)準(zhǔn)程序接口)來實(shí)現(xiàn)。
[0025]具體的,DOM的createElement接口用于創(chuàng)建任意HTML元素構(gòu)成的界面組件;appendChild接口用于將界面組件插入界面中指定的位置;removeChild接口用于將指定的界面組件從界面中移除。其中,所述的界面組件可以是一個(gè)傳統(tǒng)的基本控件,如按鈕、文本輸入框、標(biāo)簽;也可以是由基本控件組合成的復(fù)合控件,如用于配置網(wǎng)卡選項(xiàng)的一個(gè)界面,包括數(shù)個(gè)IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)地址以及相應(yīng)的說明標(biāo)簽和交互按鈕。
[0026]接著,在步驟Slll中,將網(wǎng)頁應(yīng)用的部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境轉(zhuǎn)移到瀏覽器客戶端。具體的,在瀏覽器客戶端發(fā)出指令與服務(wù)端進(jìn)行數(shù)據(jù)交互前,先在瀏覽器客戶端對(duì)數(shù)據(jù)進(jìn)行基本的有效性驗(yàn)證。如果通過有效性驗(yàn)證,則繼續(xù)與服務(wù)端交互,如果未通過有效性驗(yàn)證,則不與服務(wù)端交互并提示用戶修改要提交的數(shù)據(jù)。
[0027]具體的,由于所有主流瀏覽器都支持JavaScript 1.2規(guī)范,因此使用上述規(guī)范中的正則表達(dá)式接口可以在數(shù)據(jù)提交前對(duì)用戶輸入的數(shù)據(jù)進(jìn)行一些預(yù)設(shè)的規(guī)則檢查。其中,預(yù)設(shè)的規(guī)則檢查指的是程序編譯時(shí)(非運(yùn)行時(shí))就能夠確定的邏輯,包括但不限于以下方面:
檢查字段是否必填,如設(shè)備的名稱描述輸入框不能為空;
檢查字段是否只能輸入英文、中文、數(shù)字中的一種或幾種的組合,如設(shè)備編號(hào)不能含有中文;
檢查字段是否有意義,如IP地址、子網(wǎng)掩碼與網(wǎng)關(guān)是否匹配;
檢查數(shù)值是否超過合法限制,如用戶名最短為I個(gè)字節(jié),最長為255個(gè)字節(jié)。
[0028]需要說明的是,上述步驟SllO和步驟Slll的邏輯都是由JavaScript實(shí)現(xiàn),完全在瀏覽器客戶端執(zhí)行,執(zhí)行過程中無需與服務(wù)端進(jìn)行交互,提高了對(duì)用戶操作的響應(yīng)速度。由于目前的客戶端電腦配置遠(yuǎn)遠(yuǎn)(通常為數(shù)十倍)高于資源受限設(shè)備,加上較新版本的瀏覽器都把優(yōu)化JavaScript的執(zhí)行效率作為目標(biāo),因此運(yùn)行在瀏覽器客戶端的復(fù)雜網(wǎng)頁應(yīng)用,能夠達(dá)到或超過傳統(tǒng)桌面應(yīng)用的效果。
[0029]實(shí)施例2 如圖2所示,
一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,本實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于,在本實(shí)施方式中,由于服務(wù)端的ROM存儲(chǔ)能力受限,網(wǎng)頁應(yīng)用程序加上其服務(wù)端的代碼大小可能超出存儲(chǔ)器的可用容量,需要對(duì)存儲(chǔ)在服務(wù)端的網(wǎng)頁應(yīng)用程序進(jìn)行壓縮。
[0030]流程,
在步驟S210中,使用C語言編寫網(wǎng)頁應(yīng)用程序的服務(wù)端;
接著,在步驟S211中,使用移除網(wǎng)頁應(yīng)用程序的注釋、空白和換行以及去除未被調(diào)用的代碼的方式減少程序代碼字?jǐn)?shù);
具體的,刪除注釋、空白和換行不會(huì)影響程序的執(zhí)行;通過分析各模塊的調(diào)用關(guān)系,去除未被調(diào)用的代碼; 接著,在步驟S212中,對(duì)網(wǎng)頁應(yīng)用程序中出現(xiàn)的所有函數(shù)名和變量名進(jìn)行統(tǒng)計(jì),將調(diào)用頻率最高的函數(shù)名和變量重命名為盡可能短的合法字符串,如function saveSelectionHistory()重命名為 function a()。
[0031]需要說明的是,經(jīng)過上述步驟S211和步驟S212處理的網(wǎng)頁應(yīng)用程序代碼人類難以閱讀和理解,但不會(huì)影響代碼在瀏覽器中的執(zhí)行,一般可以使用專門的混淆器程序?qū)崿F(xiàn)上述步驟的處理,經(jīng)統(tǒng)計(jì),經(jīng)過上述步S驟S211和步驟S212處理后的代碼大小平均為原來的 40%。
[0032]進(jìn)一步的,在步驟S213中,使用gzip壓縮算法對(duì)網(wǎng)頁應(yīng)用程序代碼進(jìn)行壓縮處理。接著,將壓縮好的代碼存儲(chǔ)在服務(wù)端。服務(wù)端收到下載執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼請(qǐng)求后,在回復(fù)的HTTP報(bào)文頭中增加Content-Encoding: gzip 一項(xiàng),使得瀏覽器客戶端能夠識(shí)別該壓縮格式,并將經(jīng)上述gzip算法壓縮后的代碼傳送到瀏覽器客戶端。由于近10年內(nèi)的所有主流瀏覽器均支持所述gzip壓縮算法,本步驟不會(huì)影響客戶端的兼容性。經(jīng)統(tǒng)計(jì),已經(jīng)過S211和步驟S212處理的代碼再經(jīng)過本步驟處理后,代碼大小平均為原來的11%。
[0033]需要說明的是,由于服務(wù)端將編譯時(shí)預(yù)先壓縮好的網(wǎng)頁應(yīng)用程序代碼直接發(fā)送至瀏覽器客戶端,解壓縮由瀏覽器客戶端執(zhí)行,不會(huì)占用服務(wù)端資源。同時(shí),由于目前的客戶端電腦配置都較高,解壓縮也不會(huì)對(duì)用戶使用造成影響。
[0034]一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的設(shè)備,包含:網(wǎng)頁應(yīng)用代碼服務(wù)單元和交互指令服務(wù)單元。
[0035]具體的,網(wǎng)頁應(yīng)用代碼存儲(chǔ)于服務(wù)端,在運(yùn)行時(shí),服務(wù)端會(huì)與瀏覽器客戶端連接,網(wǎng)頁應(yīng)用代碼服務(wù)單元響應(yīng)瀏覽器客戶端的下載請(qǐng)求,將網(wǎng)頁應(yīng)用代碼發(fā)送到客戶端瀏覽器執(zhí)行。其中,包括網(wǎng)頁應(yīng)用程序代碼及其附屬的靜態(tài)網(wǎng)頁和圖片。此單元直接從存儲(chǔ)介質(zhì)讀取客戶端請(qǐng)求的文件并發(fā)送到瀏覽器客戶端,不對(duì)傳輸內(nèi)容進(jìn)行其他處理,因此開銷很小。
[0036]通過網(wǎng)頁緩存技術(shù),在服務(wù)端回復(fù)的HTTP報(bào)文頭中,將Expires: —項(xiàng)設(shè)置為I年或更長時(shí)間,可以減少網(wǎng)頁應(yīng)用代碼請(qǐng)求次數(shù)。除非服務(wù)端有更新版本的網(wǎng)頁應(yīng)用代碼或者用戶手工清除了瀏覽器的緩存,同一客戶端瀏覽器只需下載一次網(wǎng)頁應(yīng)用代碼。這樣一方面減少了服務(wù)端的壓力,另一方面也提高了客戶端的初始化速度。
[0037]交互指令服務(wù)單元在瀏覽器客戶端下載并載入網(wǎng)頁應(yīng)用之后,用于對(duì)網(wǎng)頁應(yīng)用程序本身或用戶操作發(fā)出的交互指令進(jìn)行處理和回復(fù)。
[0038]具體的,瀏覽器客戶端發(fā)出指令與服務(wù)端進(jìn)行數(shù)據(jù)交互時(shí),使用XML和/或JSON數(shù)據(jù)結(jié)構(gòu),以HTTP POST方法進(jìn)行通信。所有主流瀏覽器都支持以內(nèi)建或模擬的方式讀寫XML和JSON數(shù)據(jù)。
[0039]一種改進(jìn)的在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的設(shè)備,改進(jìn)之處在于,通過使用編譯時(shí)壓縮,在不增加服務(wù)端運(yùn)行時(shí)資源開銷的前提下,降低了服務(wù)端對(duì)于ROM存儲(chǔ)能力的要求。
[0040]上述實(shí)施方式的步驟可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的一系列指令列表,其的全部或部分功能可以使用軟件、固件、硬件或其組合來實(shí)現(xiàn)。例如,將軟件或固件存儲(chǔ)在機(jī)器可讀介質(zhì)上,通過相應(yīng)的系統(tǒng)程序來執(zhí)行。
[0041]其中,機(jī)器可讀介質(zhì)可以使用下列方式實(shí)現(xiàn):包括半導(dǎo)體隨機(jī)存取芯片(如RAM)、浮柵晶體管存儲(chǔ)器(如閃存、可擦除可編程只讀存儲(chǔ)器EPR0M、電可擦除可編程只讀存儲(chǔ)器EEPROM ),磁盤、光盤和網(wǎng)絡(luò)存儲(chǔ)器。
[0042]需要說明的是,本文所述“連接”可以是機(jī)械連接、電連接、原件內(nèi)部連接或者邏輯上的連接關(guān)系,換句話說,本領(lǐng)域的普通技術(shù)人員對(duì)于上述術(shù)語的理解應(yīng)該根據(jù)具體情況確定。
【權(quán)利要求】
1.一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是該方法包含如下步驟: 1)將網(wǎng)頁應(yīng)用的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境從傳統(tǒng)的服務(wù)端轉(zhuǎn)移到瀏覽器客戶端,以降低對(duì)于CPU處理能力受限和/或運(yùn)行時(shí)RAM受限的服務(wù)端的要求; 2)在不影響執(zhí)行效果的前提下,壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,降低對(duì)于ROM存儲(chǔ)能力受限的服務(wù)端的要求。
2.根據(jù)權(quán)利要求1所述的一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是所述的所有界面邏輯和部分業(yè)務(wù)邏輯的運(yùn)行環(huán)境轉(zhuǎn)移到瀏覽器客戶端,包含如下步驟: a.瀏覽器客戶端下載設(shè)備中的網(wǎng)頁應(yīng)用代碼服務(wù)單元中的執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼并開始執(zhí)行; b.用戶界面的初始化和界面轉(zhuǎn)換完全在瀏覽器端執(zhí)行,在使用過程中不與服務(wù)端交互; c.在瀏覽器客戶端發(fā)出指令與服務(wù)端進(jìn)行數(shù)據(jù)交互前,先在瀏覽器客戶端對(duì)用戶提交的數(shù)據(jù)進(jìn)行基本的有效性驗(yàn)證,如果通過有效性驗(yàn)證,則繼續(xù)與服務(wù)端交互,如果未通過有效性驗(yàn)證,則不與服務(wù)端交互并提示用戶修改要提交的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是所述的壓縮網(wǎng)頁應(yīng)用程序及其服務(wù)端的代碼大小,包含以下步驟: a.使用C語言編寫網(wǎng)頁應(yīng)用程序的服務(wù)端; b.使用移除網(wǎng)頁應(yīng)用程序的注釋、`空白和換行的方式減少程序代碼字?jǐn)?shù); c.使用將網(wǎng)頁應(yīng)用程序的函數(shù)名和變量名替換為更短字符串的方式減少程序代碼字?jǐn)?shù); d.使用gzip壓縮網(wǎng)頁應(yīng)用程序代碼。
4.根據(jù)權(quán)利要求2所述的一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是所述的執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼,包含:HTML、CSS、JavaScript、XML和界面用到的圖片資源中的一種或幾種的組合。
5.根據(jù)權(quán)利要求2所述的一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是所述的用戶界面的界面轉(zhuǎn)換,包含: a.不同界面之間的跳轉(zhuǎn)、顯示或隱藏; b.在編譯時(shí)即非運(yùn)行時(shí),能夠確定的、由于程序本身或用戶操作導(dǎo)致的界面內(nèi)部組件的更改、顯示或隱藏。
6.根據(jù)權(quán)利要求2所述的一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用的方法,其特征是所述的基本的有效性驗(yàn)證,包含以下步驟: a.檢查字段是否必填; b.檢查字段是否只能輸入英文、中文、數(shù)字中的一種或幾種的組合; c.檢查字段是否有意義,如IP地址、子網(wǎng)掩碼與網(wǎng)關(guān)是否匹配; d.檢查數(shù)值是否超過合法限制。
7.根據(jù)權(quán)利要求3所述的使用gzip壓縮網(wǎng)頁應(yīng)用程序代碼,包含以下步驟: a.在編譯時(shí),即非運(yùn)行時(shí),將權(quán)利要求2所述的執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼使用gzip壓縮算法進(jìn)行壓縮; b.服務(wù)端收到權(quán)利要求2所述的下載執(zhí)行網(wǎng)頁應(yīng)用所需要的代碼請(qǐng)求后,在回復(fù)的HTTP報(bào)文頭中增加Content-Encoding: gzip 一項(xiàng),使得瀏覽器客戶端能夠識(shí)別該壓縮格式,并將經(jīng)上述gzip算法壓縮后的代碼傳送到瀏覽器客戶端。
8.一種在資源受限環(huán)境下提供復(fù)雜網(wǎng)頁應(yīng)用設(shè)備,其特征是包含: 網(wǎng)頁應(yīng)用代碼服務(wù)單元;交互指令服務(wù)單元;所述的網(wǎng)頁應(yīng)用代碼服務(wù)單元與瀏覽器客戶端連接,由瀏覽器客戶端發(fā)出的下載網(wǎng)頁應(yīng)用代碼的請(qǐng)求,經(jīng)過網(wǎng)頁應(yīng)用代碼服務(wù)單元查找匹配的文件名后,將相應(yīng)的文件內(nèi)容傳送到瀏覽器客戶端;所述交互指令服務(wù)單元與瀏覽器客戶端連接,在瀏覽器客戶端下載并執(zhí)行網(wǎng)頁應(yīng)用代碼之后,用于對(duì)網(wǎng)頁應(yīng)用程序本身或用戶操作 發(fā)出的交互指令進(jìn)行處理和回復(fù)。
【文檔編號(hào)】H04L29/08GK103458037SQ201310400815
【公開日】2013年12月18日 申請(qǐng)日期:2013年9月6日 優(yōu)先權(quán)日:2013年9月6日
【發(fā)明者】王強(qiáng), 吳磊, 衛(wèi)剛 申請(qǐng)人:南京南自信息技術(shù)有限公司