新四季網

移動終端顯示網頁的方法及系統的製作方法

2023-05-18 10:20:41

專利名稱:移動終端顯示網頁的方法及系統的製作方法
技術領域:
本發明涉及移動終端瀏覽器技術領域,特別是涉及移動終端顯示網頁的方法及系統。
背景技術:
隨著網際網路技術的迅猛發展和普及,人們對網際網路的依賴程度變得越來越高,從網際網路獲得信息資訊已成為人們主要的信息來源方式,而瀏覽器則是人們獲得網絡信息的主要工具。瀏覽器是用來從網站獲取網頁內容的工具軟體。它必須具備解析網頁上的各種元素的能力,元素包括HTML (Hypertext Markup Language,超文本標記語言)、XML(Extensible Markup Language,可擴展標記語言)、Javascript、CSS (Cascading Style Sheet,級聯樣式表)等。解析完成之後,要進行頁面各個元素的定位計算及排版,然後,瀏覽器再進行頁面的繪製,最終頁面上的各種元素才會顯示在用戶面前。現有技術中,在基於服務端渲染排版的模式實現移動終端上的網頁瀏覽時,一般是根據客戶端訪問網頁的請求,代理服務端過濾出WWW頁面(也即適於在PC機上顯示的網頁),將這部分不適合在手機等移動終端設備上直接顯示的頁面轉化成適合在手機上顯示的WAP頁面,例如,將WWW頁面中包含的CSS、JS腳本等去掉,再返回給客戶端,然後由帶排版渲染內核的客戶端將頁面處理之後,再在客戶端顯示頁面內容。這種現有技術中,由於客戶端不需要再處理CSS、JS腳本等內容,因此,對客戶端的處理能力要求較低,能夠實現在移動終端設備上瀏覽網頁。但是,這種實現方式至少具有以下缺點該技術會讓影響用戶打開頁面的速度,因為代理服務端返回給客戶端的是HTML文本格式,客戶端需要解析HTML頁面,然後渲染、排版、繪製頁面,這些工作都要由運行在移動終端設備上的客戶端來完成,而客戶端的處理能力會受限於移動終端設備硬體的處理能力,因此,處理速度上會受到影響。另外,該技術依賴於客戶端要有頁面渲染排版的內核,如果移動終端設備上沒有提供頁面引擎的API (Application Programming Interface,應用程式編程接口),則無法在移動終端設備上實現網頁的展現。

