本公開涉及計(jì)算機(jī)技術(shù),特別涉及一種移動(dòng)端資源加載方法和裝置。
背景技術(shù):
移動(dòng)互聯(lián)網(wǎng)發(fā)展至今,單一功能的移動(dòng)應(yīng)用越來越無法滿足用戶日益多元化的需求,目前主流的方式是在各自應(yīng)用內(nèi)盡可能引入多樣化的場(chǎng)景資源以豐富應(yīng)用內(nèi)容,例如微信應(yīng)用中設(shè)置公眾號(hào)、支付寶應(yīng)用中增加服務(wù)窗等。這樣不可避免的出現(xiàn)需要在應(yīng)用中加載外部資源(例如,網(wǎng)頁、圖片、視頻等),該應(yīng)用可以稱為宿主app,例如,當(dāng)用戶在宿主app中點(diǎn)擊訪問外部網(wǎng)站地址時(shí),宿主app可以使用內(nèi)置瀏覽器訪問外部網(wǎng)站,加載網(wǎng)站資源,宿主app加載資源完成后顯示外部網(wǎng)站內(nèi)容。但是,宿主app對(duì)外部網(wǎng)站資源的訪問速率不穩(wěn)定,資源的顯示不太流暢,無法保障用戶在移動(dòng)網(wǎng)絡(luò)下使用的可靠性和流暢性。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本公開提供一種移動(dòng)端資源加載方法和裝置,以提高移動(dòng)端資源加載的速率。
具體地,本公開是通過如下技術(shù)方案實(shí)現(xiàn)的:
第一方面,提供一種移動(dòng)端資源加載方法,所述方法應(yīng)用于移動(dòng)端應(yīng)用客戶端加載外部網(wǎng)站的網(wǎng)站資源,所述方法包括:
在接收到對(duì)所述網(wǎng)站資源的訪問請(qǐng)求時(shí),將所述網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端;
接收所述移動(dòng)端應(yīng)用服務(wù)端反饋的所述網(wǎng)站資源,所述網(wǎng)站資源是所述移動(dòng)端應(yīng)用服務(wù)端根據(jù)所述資源地址向所述外部網(wǎng)站獲取。
第二方面,提供一種移動(dòng)端資源加載方法,所述方法應(yīng)用于移動(dòng)端應(yīng)用服務(wù)端;所述方法包括:
根據(jù)移動(dòng)端應(yīng)用客戶端發(fā)送的資源地址,向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源;
將所述網(wǎng)站資源反饋至所述移動(dòng)端應(yīng)用客戶端,以使得所述移動(dòng)端應(yīng)用客戶端加載所述網(wǎng)站資源。
第三方面,提供一種移動(dòng)端資源加載系統(tǒng),所述系統(tǒng)包括:移動(dòng)端應(yīng)用客戶端和移動(dòng)端應(yīng)用服務(wù)端;
所述移動(dòng)端應(yīng)用客戶端,用于在接收到對(duì)所述網(wǎng)站資源的訪問請(qǐng)求時(shí),將所述網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端;
所述移動(dòng)端應(yīng)用服務(wù)端,用于根據(jù)所述移動(dòng)端應(yīng)用客戶端發(fā)送的資源地址,向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源,并將所述網(wǎng)站資源反饋至所述移動(dòng)端應(yīng)用客戶端,以使得所述移動(dòng)端應(yīng)用客戶端加載所述網(wǎng)站資源。
第四方面,提供一種移動(dòng)端資源加載裝置,所述裝置應(yīng)用于移動(dòng)端應(yīng)用客戶端加載外部網(wǎng)站的網(wǎng)站資源,所述裝置包括:
資源請(qǐng)求模塊,用于在接收到對(duì)所述網(wǎng)站資源的訪問請(qǐng)求時(shí),將所述網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端;
資源接收模塊,用于接收所述移動(dòng)端應(yīng)用服務(wù)端反饋的所述網(wǎng)站資源,所述網(wǎng)站資源是所述移動(dòng)端應(yīng)用服務(wù)端根據(jù)所述資源地址向所述外部網(wǎng)站獲取。
第五方面,提供一種移動(dòng)端資源加載裝置,所述裝置應(yīng)用于移動(dòng)端應(yīng)用服務(wù)端;所述裝置包括:
資源獲取模塊,用于根據(jù)移動(dòng)端應(yīng)用客戶端發(fā)送的資源地址,向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源;
資源反饋模塊,用于將所述網(wǎng)站資源反饋至所述移動(dòng)端應(yīng)用客戶端,以使得所述移動(dòng)端應(yīng)用客戶端加載所述網(wǎng)站資源。
本公開的移動(dòng)端資源加載方法和裝置,通過由移動(dòng)端應(yīng)用服務(wù)端代替移動(dòng)端應(yīng)用客戶端,向外部網(wǎng)站服務(wù)器獲取資源,由于移動(dòng)端應(yīng)用服務(wù)端的網(wǎng)絡(luò)穩(wěn)定性和速率都較高,從而顯著提升了移動(dòng)端資源加載的速率。
附圖說明
圖1是本公開實(shí)施例提供的移動(dòng)端資源加載方法的應(yīng)用系統(tǒng)圖;
圖2是本公開實(shí)施例提供的一種移動(dòng)端資源加載方法的流程圖;
圖3是本公開實(shí)施例提供的另一種移動(dòng)端資源加載方法的流程圖;
圖4是本公開實(shí)施例提供的一種移動(dòng)端資源加載裝置的結(jié)構(gòu)示意圖;
圖5是本公開實(shí)施例提供的另一種移動(dòng)端資源加載裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)端應(yīng)用中越來越多的引入外部資源,例如,可以在一個(gè)移動(dòng)端app中加載外部網(wǎng)站的圖片、視頻、網(wǎng)頁內(nèi)容等網(wǎng)站資源,以使得app呈現(xiàn)場(chǎng)景更加豐富。
如圖1所示,相對(duì)于外部網(wǎng)站11來說,移動(dòng)端app可以稱為宿主app12,即該外部網(wǎng)站11可以在宿主app中加載顯示。而該宿主app12可以通過容器加載外部資源,該容器可以是app的內(nèi)置瀏覽器。例如,外部網(wǎng)站放入宿主app后,當(dāng)用戶13點(diǎn)擊訪問宿主app12中的外部網(wǎng)站url14時(shí),宿主app12可以通過內(nèi)置瀏覽器15與外部網(wǎng)站11進(jìn)行通訊交互,使得內(nèi)置瀏覽器15可以獲取外部網(wǎng)站的網(wǎng)站資源,并在宿主app12中進(jìn)行渲染展示。
本公開的例子中,為了使得宿主app加載外部網(wǎng)站資源更加流暢,對(duì)圖1中的宿主app12與外部網(wǎng)站之間的通訊交互方式進(jìn)行了改進(jìn),如圖1所示,設(shè)置宿主app服務(wù)端16用于在宿主app12與外部網(wǎng)站之間的資源轉(zhuǎn)發(fā),由宿主app服務(wù)端16和宿主app12組成移動(dòng)端資源加載系統(tǒng),宿主app服務(wù)端16代替宿主app12獲取外部網(wǎng)站資源。這主要是考慮到如果由宿主app12直接與外部網(wǎng)站之間交互,是直接在移動(dòng)端網(wǎng)絡(luò)下訪問,而移動(dòng)端網(wǎng)絡(luò)可能會(huì)受到各種環(huán)境因素的影響而穩(wěn)定性較差,并且可能會(huì)受到帶寬限制導(dǎo)致訪問速率有限;但是如果由宿主app服務(wù)端16與外部網(wǎng)站之間交互,宿主app服務(wù)端可以對(duì)接各種國(guó)家主干網(wǎng),無論穩(wěn)定性和帶寬都遠(yuǎn)優(yōu)于移動(dòng)端網(wǎng)絡(luò),因此可以提高資源的獲取速率。
結(jié)合圖1,圖2描述了一種移動(dòng)端資源加載方法的流程圖,可以包括:
在步驟201中,移動(dòng)端應(yīng)用客戶端接收對(duì)外部網(wǎng)站的網(wǎng)站資源的訪問請(qǐng)求。
例如,移動(dòng)端應(yīng)用客戶端可以是在用戶手機(jī)上安裝的一個(gè)應(yīng)用app,也即圖1中的宿主app12。當(dāng)用戶在該app內(nèi)點(diǎn)擊外部網(wǎng)站的網(wǎng)址時(shí),app則接受到對(duì)該外部網(wǎng)站的網(wǎng)站資源的訪問請(qǐng)求。所述的網(wǎng)站資源,可以包括:網(wǎng)頁內(nèi)容,圖片或者視頻。
在步驟202中,移動(dòng)端應(yīng)用客戶端將網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端,請(qǐng)求移動(dòng)端應(yīng)用服務(wù)端進(jìn)行代理訪問。
例如,移動(dòng)端應(yīng)用服務(wù)端可以是圖1中的宿主app服務(wù)端16。當(dāng)在步驟201中宿主app12檢測(cè)到對(duì)外部網(wǎng)站的訪問請(qǐng)求時(shí),可以通過與宿主app服務(wù)端16之間的長(zhǎng)連接通道,將所述資源地址發(fā)送至宿主app服務(wù)端16。
在步驟203中,移動(dòng)端應(yīng)用服務(wù)端根據(jù)資源地址,向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源。
本步驟中,宿主app服務(wù)端16可以通過服務(wù)端的高速網(wǎng)絡(luò),訪問外部網(wǎng)站的服務(wù)器,服務(wù)端的高速網(wǎng)絡(luò)可以對(duì)接各種國(guó)家主干網(wǎng),穩(wěn)定性較好且?guī)捿^高,將顯著提升資源的下載速率。
在步驟204中,移動(dòng)端應(yīng)用服務(wù)端將網(wǎng)站資源反饋至移動(dòng)端應(yīng)用客戶端。
本步驟中,宿主app服務(wù)端16可以將由外部網(wǎng)站服務(wù)器獲取的資源,傳輸至宿主app12,以使得宿主app12在步驟205中加載資源,顯示網(wǎng)站內(nèi)容。
在步驟205中,移動(dòng)端應(yīng)用客戶端加載網(wǎng)站資源。
本例子的移動(dòng)端資源加載方法,通過由移動(dòng)端應(yīng)用服務(wù)端代替移動(dòng)端應(yīng)用客戶端,向外部網(wǎng)站服務(wù)器獲取資源,由于移動(dòng)端應(yīng)用服務(wù)端的網(wǎng)絡(luò)穩(wěn)定性和速率都較高,從而顯著提升了移動(dòng)端資源加載的速率。
在另一個(gè)例子中,移動(dòng)端應(yīng)用服務(wù)端還可以進(jìn)一步提高移動(dòng)端應(yīng)用客戶端獲取資源的效率,在該例子中,服務(wù)端可以將從外部網(wǎng)站得到的資源數(shù)據(jù)進(jìn)行緩存,并在客戶端請(qǐng)求資源數(shù)據(jù)時(shí)優(yōu)先從本地提供,從而進(jìn)一步提高速率。
圖3示例了一種移動(dòng)端資源加載方法的流程圖,可以包括:
在步驟301中,移動(dòng)端應(yīng)用客戶端接收對(duì)外部網(wǎng)站的網(wǎng)站資源的訪問請(qǐng)求。
在步驟302中,移動(dòng)端應(yīng)用客戶端將網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端,請(qǐng)求移動(dòng)端應(yīng)用服務(wù)端進(jìn)行代理訪問。
在步驟303中,移動(dòng)端應(yīng)用服務(wù)端檢查本地是否存儲(chǔ)有資源地址對(duì)應(yīng)的網(wǎng)站資源。
例如,圖1中的宿主app服務(wù)端16在接收到步驟302中客戶端發(fā)送的資源地址后,可以優(yōu)先根據(jù)該地址查看本地是否存在對(duì)應(yīng)的資源。
如果判斷結(jié)果為否,本地未存儲(chǔ)有所述網(wǎng)站資源,則執(zhí)行步驟304。
如果判斷結(jié)果為是,本地存儲(chǔ)有所述網(wǎng)站資源,則可以由本地獲取所述網(wǎng)站資源,所述網(wǎng)站資源是之前由外部網(wǎng)站獲取;比如,該資源可以是先前由外部網(wǎng)站服務(wù)器獲取后緩存在本地的。并可以繼續(xù)執(zhí)行步驟306。
在步驟304中,移動(dòng)端應(yīng)用服務(wù)端向外部網(wǎng)站獲取資源地址對(duì)應(yīng)的網(wǎng)站資源。本步驟中,宿主app服務(wù)端16可以通過服務(wù)端的高速網(wǎng)絡(luò),訪問外部網(wǎng)站的服務(wù)器,獲取外部網(wǎng)站的圖片、視頻等資源。
在步驟305中,移動(dòng)端應(yīng)用服務(wù)端將所述網(wǎng)站資源在本地存儲(chǔ)。
例如,宿主app服務(wù)端16獲取資源數(shù)據(jù)后,可將數(shù)據(jù)進(jìn)行近端cdn(contentdeliverynetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))緩存,這樣由于服務(wù)端只需要在第一次訪問時(shí)進(jìn)行資源獲取,后續(xù)用戶訪問該資源時(shí)由于緩存數(shù)據(jù)已存在,只需直接返回內(nèi)容即可,從而能進(jìn)一步提高資源反饋的速率。
在步驟306中,移動(dòng)端應(yīng)用服務(wù)端將網(wǎng)站資源反饋至移動(dòng)端應(yīng)用客戶端。
本步驟中,宿主app12與宿主app服務(wù)端16之間的長(zhǎng)連接通道,不僅可以保證連接長(zhǎng)期有效(無需每次使用時(shí)建立),可以實(shí)時(shí)保持在線連接,并且通訊過程中可以采用各種壓縮算法進(jìn)行流量壓縮,以降低通訊流量,對(duì)所述網(wǎng)站資源進(jìn)行流量壓縮傳輸。
在步驟307中,移動(dòng)端應(yīng)用客戶端加載網(wǎng)站資源。
本例子的移動(dòng)端資源加載方法,通過由移動(dòng)端應(yīng)用服務(wù)端代替移動(dòng)端應(yīng)用客戶端,向外部網(wǎng)站服務(wù)器獲取資源,由于移動(dòng)端應(yīng)用服務(wù)端的網(wǎng)絡(luò)穩(wěn)定性和速率都較高,從而顯著提升了移動(dòng)端資源加載的速率;并且,移動(dòng)端應(yīng)用服務(wù)端和客戶端之間的長(zhǎng)連接通道可以采用壓縮等技術(shù)手段,有效降低用戶訪問時(shí)的流量;此外,移動(dòng)端應(yīng)用服務(wù)端還可以對(duì)訪問資源進(jìn)行緩存等操作,能進(jìn)一步提升資源的獲取速率。本例子的方法能有效提升用戶在移動(dòng)網(wǎng)絡(luò)下使用應(yīng)用訪問外部資源時(shí)的流暢度。
為了實(shí)現(xiàn)上述的移動(dòng)端資源加載方法,本公開例子中還提供了一種移動(dòng)端資源加載裝置,如圖4所示,該裝置應(yīng)用于移動(dòng)端應(yīng)用客戶端加載外部網(wǎng)站的網(wǎng)站資源,可以包括:資源請(qǐng)求模塊41和資源接收模塊42。
資源請(qǐng)求模塊41,用于在接收到對(duì)所述網(wǎng)站資源的訪問請(qǐng)求時(shí),將所述網(wǎng)站資源的資源地址發(fā)送至移動(dòng)端應(yīng)用服務(wù)端;
資源接收模塊42,用于接收所述移動(dòng)端應(yīng)用服務(wù)端反饋的所述網(wǎng)站資源,所述網(wǎng)站資源是所述移動(dòng)端應(yīng)用服務(wù)端根據(jù)所述資源地址向所述外部網(wǎng)站獲取。
此外,本公開例子中還提供了一種移動(dòng)端資源加載裝置,如圖5所示,該裝置應(yīng)用于移動(dòng)端應(yīng)用服務(wù)端;該裝置可以包括:資源獲取模塊51和資源反饋模塊52。
資源獲取模塊51,用于根據(jù)移動(dòng)端應(yīng)用客戶端發(fā)送的資源地址,向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源;
資源反饋模塊52,用于將所述網(wǎng)站資源反饋至所述移動(dòng)端應(yīng)用客戶端,以使得所述移動(dòng)端應(yīng)用客戶端加載所述網(wǎng)站資源。
在一個(gè)例子中,資源獲取模塊51,具體用于:檢查本地是否存儲(chǔ)有所述資源地址對(duì)應(yīng)的網(wǎng)站資源;若本地存儲(chǔ)有所述網(wǎng)站資源,則獲取所述網(wǎng)站資源,所述網(wǎng)站資源是之前由外部網(wǎng)站獲??;否則,若本地未存儲(chǔ)有所述網(wǎng)站資源,則向外部網(wǎng)站獲取所述資源地址對(duì)應(yīng)的網(wǎng)站資源,并將所述網(wǎng)站資源在本地存儲(chǔ)。
上述實(shí)施例闡明的裝置或模塊,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。一種典型的實(shí)現(xiàn)設(shè)備為計(jì)算機(jī),計(jì)算機(jī)的具體形式可以是個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個(gè)人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件收發(fā)設(shè)備、游戲控制臺(tái)、平板計(jì)算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任意幾種設(shè)備的組合。
為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本公開時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
以上所述僅為本公開的較佳實(shí)施例而已,并不用以限制本公開,凡在本公開的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本公開保護(hù)的范圍之內(nèi)。