本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體涉及一種運(yùn)行web應(yīng)用程序的方法及終端。
背景技術(shù):
web應(yīng)用程序是一種通過網(wǎng)絡(luò)(如互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng))訪問的應(yīng)用程序;也可以指計(jì)算機(jī)軟件承載在瀏覽器支持環(huán)境下或使用瀏覽器支持語言(如javascript)并依賴于web瀏覽器來渲染的應(yīng)用程序。
web應(yīng)用程序是一個(gè)針對(duì)移動(dòng)終端操作系統(tǒng)優(yōu)化后的web站點(diǎn),一個(gè)web應(yīng)用程序是由完成特定任務(wù)的各種web組件(webcomponents)構(gòu)成的并通過web將服務(wù)展示給外界。在實(shí)際應(yīng)用中,web應(yīng)用程序是由多個(gè)servlet、jsp頁面、html文件以及圖像文件等組成。所有這些組件相互協(xié)調(diào)為用戶提供一組完整的服務(wù),它使用html或html5、css3、javascript,服務(wù)端技術(shù)java、php、asp等實(shí)現(xiàn)。因此web應(yīng)用程序依賴于網(wǎng)絡(luò),通過網(wǎng)絡(luò)向服務(wù)器獲取內(nèi)容后在本地通過瀏覽器應(yīng)用實(shí)現(xiàn)。
現(xiàn)有技術(shù)中,web應(yīng)用程序最大的缺點(diǎn)在于其對(duì)網(wǎng)絡(luò)的依賴性,在無網(wǎng)絡(luò)環(huán)境或者弱網(wǎng)絡(luò)環(huán)境下web應(yīng)用程序不具備使用條件。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種運(yùn)行web應(yīng)用程序的方法及終端,能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序。
本發(fā)明實(shí)施例第一方面提供了一種運(yùn)行web應(yīng)用程序的方法,所述運(yùn)行web應(yīng)用程序的方法包括:
若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;
若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);
通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
本發(fā)明實(shí)施例第二方面提供了一種終端,所述終端包括:
檢測單元,用于若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;
攔截單元,用于若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);
響應(yīng)單元,用于通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
本發(fā)明實(shí)施例,若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種運(yùn)行web應(yīng)用程序的方法的示意流程圖;
圖2是本發(fā)明另一實(shí)施例提供的一種運(yùn)行web應(yīng)用程序的方法的示意流程圖;
圖3是本發(fā)明實(shí)施例提供的一種終端示意性框圖;
圖4是本發(fā)明另一實(shí)施例提供的一種終端示意性框圖;
圖5是本發(fā)明再一實(shí)施例提供的一種終端示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)當(dāng)理解,當(dāng)在本說明書和所附權(quán)利要求書中使用時(shí),術(shù)語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個(gè)或多個(gè)其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應(yīng)當(dāng)理解,在此本發(fā)明說明書中所使用的術(shù)語僅僅是出于描述特定實(shí)施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權(quán)利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個(gè)”及“該”意在包括復(fù)數(shù)形式。
還應(yīng)當(dāng)進(jìn)一步理解,在本發(fā)明說明書和所附權(quán)利要求書中使用的術(shù)語“和/或”是指相關(guān)聯(lián)列出的項(xiàng)中的一個(gè)或多個(gè)的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權(quán)利要求書中所使用的那樣,術(shù)語“如果”可以依據(jù)上下文被解釋為“當(dāng)...時(shí)”或“一旦”或“響應(yīng)于確定”或“響應(yīng)于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應(yīng)于確定”或“一旦檢測到[所描述條件或事件]”或“響應(yīng)于檢測到[所描述條件或事件]”。
具體實(shí)現(xiàn)中,本發(fā)明實(shí)施例中描述的終端包括但不限于諸如具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的移動(dòng)電話、膝上型計(jì)算機(jī)或平板計(jì)算機(jī)之類的其它便攜式設(shè)備。還應(yīng)當(dāng)理解的是,在某些實(shí)施例中,所述設(shè)備并非便攜式通信設(shè)備,而是具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的臺(tái)式計(jì)算機(jī)。
在接下來的討論中,描述了包括顯示器和觸摸敏感表面的終端。然而,應(yīng)當(dāng)理解的是,終端可以包括諸如物理鍵盤、鼠標(biāo)和/或控制桿的一個(gè)或多個(gè)其它物理用戶接口設(shè)備。
終端支持各種應(yīng)用程序,例如以下中的一個(gè)或多個(gè):繪圖應(yīng)用程序、演示應(yīng)用程序、文字處理應(yīng)用程序、網(wǎng)站創(chuàng)建應(yīng)用程序、盤刻錄應(yīng)用程序、電子表格應(yīng)用程序、游戲應(yīng)用程序、電話應(yīng)用程序、視頻會(huì)議應(yīng)用程序、電子郵件應(yīng)用程序、即時(shí)消息收發(fā)應(yīng)用程序、鍛煉支持應(yīng)用程序、照片管理應(yīng)用程序、數(shù)碼相機(jī)應(yīng)用程序、數(shù)字?jǐn)z影機(jī)應(yīng)用程序、web瀏覽應(yīng)用程序、數(shù)字音樂播放器應(yīng)用程序和/或數(shù)字視頻播放器應(yīng)用程序。
可以在終端上執(zhí)行的各種應(yīng)用程序可以使用諸如觸摸敏感表面的至少一個(gè)公共物理用戶接口設(shè)備??梢栽趹?yīng)用程序之間和/或相應(yīng)應(yīng)用程序內(nèi)調(diào)整和/或改變觸摸敏感表面的一個(gè)或多個(gè)功能以及終端上顯示的相應(yīng)信息。這樣,終端的公共物理架構(gòu)(例如,觸摸敏感表面)可以支持具有對(duì)用戶而言直觀且透明的用戶界面的各種應(yīng)用程序。
本發(fā)明實(shí)施例所描述的終端可以包括智能手機(jī)(如android手機(jī)、ios手機(jī)、windowsphone手機(jī)等)、平板電腦等能夠拍攝相片的終端,上述終端僅是舉例,而非窮舉,包含但不限于上述終端。
請參閱圖1,圖1為本發(fā)明實(shí)施例提供的一種運(yùn)行web應(yīng)用程序的方法的示意流程圖。運(yùn)行web應(yīng)用程序的方法的執(zhí)行主體為終端,終端可以為智能手機(jī)、平板電腦等移動(dòng)終端,也可以為臺(tái)式電腦等固定終端。終端內(nèi)預(yù)先安裝有至少一個(gè)web瀏覽器、一個(gè)代理子系統(tǒng)以及一個(gè)本地服務(wù)子系統(tǒng)。本實(shí)施例中所描述的運(yùn)行web應(yīng)用程序的方法,包括以下步驟:
s101:若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。
應(yīng)用程序(application,app)有兩種模式,即客戶端/服務(wù)器端程序(c/s)模式和瀏覽器端/服務(wù)器端應(yīng)用程序(b/s)模式。
基于c/s模式的應(yīng)用程序,一般獨(dú)立運(yùn)行。客戶端的應(yīng)用程序和數(shù)據(jù)安裝于設(shè)備本地,客戶端的應(yīng)用程序可以在本地獨(dú)立運(yùn)行,一些離線功能可以在脫離網(wǎng)絡(luò)的狀態(tài)下完成,并且客戶端的應(yīng)用程序不依賴于瀏覽器。
基于b/s模式的應(yīng)用程序,一般借助ie、chrome等瀏覽器來運(yùn)行。web應(yīng)用程序是基于b/s模式的應(yīng)用程序。web應(yīng)用程序首先是“應(yīng)用程序”,和用標(biāo)準(zhǔn)的程序語言,如c、c++等編寫出來的程序沒有什么本質(zhì)上的不同。然而web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于web的,而不是采用傳統(tǒng)方法運(yùn)行的。換句話說,它是典型的(b/s)模式的產(chǎn)物。
終端正常工作時(shí),檢測用戶是否啟動(dòng)web應(yīng)用程序;當(dāng)檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。預(yù)設(shè)瀏覽器為web瀏覽器。第一web應(yīng)用程序?yàn)楫?dāng)前操控的web應(yīng)用程序,泛指終端內(nèi)預(yù)先安裝的任意一個(gè)web應(yīng)用程序,或者嵌入到web瀏覽器中的web應(yīng)用程序。web應(yīng)用程序產(chǎn)品包括web郵箱、web商店、wikis等等。
一般來說,第一web應(yīng)用程序在本地桌面應(yīng)用或web瀏覽器應(yīng)用中以圖標(biāo)方式存在,該web應(yīng)用程序圖標(biāo)關(guān)聯(lián)于一個(gè)web應(yīng)用程序訪問地址。
終端可以檢測用戶可以是否通過點(diǎn)擊桌面應(yīng)用上的第一web應(yīng)用程序圖標(biāo)激活web瀏覽器,或者檢測用戶打開web瀏覽器后是否通過web瀏覽器中的第一web應(yīng)用程序圖標(biāo)訪問該web應(yīng)用程序?qū)?yīng)的訪問地址,以識(shí)別用戶是否啟動(dòng)web應(yīng)用程序。
其中,web瀏覽器用于根據(jù)用戶操控第一web應(yīng)用程序發(fā)出的訪問請求連接web服務(wù)器獲取web應(yīng)用數(shù)據(jù)。應(yīng)當(dāng)知道的是,web瀏覽器包括如微軟的ie(internetexplorer)瀏覽器、谷歌的chrome瀏覽器等以獨(dú)立的網(wǎng)頁瀏覽器應(yīng)用的形式存在的瀏覽器,也可以包括嵌入到其它功能應(yīng)用中可以在這些功能應(yīng)用內(nèi)置界面中獨(dú)立打開網(wǎng)頁頁面的瀏覽器程序,如嵌入到微信應(yīng)用、qq應(yīng)用等社交應(yīng)用中的瀏覽器程序等。
當(dāng)前所處的網(wǎng)絡(luò)環(huán)境可以為正常網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)狀態(tài)良好)、無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境。正常網(wǎng)絡(luò)環(huán)境是指終端能夠與web服務(wù)器正常通信,web服務(wù)器能夠正常響應(yīng)用戶操控web應(yīng)用程序觸發(fā)的訪問請求。無網(wǎng)絡(luò)環(huán)境是指終端無法與web服務(wù)器建立通信連接,無法進(jìn)行數(shù)據(jù)交互。無網(wǎng)絡(luò)環(huán)境可以是終端的移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)以及無線網(wǎng)絡(luò)(例如,wifi網(wǎng)絡(luò))均斷開,終端無法接入互聯(lián)網(wǎng);或者第一web應(yīng)用程序被限制使用移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)或無線網(wǎng)絡(luò),終端無法與第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器建立通信連接等。無網(wǎng)絡(luò)環(huán)境可以是終端的有線網(wǎng)絡(luò)斷開,終端無法接入互聯(lián)網(wǎng)。
弱網(wǎng)絡(luò)環(huán)境表示網(wǎng)絡(luò)信號(hào)弱,第一web應(yīng)用程序在線加載速度受到較大影響的情況。在弱網(wǎng)絡(luò)環(huán)境下,終端能夠與web服務(wù)器建立通信連接,web服務(wù)器無法響應(yīng)用戶操控第一web應(yīng)用程序觸發(fā)的訪問請求,獲在預(yù)設(shè)時(shí)間內(nèi)只能部分響應(yīng)用戶操控第一web應(yīng)用程序觸發(fā)的訪問請求,預(yù)設(shè)時(shí)間可以為2秒,但并不限于此,具體可根據(jù)實(shí)際需要進(jìn)行設(shè)置。
s102:若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
終端在確認(rèn)當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),終端在檢測到用戶操控第一web應(yīng)用程序觸發(fā)訪問請求時(shí),通過終端內(nèi)的代理子系統(tǒng)攔截第一web應(yīng)用程序的訪問請求,并將攔截到訪問請求轉(zhuǎn)發(fā)至終端內(nèi)的本地服務(wù)子系統(tǒng)。此時(shí),該訪問請求不會(huì)發(fā)送至第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器。
進(jìn)一步地,s102可以包括:若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則激活終端內(nèi)的代理子系統(tǒng),通過所述代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
在本實(shí)施例中,終端僅在確認(rèn)當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),激活代理子系統(tǒng)。終端處于正常網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)狀態(tài)良好)時(shí),不激活代理子系統(tǒng)。
可用理解的是,終端處于正常網(wǎng)絡(luò)環(huán)境時(shí),終端在檢測到用戶操控第一web應(yīng)用程序觸發(fā)訪問請求時(shí),通過web瀏覽器與web服務(wù)器建立通信連接,并從web服務(wù)器獲取訪問請求對(duì)應(yīng)的web應(yīng)用數(shù)據(jù)。其中,終端可以通過超文本傳輸協(xié)議(hypertexttransferprotocol,http)等連接web服務(wù)器訪問web應(yīng)用,獲取web應(yīng)用數(shù)據(jù)。
s103:通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
其中,終端內(nèi)預(yù)先安裝了第一web應(yīng)用程序,本地?cái)?shù)據(jù)庫中預(yù)先保存了第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)。第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)包括第一web應(yīng)用程序自身以及運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)。
本地服務(wù)子系統(tǒng)用于向web瀏覽器提供第一web應(yīng)用程序,包括第一web應(yīng)用程序自身數(shù)據(jù)以及運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)。
第一web應(yīng)用程序自身數(shù)據(jù)可以包括形成第一web應(yīng)用程序的html代碼、javascript代碼或者其它編寫第一web應(yīng)用程序的代碼,或者上述代碼被編譯、壓縮、或者重新加密編碼后的機(jī)器碼等。
上述方案,終端若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
請參閱圖2,圖2是本發(fā)明另一實(shí)施例提供的一種運(yùn)行web應(yīng)用程序的方法的示意流程圖。運(yùn)行web應(yīng)用程序的方法的執(zhí)行主體為終端,終端可以為智能手機(jī)、平板電腦等移動(dòng)終端,也可以為臺(tái)式電腦等固定終端。終端內(nèi)預(yù)先安裝有至少一個(gè)web瀏覽器、一個(gè)代理子系統(tǒng)以及一個(gè)本地服務(wù)子系統(tǒng)。本實(shí)施例中所描述的運(yùn)行web應(yīng)用程序的方法,包括以下步驟:
終端可以執(zhí)行s2011~s2012,或者執(zhí)行s2013~s2015之后,執(zhí)行s202。
s2011:將第一web應(yīng)用程序安裝于本地服務(wù)子系統(tǒng)。
應(yīng)用程序(application,app)有兩種模式,即客戶端/服務(wù)器端程序(c/s)模式和瀏覽器端/服務(wù)器端應(yīng)用程序(b/s)模式。
基于c/s模式的應(yīng)用程序,一般獨(dú)立運(yùn)行??蛻舳说膽?yīng)用程序和數(shù)據(jù)安裝于設(shè)備本地,客戶端的應(yīng)用程序可以在本地獨(dú)立運(yùn)行,一些離線功能可以在脫離網(wǎng)絡(luò)的狀態(tài)下完成,并且客戶端的應(yīng)用程序不依賴于瀏覽器。
基于b/s模式的應(yīng)用程序,一般借助ie、chrome等瀏覽器來運(yùn)行。web應(yīng)用程序是基于b/s模式的應(yīng)用程序。web應(yīng)用程序首先是“應(yīng)用程序”,和用標(biāo)準(zhǔn)的程序語言,如c、c++等編寫出來的程序沒有什么本質(zhì)上的不同。然而web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于web的,而不是采用傳統(tǒng)方法運(yùn)行的。換句話說,它是典型的(b/s)模式的產(chǎn)物。
終端在正常工作,且接入互聯(lián)網(wǎng)時(shí),從互聯(lián)網(wǎng)或第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器中下載第一web應(yīng)用程序的安裝包,并將第一web應(yīng)用程序安裝于本地服務(wù)子系統(tǒng)。
第一web應(yīng)用程序?yàn)楫?dāng)前操控的web應(yīng)用程序,泛指終端內(nèi)的任意一個(gè)web應(yīng)用程序,或者嵌入到web瀏覽器中的web應(yīng)用程序。web應(yīng)用程序產(chǎn)品包括web郵箱、web商店、wikis等等。
s2012:若檢測到通過預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則從遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)保存至本地?cái)?shù)據(jù)庫。
終端檢測用戶是否啟動(dòng)第一web應(yīng)用程序,并監(jiān)測第一web應(yīng)用程序的運(yùn)行狀態(tài)。一般來說,第一web應(yīng)用程序在本地桌面應(yīng)用或web瀏覽器應(yīng)用中以圖標(biāo)方式存在,該web應(yīng)用程序圖標(biāo)關(guān)聯(lián)于一個(gè)web應(yīng)用程序訪問地址。終端可以檢測用戶可以是否通過點(diǎn)擊桌面應(yīng)用上的第一web應(yīng)用程序圖標(biāo)激活web瀏覽器,或者檢測用戶打開web瀏覽器后是否通過web瀏覽器中的第一web應(yīng)用程序圖標(biāo)訪問該web應(yīng)用程序?qū)?yīng)的訪問地址,以識(shí)別用戶是否啟動(dòng)web應(yīng)用程序。
終端當(dāng)檢測到通過預(yù)設(shè)瀏覽器第一次運(yùn)行第一web應(yīng)用程序時(shí),從遠(yuǎn)程服務(wù)器獲取第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并將第一數(shù)據(jù)保存至本地?cái)?shù)據(jù)庫。
其中,預(yù)設(shè)瀏覽器為web瀏覽器。web瀏覽器用于根據(jù)用戶操控第一web應(yīng)用程序發(fā)出的訪問請求連接web服務(wù)器獲取web應(yīng)用數(shù)據(jù)。應(yīng)當(dāng)知道的是,web瀏覽器包括如微軟的ie(internetexplorer)瀏覽器、谷歌的chrome瀏覽器等以獨(dú)立的網(wǎng)頁瀏覽器應(yīng)用的形式存在的瀏覽器,也可以包括嵌入到其它功能應(yīng)用中可以在這些功能應(yīng)用內(nèi)置界面中獨(dú)立打開網(wǎng)頁頁面的瀏覽器程序,如嵌入到微信應(yīng)用、qq應(yīng)用等社交應(yīng)用中的瀏覽器程序等。
遠(yuǎn)程服務(wù)器為第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器。終端可以將第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)保存在本地?cái)?shù)據(jù)庫,第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)包括運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)以及第一web應(yīng)用程序自身數(shù)據(jù)。
第一web應(yīng)用程序自身數(shù)據(jù)可以包括形成第一web應(yīng)用程序的html代碼、javascript代碼或者其它編寫第一web應(yīng)用程序的代碼,或者上述代碼被編譯、壓縮、或者重新加密編碼后的機(jī)器碼等。
保存在本地?cái)?shù)據(jù)庫中的第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),供本地服務(wù)子系統(tǒng)調(diào)用。
s2013:若檢測到在正常網(wǎng)絡(luò)環(huán)境下通過所述預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則激活所述本地服務(wù)子系統(tǒng)。
終端預(yù)先安裝第一web應(yīng)用程序,此時(shí),第一web應(yīng)用程序可以安裝于本地服務(wù)子系統(tǒng),也可以安裝于除本地服務(wù)子系統(tǒng)之外的存儲(chǔ)空間。
終端在檢測到當(dāng)前處于正常網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)狀態(tài)良好),并在正常網(wǎng)絡(luò)環(huán)境下通過預(yù)設(shè)瀏覽器第一次運(yùn)行第一web應(yīng)用程序時(shí),激活本地服務(wù)子系統(tǒng)。
正常網(wǎng)絡(luò)環(huán)境是指終端能夠與web服務(wù)器正常通信,web服務(wù)器能夠正常響應(yīng)用戶操控web應(yīng)用程序觸發(fā)的訪問請求。
s2014:所述本地服務(wù)子系統(tǒng)從所述遠(yuǎn)程服務(wù)器獲取所述第一數(shù)據(jù)。
終端連接到遠(yuǎn)程服務(wù)器,終端通過本地服務(wù)子系統(tǒng)從遠(yuǎn)程服務(wù)器中獲取第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)。
第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)包括運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)以及第一web應(yīng)用程序自身數(shù)據(jù)。
第一web應(yīng)用程序自身數(shù)據(jù)可以包括形成第一web應(yīng)用程序的html代碼、javascript代碼或者其它編寫第一web應(yīng)用程序的代碼,或者上述代碼被編譯、壓縮、或者重新加密編碼后的機(jī)器碼等。
可以理解的是,s2013、s2014可以不分先后順序執(zhí)行。
s2015:根據(jù)所述第一數(shù)據(jù)在本地建立所述遠(yuǎn)程服務(wù)器的鏡像系統(tǒng)。
終端根據(jù)第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)在本地建立遠(yuǎn)程服務(wù)器的鏡像系統(tǒng),從而建立本地服務(wù)子系統(tǒng)。遠(yuǎn)程服務(wù)器的鏡像系統(tǒng)即為本地服務(wù)子系統(tǒng)。
s202:若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。
終端檢測用戶是否啟動(dòng)web應(yīng)用程序;當(dāng)檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。
當(dāng)前所處的網(wǎng)絡(luò)環(huán)境可以為正常網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)狀態(tài)良好)、無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境。正常網(wǎng)絡(luò)環(huán)境是指終端能夠與web服務(wù)器正常通信,web服務(wù)器能夠正常響應(yīng)用戶操控web應(yīng)用程序觸發(fā)的訪問請求。無網(wǎng)絡(luò)環(huán)境是指終端無法與web服務(wù)器建立通信連接,無法進(jìn)行數(shù)據(jù)交互。無網(wǎng)絡(luò)環(huán)境可以是終端的移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)以及無線網(wǎng)絡(luò)(例如,wifi網(wǎng)絡(luò))均斷開,終端無法接入互聯(lián)網(wǎng);或者第一web應(yīng)用程序被限制使用移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)或無線網(wǎng)絡(luò),終端無法與第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器建立通信連接等。無網(wǎng)絡(luò)環(huán)境可以是終端的有線網(wǎng)絡(luò)斷開,終端無法接入互聯(lián)網(wǎng)。
弱網(wǎng)絡(luò)環(huán)境表示網(wǎng)絡(luò)信號(hào)弱,第一web應(yīng)用程序在線加載速度受到較大影響的情況。在弱網(wǎng)絡(luò)環(huán)境下,終端能夠與web服務(wù)器建立通信連接,web服務(wù)器無法響應(yīng)用戶操控第一web應(yīng)用程序觸發(fā)的訪問請求,獲在預(yù)設(shè)時(shí)間內(nèi)只能部分響應(yīng)用戶操控第一web應(yīng)用程序觸發(fā)的訪問請求,預(yù)設(shè)時(shí)間可以為2秒,但并不限于此,具體可根據(jù)實(shí)際需要進(jìn)行設(shè)置。
進(jìn)一步地,s202可以包括:若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則檢測是否能夠通過所述預(yù)設(shè)瀏覽器與所述第一web應(yīng)用程序?qū)?yīng)的遠(yuǎn)程服務(wù)器建立通信連接;其中,若檢測到無法通過所述預(yù)設(shè)瀏覽器與所述遠(yuǎn)程服務(wù)器建立通信連接,則識(shí)別為當(dāng)前處于無網(wǎng)絡(luò)環(huán)境。
進(jìn)一步地,終端在確認(rèn)能夠通過預(yù)設(shè)瀏覽器與遠(yuǎn)程服務(wù)器建立通信連接時(shí),s202還可以包括:通過所述預(yù)設(shè)瀏覽器向所述遠(yuǎn)程服務(wù)器發(fā)送請求信息;檢測在預(yù)設(shè)時(shí)間段內(nèi)是否能夠接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息;其中,若在預(yù)設(shè)時(shí)間段內(nèi)無法接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息,則識(shí)別為當(dāng)前處于弱網(wǎng)絡(luò)環(huán)境。
終端在確認(rèn)能夠通過預(yù)設(shè)瀏覽器與遠(yuǎn)程服務(wù)器建立通信連接時(shí),通過預(yù)設(shè)瀏覽器向遠(yuǎn)程服務(wù)器發(fā)送請求信息,請求信息用于請求獲取第一web應(yīng)用程序的數(shù)據(jù)。終端檢測在預(yù)設(shè)時(shí)間段內(nèi)是否能夠接收到遠(yuǎn)程服務(wù)器根據(jù)該請求信息發(fā)送的響應(yīng)信息,或在預(yù)設(shè)時(shí)間段內(nèi)是否能夠接收到遠(yuǎn)程服務(wù)器根據(jù)該請求信息發(fā)送的完整的響應(yīng)信息。
其中,終端在預(yù)設(shè)時(shí)間段內(nèi)無法接收到遠(yuǎn)程服務(wù)器根據(jù)該請求信息發(fā)送的響應(yīng)信息時(shí),識(shí)別為當(dāng)前處于弱網(wǎng)絡(luò)環(huán)境。終端在預(yù)設(shè)時(shí)間段內(nèi)只接收到遠(yuǎn)程服務(wù)器根據(jù)該請求信息發(fā)送的部分響應(yīng)信息,無法接收到該請求信息對(duì)應(yīng)的完整的響應(yīng)信息時(shí),則或完整的響應(yīng)信息,則識(shí)別為當(dāng)前處于弱網(wǎng)絡(luò)環(huán)境。
預(yù)設(shè)時(shí)間段可以為2秒,但并不限于此,具體可根據(jù)實(shí)際需要進(jìn)行設(shè)置,此處不做限制。預(yù)設(shè)時(shí)間段的起始時(shí)刻為終端向第一web應(yīng)用程序?qū)?yīng)的第一web服務(wù)器發(fā)送請求信息的時(shí)刻。
s203:若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
終端在確認(rèn)當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),終端在檢測到用戶操控第一web應(yīng)用程序觸發(fā)訪問請求時(shí),通過終端內(nèi)的代理子系統(tǒng)攔截第一web應(yīng)用程序的訪問請求,并將攔截到訪問請求轉(zhuǎn)發(fā)至終端內(nèi)的本地服務(wù)子系統(tǒng)。此時(shí),該訪問請求不會(huì)發(fā)送至第一web應(yīng)用程序?qū)?yīng)的web服務(wù)器。
進(jìn)一步地,終端當(dāng)執(zhí)行s2011、s2012、s202之后,執(zhí)行s203時(shí),s203可以包括:若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則激活終端內(nèi)的代理子系統(tǒng),通過所述代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
在本實(shí)施例中,終端僅在確認(rèn)當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),激活代理子系統(tǒng)。終端處于正常網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)狀態(tài)良好)時(shí),不激活代理子系統(tǒng)。
可用理解的是,終端處于正常網(wǎng)絡(luò)環(huán)境時(shí),終端在檢測到用戶操控第一web應(yīng)用程序觸發(fā)訪問請求時(shí),通過web瀏覽器與web服務(wù)器建立通信連接,并從web服務(wù)器獲取訪問請求對(duì)應(yīng)的web應(yīng)用數(shù)據(jù)。其中,終端可以通過超文本傳輸協(xié)議(hypertexttransferprotocol,http)等連接web服務(wù)器訪問web應(yīng)用,獲取web應(yīng)用數(shù)據(jù)。
s204:通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
其中,終端內(nèi)預(yù)先安裝了第一web應(yīng)用程序,本地?cái)?shù)據(jù)庫中預(yù)先保存了第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)。第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)包括第一web應(yīng)用程序自身以及運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)。
本地服務(wù)子系統(tǒng)用于向web瀏覽器提供第一web應(yīng)用程序,包括第一web應(yīng)用程序自身以及運(yùn)行第一web應(yīng)用程序所必須的數(shù)據(jù)。
第一web應(yīng)用程序自身可以包括形成第一web應(yīng)用程序的html代碼、javascript代碼或者其它編寫第一web應(yīng)用程序的代碼,或者上述代碼被編譯、壓縮、或者重新加密編碼后的機(jī)器碼等。
進(jìn)一步地,運(yùn)行web應(yīng)用程序的方法還可以包括s205:若檢測到與所述遠(yuǎn)程服務(wù)器建立通信連接,則從所述遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),并根據(jù)所述更新數(shù)據(jù)更新所述第一數(shù)據(jù)。
終端在安裝第一web應(yīng)用程序之后,并且在與遠(yuǎn)程服務(wù)器建立通信連接時(shí),均可以從所述遠(yuǎn)程服務(wù)器獲取第一web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),并更新保存在本地?cái)?shù)據(jù)庫中的第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù)。
可以理解的是,s205與s202~s204不分先后順序執(zhí)行。
上述方案,終端若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
終端在安裝web應(yīng)用程序之后,且檢測到與遠(yuǎn)程服務(wù)器建立通信連接時(shí),從遠(yuǎn)程服務(wù)器獲取web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),以更新第一數(shù)據(jù)。由于在聯(lián)網(wǎng)狀態(tài)下更新第一數(shù)據(jù),能夠在處于從而在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),保持本地的第一數(shù)據(jù)與遠(yuǎn)程服務(wù)器中的第一數(shù)據(jù)保持?jǐn)?shù)據(jù)同步,正常運(yùn)行更新的web應(yīng)用程序,便于用戶體驗(yàn)新功能新界面等。
參見圖3,圖3是本發(fā)明另一實(shí)施例提供的一種終端的示意性框圖。終端可以為手機(jī)、平板電腦等移動(dòng)終端,但并不限于此,還可以為其他終端,此處不作限定。本實(shí)施例的終端300包括的各單元用于執(zhí)行圖1對(duì)應(yīng)的實(shí)施例中的各步驟,具體請參閱圖1以及圖1對(duì)應(yīng)的實(shí)施例中的相關(guān)描述,此處不贅述。本實(shí)施例的終端包括:檢測單元310、攔截單元320以及響應(yīng)單元330。
檢測單元310用于若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。檢測單元310將當(dāng)前所處的網(wǎng)絡(luò)環(huán)境的信息向攔截單元320發(fā)送。
攔截單元320用于若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
響應(yīng)單元330用于通過所述本地服務(wù)子系統(tǒng)根據(jù)所述訪問請求從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
上述方案,終端若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
參見圖4,圖4是本發(fā)明另一實(shí)施例提供的一種終端的示意性框圖。終端可以為手機(jī)、平板電腦等移動(dòng)終端,但并不限于此,還可以為其他終端,此處不作限定。本實(shí)施例的終端400包括的各單元用于執(zhí)行圖2對(duì)應(yīng)的實(shí)施例中的各步驟,具體請參閱圖2以及圖2對(duì)應(yīng)的實(shí)施例中的相關(guān)描述,此處不贅述。本實(shí)施例的終端包括:安裝單元411、第一獲取單元412、激活單元413、第二獲取單元414、建立單元415、檢測單元420、攔截單元430、響應(yīng)單元440以及更新單元450。其中,終端包括安裝單元411、第一獲取單元412時(shí),不包括激活單元413、第二獲取單元414、建立單元415;同樣的,終端包括激活單元413、第二獲取單元414、建立單元415時(shí),不包括安裝單元411、第一獲取單元412。
安裝單元411用于將所述第一web應(yīng)用程序安裝于所述本地服務(wù)子系統(tǒng)。
第一獲取單元412用于若檢測到通過所述預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則從遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)保存至所述本地?cái)?shù)據(jù)庫。
激活單元413用于若檢測到在正常網(wǎng)絡(luò)環(huán)境下通過所述預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則激活所述本地服務(wù)子系統(tǒng)。
第二獲取單元414用于所述本地服務(wù)子系統(tǒng)從所述遠(yuǎn)程服務(wù)器獲取所述第一數(shù)據(jù)。
建立單元415用于根據(jù)所述第一數(shù)據(jù)在本地建立所述遠(yuǎn)程服務(wù)器的鏡像系統(tǒng)。
檢測單元420用于若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。
進(jìn)一步地,檢測單元420具體用于:若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則檢測是否能夠通過所述預(yù)設(shè)瀏覽器與所述第一web應(yīng)用程序?qū)?yīng)的遠(yuǎn)程服務(wù)器建立通信連接;或者通過所述預(yù)設(shè)瀏覽器向所述遠(yuǎn)程服務(wù)器發(fā)送請求信息;檢測在預(yù)設(shè)時(shí)間段內(nèi)是否能夠接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息;其中,若檢測到無法通過所述預(yù)設(shè)瀏覽器與所述遠(yuǎn)程服務(wù)器建立通信連接,則識(shí)別為當(dāng)前處于無網(wǎng)絡(luò)環(huán)境;若在預(yù)設(shè)時(shí)間段內(nèi)無法接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息,則識(shí)別為當(dāng)前處于弱網(wǎng)絡(luò)環(huán)境。
攔截單元430用于若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
響應(yīng)單元440用于通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
進(jìn)一步地,更新單元450用于若檢測到與所述遠(yuǎn)程服務(wù)器建立通信連接,則從所述遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),并根據(jù)所述更新數(shù)據(jù)更新所述第一數(shù)據(jù)。
上述方案,終端若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
終端在安裝web應(yīng)用程序之后,且檢測到與遠(yuǎn)程服務(wù)器建立通信連接時(shí),從遠(yuǎn)程服務(wù)器獲取web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),以更新第一數(shù)據(jù)。由于在聯(lián)網(wǎng)狀態(tài)下更新第一數(shù)據(jù),能夠在處于從而在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),保持本地的第一數(shù)據(jù)與遠(yuǎn)程服務(wù)器中的第一數(shù)據(jù)保持?jǐn)?shù)據(jù)同步,正常運(yùn)行更新的web應(yīng)用程序,便于用戶體驗(yàn)新功能新界面等。
參見圖5,圖5是本發(fā)明再一實(shí)施例提供的一種終端示意性框圖。如圖5所示的本實(shí)施例中的終端500可以包括:一個(gè)或多個(gè)處理器510;一個(gè)或多個(gè)輸入設(shè)備520,一個(gè)或多個(gè)輸出設(shè)備530和存儲(chǔ)器540。上述處理器510、輸入設(shè)備520、輸出設(shè)備530和存儲(chǔ)器540通過總線550連接。
存儲(chǔ)器540用于存儲(chǔ)程序指令。
處理器510用于根據(jù)存儲(chǔ)器540存儲(chǔ)的程序指令執(zhí)行以下操作:
處理器510用于若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境。
處理器510還用于若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng)。
處理器510還用于通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求。
進(jìn)一步地,處理器510具體用于若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則檢測是否能夠通過所述預(yù)設(shè)瀏覽器與所述第一web應(yīng)用程序?qū)?yīng)的遠(yuǎn)程服務(wù)器建立通信連接;或者通過所述預(yù)設(shè)瀏覽器向所述遠(yuǎn)程服務(wù)器發(fā)送請求信息;檢測在預(yù)設(shè)時(shí)間段內(nèi)是否能夠接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息;其中,若檢測到無法通過所述預(yù)設(shè)瀏覽器與所述遠(yuǎn)程服務(wù)器建立通信連接,則識(shí)別為當(dāng)前處于無網(wǎng)絡(luò)環(huán)境;若在預(yù)設(shè)時(shí)間段內(nèi)無法接收到所述遠(yuǎn)程服務(wù)器根據(jù)所述請求信息發(fā)送的響應(yīng)信息或完整的響應(yīng)信息,則識(shí)別為當(dāng)前處于弱網(wǎng)絡(luò)環(huán)境。
進(jìn)一步地,處理器510還用于將所述第一web應(yīng)用程序安裝于所述本地服務(wù)子系統(tǒng);若檢測到通過所述預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則從遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)保存至所述本地?cái)?shù)據(jù)庫。
進(jìn)一步地,處理器510還用于若檢測到在正常網(wǎng)絡(luò)環(huán)境下通過所述預(yù)設(shè)瀏覽器第一次運(yùn)行所述第一web應(yīng)用程序,則激活所述本地服務(wù)子系統(tǒng);所述本地服務(wù)子系統(tǒng)從所述遠(yuǎn)程服務(wù)器獲取所述第一數(shù)據(jù);根據(jù)所述第一數(shù)據(jù)在本地建立所述遠(yuǎn)程服務(wù)器的鏡像系統(tǒng)。
進(jìn)一步地,處理器510還用于若檢測到與所述遠(yuǎn)程服務(wù)器建立通信連接,則從所述遠(yuǎn)程服務(wù)器獲取所述第一web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),并根據(jù)所述更新數(shù)據(jù)更新所述第一數(shù)據(jù)。
上述方案,終端若檢測到通過預(yù)設(shè)瀏覽器運(yùn)行第一web應(yīng)用程序,則確定當(dāng)前所處的網(wǎng)絡(luò)環(huán)境;若當(dāng)前處于無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境,則通過終端內(nèi)的代理子系統(tǒng)攔截所述第一web應(yīng)用程序的訪問請求,并將所述訪問請求轉(zhuǎn)發(fā)至所述終端內(nèi)的本地服務(wù)子系統(tǒng);通過所述本地服務(wù)子系統(tǒng)從本地?cái)?shù)據(jù)庫調(diào)用所述第一web應(yīng)用程序?qū)?yīng)的第一數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)響應(yīng)所述訪問請求;能夠在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,正常運(yùn)行web應(yīng)用程序,避免終端在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境下,無法使用web應(yīng)用程序的情況。
終端在安裝web應(yīng)用程序之后,且檢測到與遠(yuǎn)程服務(wù)器建立通信連接時(shí),從遠(yuǎn)程服務(wù)器獲取web應(yīng)用程序?qū)?yīng)的更新數(shù)據(jù),以更新第一數(shù)據(jù)。由于在聯(lián)網(wǎng)狀態(tài)下更新第一數(shù)據(jù),能夠在處于從而在無網(wǎng)絡(luò)環(huán)境或弱網(wǎng)絡(luò)環(huán)境時(shí),保持本地的第一數(shù)據(jù)與遠(yuǎn)程服務(wù)器中的第一數(shù)據(jù)保持?jǐn)?shù)據(jù)同步,正常運(yùn)行更新的web應(yīng)用程序,便于用戶體驗(yàn)新功能新界面等。
應(yīng)當(dāng)理解,在本發(fā)明實(shí)施例中,所稱處理器510可以是中央處理單元(centralprocessingunit,cpu),該處理器還可以是其他通用處理器、數(shù)字信號(hào)處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
輸入設(shè)備520可以包括觸控板、指紋采傳感器(用于采集用戶的指紋信息和指紋的方向信息)、麥克風(fēng)等,輸出設(shè)備530可以包括顯示器(lcd等)、揚(yáng)聲器等。
該存儲(chǔ)器540可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器510提供指令和數(shù)據(jù)。存儲(chǔ)器540的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器540還可以存儲(chǔ)設(shè)備類型的信息。
具體實(shí)現(xiàn)中,本發(fā)明實(shí)施例中所描述的處理器510、輸入設(shè)備520、輸出設(shè)備530可執(zhí)行本發(fā)明實(shí)施例提供的運(yùn)行web應(yīng)用程序的方法的第一實(shí)施例和第二實(shí)施例中所描述的實(shí)現(xiàn)方式,也可執(zhí)行本發(fā)明實(shí)施例所描述的終端的實(shí)現(xiàn)方式,在此不贅述。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的終端和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。
本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
本發(fā)明實(shí)施例終端中的單元可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本發(fā)明實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以是兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。