發明內容
本發明提供了移動終端顯示網頁的方法及系統,能夠降低使用移動終端設備訪問網頁時對移動終端設備性能的需求,即使移動終端處理設備沒有頁面渲染排版的內核或者提供頁面引擎的API,也能夠實現網頁的顯示。本發明提供了如下方案一種移動終端顯示網頁的方法,包括客戶端將用戶訪問指定網頁的請求發送給代理服務端;代理服務端向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源,對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體,將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端;所述客戶端對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。可選的,所述對所述網頁資源進行處理得到待構造網頁數據具體包括對所述網頁資源進行壓縮、解析和/或定位計算,得到待構造網頁數據。可選的,還包括所述代理服務端在對所述網頁資源進行處理時,從所述網頁資源中提取控制項信息,並對各個控制項進行編號後,將各個控制項的編號轉換為二進位數據發送給所述客戶端;所述客戶端接收到用戶對頁面上的控制項進行操作的事件時,將被操作控制項的編號 以及用戶輸入內容發送到所述代理服務端;所述代理服務端根據所述被操作控制項的編號以及用戶輸入內容進行處理,獲得處理結果,將所述處理結果轉換為二進位數據返回給客戶端;所述客戶端根據接收到的二進位數據繪製所述處理結果。可選的,代理伺服器中預先啟動至少兩個進程,每個進程中創建至少兩個處理單元,在同一臺代理伺服器接收到多個用戶訪問網頁的請求時,還包括根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程;在所述分配的進程中為用戶的當前請求分配處理單元,以便通過所述分配的處理單元處理用戶的當前請求。可選的,將同一用戶的不同請求分配給同一進程。可選的,所述根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程,包括根據用戶的屬性信息判斷當前請求是否為新用戶的請求;如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。可選的,所述根據用戶的屬性信息判斷當前請求是否為新用戶的請求包括獲取所述當前請求對應的用戶的屬性信息;如果當前請求對應的用戶的屬性信息未出現在所述歷史分配記錄中,則所述當前請求為新用戶的請求;其中,所述歷史分配記錄用於記錄在歷史處理過程中,用戶請求對應的用戶的屬性信息與分配給該用戶請求的進程之間的對應關係。可選的,所述歷史分配記錄中還記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係;所述在分配的進程中為所述請求分配處理單元,包括將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求。一種顯示網頁的系統,包括客戶端及代理服務端所述客戶端包括請求發送模塊,用於將用戶訪問指定網頁的請求發送給代理服務端;所述代理服務端網頁資源獲取模塊,用於向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源;
網頁資源處理模塊,用於對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體;轉換模塊,用於將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端;所述客戶端還包括繪製模塊,用於對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。可選的,所述網頁資源處理模塊具體用於對所述網頁資源進行壓縮、解析和/或定位計算,得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體。可選的,所述代理服務端的網頁資源處理模塊還用於,從所述網頁資源中提取控制項信息,並對各個控制項進行編號,所述轉換模塊還用於將各個控制項的編號轉換成二進位數據發送給所述客戶端; 所述客戶端還包括操作事件相關信息發送模塊,用於接收到用戶對頁面上的控制項進行操作的事件時,將被操作控制項的編號以及用戶輸入內容發送到所述代理服務端;所述代理服務端還包括動態內容處理模塊,用於根據所述被操作控制項的編號以及用戶輸入內容進行處理,獲得處理結果;動態內容處理結果轉換單元,用於將所述處理結果轉換為二進位數據返回給客戶端;所述客戶端還包括動態內容繪製模塊,用於根據接收到的二進位數據繪製所述處理結果。可選的,代理伺服器中預先啟動至少兩個進程,每個進程中創建至少兩個處理單元,在同一臺代理伺服器接收到多個用戶訪問網頁的請求時,所述代理服務端還包括進程分配模塊,用於根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程;處理單元分配模塊,用於在所述分配的進程中為用戶的當前請求分配處理單元,以便通過所述分配的處理單元處理用戶的當前請求。可選的,所述進程分配模塊將同一用戶的不同請求分配給同一進程。可選的,所述進程分配模塊包括判斷子模塊,用於根據用戶的屬性信息判斷當前請求是否為新用戶的請求;分配子模塊,用於如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。可選的,所述判斷子模塊包括用戶信息獲取子模塊,用於獲取所述當前請求對應的用戶的屬性信息;查詢子模塊,用於如果當前請求對應的用戶的屬性信息未出現在所述歷史分配記錄中,則所述當前請求為新用戶的請求;其中,所述歷史分配記錄用於記錄在歷史處理過程中,用戶請求對應的用戶的屬性信息與分配給該用戶請求的進程之間的對應關係。可選的,所述歷史分配記錄中還記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係;所述處理單元分配模塊具體用於將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求。根據本發明提供的具體實施例,本發明公開了以下技術效果通過本發明,在代理服務端需要進行網頁資源的處理操作,通過這一系列的操作,將網頁轉化為更加適合移動終端設備顯示的頁面,並將渲染排版後的結構體以二進位數據的形式發送至移動終端設備,由移動終端設備進行解析後,直接進行繪製即可。由此,降低了使用移動終端設備訪問網頁時對移動終端設備性能的需求,以及移動終端處理網頁資源時的計算量,使得客戶端更輕量級,代理服務端更重量級,並且即使移動終端處理設備沒有頁面渲染排版的內核或者提供頁面引擎的API,也能夠實現網頁的顯示。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I是本發明實施例提供的方法的流程圖;圖2是本發明實施例提供的系統的示意圖;圖3是本發明實施例提供的另一系統的示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬於本發明保護的範圍。參見圖1,本發明實施例提供的移動終端顯示網頁的方法包括以下步驟SlOl :客戶端將用戶訪問指定網頁的請求發送給代理服務端;本發明實施例中的客戶端及代理服務端可以看做是瀏覽器的兩個組成部分,其中客戶端程序運行在移動終端設備中,代理服務端運行在雲端的伺服器(該伺服器並不是提供具體頁面內容的web伺服器)中,兩者相互配合實現網頁的顯示。在具體實現時,用戶會啟動客戶端進行網頁瀏覽,當用戶需要訪問某網頁時,可以點擊該網頁的連結,或者在瀏覽器客戶端的地址欄中輸入網頁的網址,然後按下回車或者進入按鈕,就可以發出訪問該網頁的請求,客戶端在接收到用戶訪問網頁的請求之後,並不是直接發送給用於提供網頁內容資源的web伺服器,而是會首先發送給代理服務端,由代理服務端與web伺服器進行交互,獲取網頁資源。S102:代理服務端向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源,對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體,將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端;這裡對網頁資源進行的處理可以包括對網頁資源的壓縮、解析和/或定位計算等,總之是在代理服務端對網頁進行渲染排版。S103:所述客戶端對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。本發明實施例是在基於代理伺服器的網頁渲染排版技術基礎上進行的改進,前提仍然是將耗時且費資源的操作封裝在服務端,由服務端進行需要大量計算作業的操作。但在本發明實施例中,相對於現有技術而言,使得客戶端更輕量級,代理服務端更重量級,在代理服務端需要進行網頁資源壓縮、頁面的解析、定位以及渲染排版等工作,通過這一系列的操作,將網頁轉化為更加適合移動終端設備顯示的頁面,並將渲染排版後的結構體以二進位數據的形式發送至移動終端設備,由移動終端設備進行解析後,按照與代理伺服器端之間的自有協議直接進行繪製即可。由此,降低了使用移動終端設備訪問網頁時對移動終端設備性能的需求,以及移動終端處理網頁資源時的計算量,即使移動終端處理設備沒有頁面渲染排版的內核或者提供頁面引擎的API,也能夠實現網頁的顯示。另一方面,在現有技術中,代理服務端在對頁面資源進行壓縮時,一般都會將其中 包含的CSS及JS腳本去掉,以降低客戶端的工作量。但是這樣一來,就使得頁面中包含的一些動態顯示效果無法顯示出來。例如,某網頁中採用JS的方式提供了多個搜尋引擎入口,其中一個是默認的,在正常情況下,用戶可以選擇任何一個搜尋引擎進行搜索,得到相應的搜索結果。但是,在移動終端中瀏覽時,由於去掉了 JS等動態效果,用戶實際在選擇某搜尋引擎入口進行搜索時,得到的搜索結果可能仍然是默認的搜尋引擎的結果。或者,某網頁利用JS設計為多個標籤共享一個內容展現區域,正常情況下,當用戶移動滑鼠切換標籤時,內容展現區域中的內容會隨之切換為切換後的標籤對應的內容;但是,同樣由於去掉了 JS等動態效果,會使得切換標籤後,內容展現區域的內容也沒有隨之發生變化,等等。但是在本發明實施例中,由於對網頁所有的渲染排版等操作都是在代理服務端來完成的,因此,就可以不必再去掉CSS內容,這樣,使得網頁中仍然能夠保留CSS的效果。而對於需要運行JS腳本來實現的動態內容,本發明實施例也可以提供相應的支持,以便實現交互操作。具體實現時,由於JS動態效果通常都是與頁面中的控制項相關的,因此,代理服務端在獲取到頁面資源之後,可以首先從中提取出控制項信息,然後對各個控制項進行編號,再將各個控制項的編號發送給客戶端。這樣,客戶端在完成頁面的繪製、將頁面顯示給用戶之後,當用戶在對頁面中的某控制項進行操作時,客戶端就可以捕獲到用戶操作產生的事件,然後將該被操作控制項的編號以及用戶輸入的相關內容一起發送到代理服務端。代理服務端在接收到被操作控制項編號及用戶輸入內容之後,就可以在代理服務端運行相應的JS腳本,獲取到處理結果,然後返回給客戶端進行繪製及顯示即可。例如,如果網頁中包含有登錄表單,則在用戶填寫了用戶名及登錄密碼並點擊了「登錄」按鈕之後,客戶端就可以將表單的編號以及用戶填寫的用戶名、密碼等信息提交到代理服務端,然後代理服務端運行對應的JS腳本,將用戶名及密碼提交給web伺服器,由web伺服器進行驗證,如果登錄成功,會將登錄成功的界面信息返回給代理服務端,代理服務端重新進行解析、渲染排版等處理之後,仍然可以將渲染排版後的結構體轉換為客戶端能夠解析的二進位數據,然後由客戶端直接對二進位數據進行解析及繪製,並最終將登錄成功的界面顯示給用戶,以此實現用戶與web伺服器之間的動態交互過程。可見,在本發明實施例中,不僅能夠進一步降低對移動終端設備的要求,還可以儘可能地保留網頁中的動態交互內容,提升網頁的顯示效果。當然,在實際應用中,隨著移動終端設備的多元化和普及程度的提高,使用移動終端訪問網頁伺服器的用戶數量高速增長,這就對傳統的基於伺服器渲染排版的技術提出了新的要求,比如在同一時間段內,如果大量的用戶請求並發,可能會降低代理服務端的響應速度,代理服務端的作業出現延時甚至是部分資源停止響應,結果反而降低了瀏覽器的響應速度。為了避免上述情況的發生,本發明實施例還提供了相應的解決方案,在此方案中,可以在代理服務端中預先啟動多個進程,並在每個進程中啟動多個處理單元;這些處理單元的作用相當於普通瀏覽器(相對於C/S架構瀏覽器)中的窗口(例如用戶在點擊某連結時,普通的網頁瀏覽器會創建一個窗口,最終將頁面顯示在該窗口中),但也不完全等同。具體而言,這種處理單元可以對用戶訪問網頁的請求進行處理,例如,包括將請求發送到網頁伺服器,然後對接收到的網頁數據進行解析、渲染、排版等一系列操作,但不同之處在於,由於這種處理單元位於代理伺服器端,因此並不需要具有顯示界面;而真正的顯示界面是由用 戶計算機上安裝的客戶端來創建的,因此,這種處理單元需要將網頁數據的處理結果通過一些私有的協議發送給客戶端,由客戶端進行繪製並顯示在用戶界面上。換言之,本發明實施例中啟動的處理單元,與傳統的C/S架構下用於處理用戶請求的處理單元的作用相同,但創建的時機不同;在傳統的C/S架構下,一般是在接收到用戶請求之後,再進行處理單元的創建,這樣相當於創建窗口的耗時也成為用戶可感知的網頁處理時間的一部分;雖然一般而言創建窗口是很快的,但是在大用戶量並發的情況下,仍然可能會導致整體處理時間的延長。而在本發明實施例中,處理單元是預先創建好的,當接收到用戶請求之後,只需要將用戶請求按照一定的策略分配到指定的處理單元即可,而不需要每接收到一個用戶請求時再分別創建處理單元,因此可以從整體上提高響應速度,從一定程度上縮短用戶可感知的處理時間。另外,由於具體的處理單元是需要在一定的進程中創建的,而一個進程中允許創建多個處理單元,這樣可以使得在一個進程中處理多個用戶請求,因此,在本發明實施例中,採用了這種在進程中創建多個處理單元的方式。同時,一個進程中允許創建的處理單元數目畢竟也是有限的,如果一臺代理伺服器上僅啟動一個進程,則能夠容納的用戶請求數量仍然會比較有限;另一方面,代理伺服器一般會採用多核技術,也就是說一臺代理伺服器具有多個內核,不同的進程在不同的內核上可以同時運行,這樣可以大大提高處理速度。因此,在本發明實施例中,還採用了在同一臺代理伺服器上創建多個進程的方式,這樣,可以提高單臺代理伺服器可容納的用戶請求數量,同時充分利用代理伺服器的多核的資源。當然,代理伺服器上的進程也是先於用戶請求啟動的。具體實現時,由於代理伺服器端由於已經預先啟動了多個進程,因此,在接收到用戶請求之後,就可以根據用戶的屬性信息以及各個進程的狀態信息,將用戶的當前請求分配到其中一個進程中。當然,具體能夠對用戶請求進行處理的是處理單元,而一個進程中還創建了多個處理單元,因此,還需要將當前請求分配到一個具體的處理單元中進行處理。在給一個請求分配了處理單元之後,該處理單元就可以對請求進行解析,然後構造網頁訪問請求到網頁伺服器,以獲取網頁資源,在獲取到網頁資源之後就可以進行解析、渲染、排版等處理,之後轉換成二進位數據返回給客戶端,供客戶端進行繪製及網頁的顯示。具體在根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程及處理單元時,可以有多種方式,例如,直接將當前請求分配到空閒處理單元最多的進程中,然後在該進程中任選一個空閒的處理窗口等等。或者,在本發明實施例中,為了保證資源的重複利用,可以儘量將同一用戶的不同請求分配到同一進程中,這樣可以進一步節省處理時間。例如,有些網站(如某些購物網站等)需要用戶的帳戶及密碼等登錄信息,一般情況下,用戶在訪問同一網站下的不同網頁時,只登錄一次即可,例如,用戶在某網站的首頁上登錄之後,在訪問該網站的所有網頁時,登錄信息都是有效的。但在本發明實施例中,由於同一臺代理伺服器上會處理多個用戶的請求,要實現這種效果,其前提是這些網頁對應的處理單元在同一進程中。這是因為,當在某進程中處理用戶的首次登陸請求後,可以在瀏覽器的Cookie中進行保存一些信息,例如,在網站中的登錄信息,後續當同一用戶訪問同
一網站中的其他網頁時,就可以從Cookie中取出保存的這些信息,從而保證登錄狀態的連續性。或者,Cookie中還可以保存用戶訪問過的網頁的數據信息等,針對用戶訪問過的一個網頁,當再次發起訪問時,可以直接根據保存的信息返回給用戶,而不必再重新向網頁伺服器發起請求,等等。這種Cookie會進行持久化存儲,但是如果是同一進程的不同處理單元或者不同的進程處理「已經有歷史記錄」的請求時,需要從持久化存儲獲取一次信息,這樣不如直接由歷史處理單元處理時高效。因此,在本發明實施例中,為了實現前述目的,在為用戶請求分配進程時,可以儘量將同一用戶的請求分配到同一進程,甚至還可以儘量分配到同一處理單元。為了該目的,具體實現時,可以首先判斷當請請求是否為新用戶的請求,然後根據判斷的結果向當前請求進行進程的分配。具體的,為了儘量將同一用戶的請求分配到同一進程,甚至還可以儘量分配到同一處理單元,可以根據用戶的屬性信息判斷當前請求是否為新用戶的請求,如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。為了能夠判斷當前請求是否為新用戶的請求,可以在歷史處理的過程中,在為用戶請求分配進程的同時,還可以記錄下用戶請求對應的用戶屬性信息與為該請求分配的進程之間的對應關係,這樣,在代理伺服器端就可以維護一個歷史分配列表,在該列表中記錄了為各個用戶分配的進程分別是哪個。當接收到一個當前請求時,同樣可以先獲取到該請求對應的用戶屬性信息,然後判斷該用戶屬性信息是否出現在歷史分配列表中,如果是,則證明該用戶之前訪問過其他的網頁,也就是說,該當前請求不是一個新用戶的請求;否則,如果未出現在歷史分配列表中,則證明當前請求是一個新用戶的請求。需要說明的是,歷史分配記錄中記錄的數據並不是永久性的,而是要在一定時間後刪除,例如,對於某一條記錄,自生成之時起經過一段預置的時間之後,就可以將其從歷史分配記錄中刪除。也就是說,同一個用戶的請求對應著一個大的會話(session),該會話建立之後,即使中間插入了其他用戶的請求,也不會中斷,但是該會話的存續仍然存在超時時間,當接收了一個用戶的某請求之後,如果很長一段時間之後都沒有再收到該用戶的請求,則證明用戶目前可能不再需要訪問其他的網頁,相應的,該會話也就可以結束。可見,這裡所謂的「新用戶」並不是新入網的用戶,或者新安裝了該C/S架構的瀏覽器的用戶等等,而是指在一定時間段內是否有過訪問請求的用戶。在具體實現時,用戶屬性信息可以由瀏覽器客戶端的ID來表示。在實際應用中,在安裝瀏覽器客戶端時,會帶有唯一標識該瀏覽器客戶端的ID,客戶端在向伺服器發送用戶的訪問請求時,會攜帶該ID,因此,就可以通過該ID來區分不同的用戶。當然,如果用戶註冊過瀏覽器帳戶,並且當前處於登錄狀態,則也可以根據用戶的登錄信息來獲取用戶屬性信息,或者,還可以將用戶的IP位址作為用戶屬性信息,等等。關於各個進程的狀態信息可以包括進程包括的空閒處理單元的數目等等。另外,歷史分配記錄中還可以記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係,這樣,在分配的進程中為所述請求分配處理單元時,可以將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求,從而使得同一用戶的請求儘可能由同一個處理單元來處理。需要說明的是,在一個處理單元完成了對一個請求的處理之後,該處理單元並不會關閉,而是將處理該請求時申請的資源(包括與網頁伺服器建立連接時的連結資源、用於對各種資源進行緩存的存儲資源、計算資源等等)釋放掉,然後等待其他請求的到來,以此周而復始。當然,為了達到前述同一用戶的不同請求能夠復用一些資源的目的,處理單元可以不必釋放頁面請求的結果。 總之,通過上述處理,不僅能夠增加代理伺服器的吞吐量,還可以儘可能保證同一用戶在訪問中的連續性,從而進一步提高處理及響應速度。與本發明實施例提供的一種移動終端顯示網頁的方法相對應,本發明實施例還提供了一種移動終端顯示網頁的系統,參見圖2,該系統包括客戶端201及代理服務端202,其中,客戶端201包括請求發送模塊2011,用於將用戶訪問指定網頁的請求發送給代理服務端;代理服務端202 網頁資源獲取模塊2021,用於向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源;網頁資源處理模塊2022,用於對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體;轉換模塊2023,用於將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端;客戶端201還包括繪製模塊2012,用於對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。其中,網頁資源處理模塊2022具體可以用於對所述網頁資源進行壓縮、解析和/或定位計算,得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體。具體實現時,參見圖3,代理服務端202網頁資源處理模塊2022還可以用於從所述網頁資源中提取控制項信息,並對各個控制項進行編號,轉換模塊2023還用於將各個控制項的編號轉換成二進位數據發送給所述客戶端;客戶端201還可以包括操作事件相關信息發送模塊2013,用於接收到用戶對頁面上的控制項進行操作的事件時,將被操作控制項的編號以及用戶輸入內容發送到所述代理服務端;
代理服務端202還包括動態內容處理模塊2024,用於根據所述被操作控制項的編號以及用戶輸入內容進行處理,獲得處理結果;動態內容處理結果轉換單元2025,用於將所述處理結果轉換為二進位數據返回給客戶端;客戶端201還包括動態內容繪製模塊2014,用於根據接收到的二進位數據繪製所述處理結果。在實際應用中,為了提高響應速度,代理伺服器中可以預先啟動至少兩個進程,每個進程中創建至少兩個處理單元,在同一臺代理伺服器接收到多個用戶訪問網頁的請求時,代理服務端202還可以包括 進程分配模塊,用於根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程;處理單元分配模塊,用於在所述分配的進程中為用戶的當前請求分配處理單元,以便通過所述分配的處理單元處理用戶的當前請求。其中,所述進程分配模塊將同一用戶的不同請求分配給同一進程。其中,所述進程分配模塊可以包括判斷子模塊,用於根據用戶的屬性信息判斷當前請求是否為新用戶的請求;分配子模塊,用於如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。所述判斷子模塊包括用戶信息獲取子模塊,用於獲取所述當前請求對應的用戶的屬性信息;查詢子模塊,用於如果當前請求對應的用戶的屬性信息未出現在所述歷史分配記錄中,則所述當前請求為新用戶的請求;其中,所述歷史分配記錄用於記錄在歷史處理過程中,用戶請求對應的用戶的屬性信息與分配給該用戶請求的進程之間的對應關係。所述歷史分配記錄中還記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係;所述處理單元分配模塊具體用於將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求。總之,在代理服務端需要進行網頁資源壓縮、頁面的解析、定位以及渲染排版等工作,通過這一系列的操作,將網頁轉化為更加適合移動終端設備顯示的頁面,並將渲染排版後的結構體以二進位數據的形式發送至移動終端設備,由移動終端設備進行解析後,直接進行繪製即可。由此,降低了使用移動終端設備訪問網頁時對移動終端設備性能的需求,以及移動終端處理網頁資源時的計算量,使得客戶端更輕量級,代理服務端更重量級,並且即使移動終端處理設備沒有頁面渲染排版的內核或者提供頁面引擎的API,也能夠實現網頁的顯示。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。以上對本發明所提供的移動終端顯示網頁的方法及系統,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思 想,在具體實施方式
及應用範圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種移動終端顯示網頁的方法,其特徵在於,包括 客戶端將用戶訪問指定網頁的請求發送給代理服務端; 代理服務端向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源,對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體,將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端; 所述客戶端對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。
2.根據權利要求I所述的方法,其特徵在於,所述對所述網頁資源進行處理得到待構造網頁數據具體包括 對所述網頁資源進行壓縮、解析和/或定位計算,得到待構造網頁數據。
3.根據權利要求I所述的方法,其特徵在於,還包括 所述代理服務端在對所述網頁資源進行處理時,從所述網頁資源中提取控制項信息,並對各個控制項進行編號後,將各個控制項的編號轉換為二進位數據發送給所述客戶端; 所述客戶端接收到用戶對頁面上的控制項進行操作的事件時,將被操作控制項的編號以及用戶輸入內容發送到所述代理服務端; 所述代理服務端根據所述被操作控制項的編號以及用戶輸入內容進行處理,獲得處理結果,將所述處理結果轉換為二進位數據返回給客戶端; 所述客戶端根據接收到的二進位數據繪製所述處理結果。
4.根據權利要求I至3任一項所述的方法,其特徵在於,代理伺服器中預先啟動至少兩個進程,每個進程中創建至少兩個處理單元,在同一臺代理伺服器接收到多個用戶訪問網頁的請求時,還包括 根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程; 在所述分配的進程中為用戶的當前請求分配處理單元,以便通過所述分配的處理單元處理用戶的當前請求。
5.根據權利要求4所述的方法,其特徵在於,將同一用戶的不同請求分配給同一進程。
6.根據權利要求4所述的方法,其特徵在於,所述根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程,包括 根據用戶的屬性信息判斷當前請求是否為新用戶的請求; 如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。
7.根據權利要求6所述的方法,其特徵在於,所述根據用戶的屬性信息判斷當前請求是否為新用戶的請求包括 獲取所述當前請求對應的用戶的屬性信息; 如果當前請求對應的用戶的屬性信息未出現在所述歷史分配記錄中,則所述當前請求為新用戶的請求;其中,所述歷史分配記錄用於記錄在歷史處理過程中,用戶請求對應的用戶的屬性信息與分配給該用戶請求的進程之間的對應關係。
8.根據權利要求7所述的方法,其特徵在於,所述歷史分配記錄中還記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係; 所述在分配的進程中為所述請求分配處理單元,包括將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求。
9.一種顯示網頁的系統,包括客戶端及代理服務端,其特徵在於 所述客戶端包括 請求發送模塊,用於將用戶訪問指定網頁的請求發送給代理服務端; 所述代理服務端 網頁資源獲取模塊,用於向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源;網頁資源處理模塊,用於對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體; 轉換模塊,用於將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端; 所述客戶端還包括 繪製模塊,用於對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。
10.根據權利要求9所述的系統,其特徵在於,所述網頁資源處理模塊具體用於對所述網頁資源進行壓縮、解析和/或定位計算,得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體。
11.根據權利要求9所述的系統,其特徵在於,所述代理服務端的網頁資源處理模塊還用於,從所述網頁資源中提取控制項信息,並對各個控制項進行編號,所述轉換模塊還用於將各個控制項的編號轉換成二進位數據發送給所述客戶端; 所述客戶端還包括 操作事件相關信息發送模塊,用於接收到用戶對頁面上的控制項進行操作的事件時,將被操作控制項的編號以及用戶輸入內容發送到所述代理服務端; 所述代理服務端還包括 動態內容處理模塊,用於根據所述被操作控制項的編號以及用戶輸入內容進行處理,獲得處理結果; 動態內容處理結果轉換單元,用於將所述處理結果轉換為二進位數據返回給客戶端; 所述客戶端還包括 動態內容繪製模塊,用於根據接收到的二進位數據繪製所述處理結果。
12.根據權利要求9至11任一項所述的系統,其特徵在於,代理伺服器中預先啟動至少兩個進程,每個進程中創建至少兩個處理單元,在同一臺代理伺服器接收到多個用戶訪問網頁的請求時,所述代理服務端還包括 進程分配模塊,用於根據用戶的屬性信息以及各個進程的狀態信息,為用戶的當前請求分配進程; 處理單元分配模塊,用於在所述分配的進程中為用戶的當前請求分配處理單元,以便通過所述分配的處理單元處理用戶的當前請求。
13.根據權利要求12所述的系統,其特徵在於,所述進程分配模塊將同一用戶的不同請求分配給同一進程。
14.根據權利要求12所述的系統,其特徵在於,所述進程分配模塊包括 判斷子模塊,用於根據用戶的屬性信息判斷當前請求是否為新用戶的請求;分配子模塊,用於如果不是新用戶的請求,則根據該用戶的分配歷史以及各個進程的狀態信息為當前請求分配進程。
15.根據權利要求14所述的系統,其特徵在於,所述判斷子模塊包括 用戶信息獲取子模塊,用於獲取所述當前請求對應的用戶的屬性信息; 查詢子模塊,用於如果當前請求對應的用戶的屬性信息未出現在所述歷史分配記錄中,則所述當前請求為新用戶的請求;其中,所述歷史分配記錄用於記錄在歷史處理過程中,用戶請求對應的用戶的屬性信息與分配給該用戶請求的進程之間的對應關係。
16.根據權利要求15所述的系統,其特徵在於,所述歷史分配記錄中還記錄有用戶請求對應的用戶的屬性信息與分配給請求的處理單元之間的對應關係; 所述處理單元分配模塊具體用於 將歷史分配記錄中該用戶的屬性信息對應的處理單元分配給當前請求。
全文摘要
本發明公開了移動終端顯示網頁的方法及系統,其中,所述方法包括客戶端將用戶訪問指定網頁的請求發送給代理服務端;代理服務端向所述指定網頁的網頁伺服器獲取該指定網頁的網頁資源,對所述網頁資源進行處理得到待構造網頁數據,並將所述待構造網頁數據經渲染排版後形成結構體,將所述渲染排版後形成的結構體轉換為二進位數據後,返回給所述客戶端;所述客戶端對接收到的所述二進位數據進行解析,根據解析的結果進行頁面內容的繪製,以便將繪製後的網頁進行顯示。通過本發明,能夠降低使用移動終端設備訪問網頁時對移動終端設備性能的需求,即使移動終端處理設備沒有頁面渲染排版的內核或者提供頁面引擎的API,也能夠實現網頁的顯示。
文檔編號G06F17/30GK102799636SQ20121021584
公開日2012年11月28日 申請日期2012年6月26日 優先權日2012年6月26日
發明者劉華 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