專利名稱:一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統的制作方法
技術領域:
本發明涉及信息技術領域,特別是一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統。
背景技術:
遠程桌面是目前企業辦公環境的一種流行技術,常用來將遠端計算機(也可以稱為服務器)顯示屏顯示的內容傳送到本地(也可以稱為客戶端)顯示屏顯示,目前大多數的遠程桌面系統都是基于IP網絡來傳送遠程桌面的。例如,通常我們使用的windows遠程登錄程序mstsc. exe是最常見的遠程桌面程序,通過它可以方便的登錄另外的遠程計算機。用戶登錄遠程桌面后,瀏覽網頁需要使用到瀏覽器(例如微軟的hternet Explorer、Mozilla的Firefox、Opera和&ifari),現有技術中,服務器需要將本端顯示的視頻圖形轉換為位圖數據或者經過壓縮的位圖數據發給客戶端,當網頁中包含Gif、 javascript控制的圖片、動畫甚至flash時,將視頻圖形轉換為位圖數據或者對位圖數據的壓縮會造成遠程桌面服務器占用資源過多的問題,另一方面,由于動畫圖片和flash等頻繁刷新顯示,將視頻圖形轉換成的位圖數據傳遞給客戶端還會產生很大的傳輸數據量, 造成帶寬需求過大,客戶端畫面顯示不流暢的問題。
發明內容
本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統,用來解決服務器需要將本端顯示的視頻圖形轉換為位圖數據并且將轉換生成的位圖數據發送到客戶端所引起的服務器資源需求過大及數據傳輸帶寬需求過大的問題。本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法,包括客戶端接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在所述客戶端進行渲染的區域為瀏覽器內容區域;所述客戶端向所述服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL ;所述客戶端接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例還提供了一種實現遠程桌面環境下網頁瀏覽的方法,包括服務器向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在所述客戶端進行渲染的區域為瀏覽器內容區域;所述服務器接收所述客戶端發送的數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL;所述服務器向所述客戶端返回與所述URL對應的網頁數據,以使得所述客戶端對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例還提供了一種實現遠程桌面環境下網頁瀏覽的客戶端,包括客戶端瀏覽器控制模塊,用于接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;瀏覽器引擎模塊,用于向服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL,接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例還提供了一種實現遠程桌面環境下網頁瀏覽的服務器,包括服務器瀏覽器控制模塊,用于向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;數據代理模塊,用于接收所述客戶端發送的數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL,向所述客戶端返回與所述URL對應的網頁數據,以使得所述客戶端對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例還提供了一種實現遠程桌面環境下網頁瀏覽的系統,包括服務器,用于向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;所述客戶端,用于接收所述窗口初始化參數,向服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL ;所述服務器,還用于接收所述客戶端發送的數據獲取請求,向所述客戶端返回與所述URL對應的網頁數據;所述客戶端,還用于接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統,客戶端接收服務器發送的窗口初始化參數,根據窗口初始化參數確定需要在客戶端進行渲染的區域為瀏覽器內容區域,并進一步從服務器獲取用戶訪問的URL對應的網頁數據進行渲染并顯示在瀏覽器內容區域,從而實現了瀏覽器內容區域在客戶端的渲染,避免了由服務器進行瀏覽器內容區域的渲染,進一步的,避免了服務器對視頻圖形的轉換及位圖數據的壓縮,降低了服務器的資源消耗,同時避免了服務器與客戶端之間海量數據的傳遞,降低了數據傳輸的帶寬需求。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的方法流程示意圖;圖2是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的系統架構示意圖;圖3是本發明實施例提供的一種實現遠程桌面環境下瀏覽器窗口初始化流程示意圖;圖4是本發明實施例提供的瀏覽器窗口結構示意圖;圖5是本發明實施例提供的當瀏覽器界面模塊位于服務器時,瀏覽器窗口在服務器的顯示圖;圖6是本發明實施例提供的當瀏覽器界面模塊位于客戶端時,瀏覽器窗口在服務器的顯示圖;圖7是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的流程示意圖;圖8是本發明實施例提供的另一種實現遠程桌面環境下網頁瀏覽的流程示意圖;圖9是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的客戶端結構示意圖;圖10是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的服務器結構示意圖;圖11是本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的系統結構示意圖。
具體實施例方式本發明實施例中,遠程桌面又可以稱為虛擬桌面,遠端計算機也可以稱為服務器, 本地計算機也可以稱為客戶端。具體的,當遠程桌面技術應用于云計算領域時,遠端計算機在數據中心中以虛擬機的形式存在,此時,遠端計算機即為服務器,本地的瘦終端即為客戶端。需要說明的是,上述僅是舉例說明,并非是把本發明限定在云計算領域,對于普通的遠程登錄場景,本發明實施例同樣適用。需要說明的是,在本發明實施例中,瀏覽器的渲染是指獲取網頁數據(即為web數據,如html、xml、圖像、ess、javascript等)后,以網頁的形式呈現給用戶的過程。具體的, 在瀏覽器(web browser)中的渲染為獲得標記內容(如HTML、XML、image files等)和格式信息(如CSS、XSL等),將這些內容經過整理后顯示在某個窗口中。渲染是通過瀏覽器渲染引擎來實現的,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。在本發明實施例中,服務器瀏覽器是指服務器端運行的瀏覽器,客戶端瀏覽器的意思與之相似。如圖1所示,為本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的方法流程示意圖,包括步驟101 客戶端接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在該客戶端進行渲染的區域,所述需要在該客戶端進行渲染的區域為瀏覽器內容區域;
步驟102 客戶端向所述服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的 URL(Uniform Resource Locator,統一資源定位符);步驟103 客戶端接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法,客戶端接收服務器發送的窗口初始化參數,根據窗口初始化參數確定需要在客戶端進行渲染的區域為瀏覽器內容區域,并進一步從服務器獲取用戶訪問的URL對應的網頁數據進行渲染并顯示在瀏覽器內容區域,從而實現了瀏覽器內容區域在客戶端的渲染,避免了由服務器進行瀏覽器內容區域的渲染,進一步的,避免了服務器對視頻圖形的轉換及位圖數據的壓縮,降低了服務器的資源消耗,同時避免了服務器與客戶端之間海量數據的傳遞,降低了數據傳輸的帶寬需求。進一步的,在客戶端顯示瀏覽器菜單區域有兩種方式方式一所述瀏覽器的窗口包括所述瀏覽器內容區域和瀏覽器菜單區域,客戶端接收并顯示所述服務器發送的所述瀏覽器菜單區域的位圖數據。方式二所述窗口初始化參數包括瀏覽器窗口坐標數據,所述客戶端在所述瀏覽器窗口坐標數據定義的范圍內生成并顯示所述瀏覽器菜單區域。所述窗口初始化參數包括瀏覽器內容區域的坐標信息。當所述瀏覽器內容區域中包括子鏈接時,客戶端從所述服務器獲取所述子鏈接的 URL對應的網頁數據,渲染所述子鏈接的URL對應的網頁數據,將渲染后得到的圖像顯示在所述瀏覽器內容區域中。在所述客戶端向服務器發送數據獲取請求之前,客戶端將用戶的操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。在客戶端將用戶的操作指令轉換為對瀏覽器的控制指令之前,客戶端接收所述服務器通過所述遠程桌面協議發送的所述用戶的操作指令。如圖2所示,為本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的系統架構示意圖,該系統包括遠程桌面服務器和遠程桌面客戶端,其中,所述遠程桌面服務器包括服務器協議棧單元和服務器瀏覽器單元;所述遠程桌面客戶端包括客戶端協議棧單元和客戶端瀏覽器單元;進一步的,所述服務器瀏覽器單元包括瀏覽器界面模塊、服務器瀏覽器控制模塊和數據代理模塊;所述客戶端瀏覽器單元包括瀏覽器界面模塊、數據獲取模塊、瀏覽器引擎模塊和客戶端瀏覽器控制模塊。需要說明的是,瀏覽器界面模塊為可選功能模塊,在一種場景下,服務器和客戶端二者中的一個包括上述瀏覽器界面模塊即可。具體的協議棧單元(服務器協議棧單元或客戶端協議棧單元)負責與對端進行通信,用于進行遠程桌面服務器和遠程桌面客戶端之間遠程桌面協議的定義,如微軟的RDP (Remote Desktop Protocol,遠程桌面協議)等。遠程桌面服務器和遠程桌面客戶端的交互過程基于上述遠程桌面協議。需要說明的是,本發明實施例對具體的遠程桌面協議并不進行限定, 可以為現有技術中的任意遠程桌面協議,包括但不限于微軟的RDP協議、云技術場景下虛擬機與瘦終端之間的協議等。
瀏覽器界面模塊為用戶提供瀏覽器的控制操作界面,如我們平常看到的瀏覽器界面上的前進、后退、地址輸入框、收藏夾等都為瀏覽器控制界面。由于本發明在實現上存在不同的方案,瀏覽器界面模塊可以在服務器瀏覽器單元上;或,可以在客戶端瀏覽器單元上。服務器瀏覽器控制模塊獲取瀏覽器窗口信息(如窗口大小、在桌面上的位置等) 和操作信息(如對瀏覽器窗口的移動、大小改變、關閉等操作)。數據代理模塊獲取網絡數據,并將獲得的數據返回到遠程桌面客戶端。該模塊為可選模塊,在某些場景下,服務器瀏覽器單元可以不包含該模塊。客戶端瀏覽器控制模塊與服務器瀏覽器控制模塊進行交互,接收所述服務器瀏覽器控制模塊發送的控制指令(比如用戶點擊瀏覽器界面上的前進、后退按鈕,在地址輸入框輸入網址等,服務器瀏覽器控制模塊會將這些操作操作轉換為瀏覽器引擎可以識別的控制指令發送到客戶端),從而使客戶端可以按照服務器的要求進行瀏覽器顯示。瀏覽器引擎模塊用于確定瀏覽器顯示網頁的內容和頁面的格式信息的方式,完成網頁內容的渲染,并顯示網頁。例如對網頁語法(如HTML、JavaScript)的解釋。數據獲取模塊該模塊實現兩個功能1.直接或間接地接收瀏覽器引擎模塊發送的網頁數據獲取請求,將獲取的請求數據(如Web HTTP數據)返回給瀏覽器引擎模塊進行處理;2與遠程桌面服務器的數據代理模塊進行交互,獲取需要的網頁數據。當網頁中有flash內容需要播放時,由于本發明實施例中在客戶端進行渲染,客戶端瀏覽器單元還可以包括flash插件用于支持在瀏覽器中播放Flash。本發明技術方案還可以支持其他的瀏覽器插件,本發明實施例對此并不加以限定。需要說明的是,上述客戶端及服務器的模塊劃分為本發明實施例提供的優選方式,需要指出的是,上述劃分方式并非固定的,模塊之間按功能組合在一起也是可行的,此時,后續具體實施例的方法流程需要進行適應性改變,本發明對此并不加以限定。如圖3所示,為本發明實施例提供的一種實現遠程桌面環境下瀏覽器窗口初始化流程示意圖,包括步驟301 在遠程桌面中,用戶做出打開瀏覽器窗口的操作,服務器操作系統會接收到上述操作,操作系統根據上述操作啟動瀏覽器程序。具體的,上述操作的具體形式可以為鼠標的點擊操作,該點擊操作可以包括多個點擊事件。需要說明的是,瀏覽器的打開操作為現有技術中遠程桌面的基本流程,本發明對具體的過程并不進行限定。需要說明的是,如圖4所示,瀏覽器窗口包括兩個部分瀏覽器的菜單區域和瀏覽器的內容區域。步驟302 服務器獲取窗口初始化參數,并將所述窗口初始化參數發送到服務器協議棧單元。所述窗口初始化參數用于標識瀏覽器內容區域,所述瀏覽器內容區域為需要在客戶端進行渲染的區域。其中,所述窗口初始化參數至少包括瀏覽器內容區域的坐標信息,所述內容區域的坐標信息用于確定所述內容區域的范圍。內容區域的坐標信息包括以下至少一種瀏覽器內容區域對角兩點的坐標;或, 瀏覽器內容區域的四角端點中任一個端點的坐標和以該端點為起始點的上下位移量(例如,內容區域的四角端點坐標為(a, b)、(a, c)、(d,b)、(d,c),對角的兩個端點即可確定該內容區域,其中一個端點的坐標加上上下偏移量也可以唯一確定該內容區域)。具體的,服務器的服務器瀏覽器控制模塊獲取所述瀏覽器內容區域的坐標信息, 將所述內容區域的坐標信息作為窗口初始化參數發送到服務器協議棧單元。需要說明的是,瀏覽器界面模塊用來提供瀏覽器的菜單界面,用來接收用戶針對瀏覽器的操作指令(編輯、查看等指令)。瀏覽器界面模塊可以位于服務器或客戶端。1) 一方面,當瀏覽器界面模塊位于服務器(server側)時,本實施例還包括步驟 3021 服務器的顯示模塊獲取瀏覽器菜單區域的位圖數據,將所述菜單區域的位圖數據發送到服務器協議棧單元;在具體實現時,服務器瀏覽器窗口的顯示如圖5所示瀏覽器的菜單區域會在服務器顯示,客戶端需要渲染的區域為瀏覽器的內容區域,由于瀏覽器的內容區域在客戶端渲染,因此,服務器此時無需獲取渲染該內容區域所需的網頁數據。服務器將瀏覽器菜單區域的位圖數據發送給客戶端至少可以采用以下兩種方式方式一,服務器識別瀏覽器菜單區域,并將將所述菜單區域的位圖數據發送到服務器協議棧單元,通過服務器協議棧單元將所述菜單區域的位圖數據發送到客戶端;方式二,服務器將瀏覽器窗口或整個桌面的位圖數據發送到客戶端,其中,瀏覽器內容區域部分可以為空白(服務器沒有進行渲染,內容為空,可以采用純色填充或預設圖片填充)。所述瀏覽器窗口或整個桌面的位圖數據中包括所述瀏覽器菜單區域的位圖數據。具體的,位圖數據可以由服務器的顯示模塊發送。需要說明的是,除了上述將瀏覽器菜單區域的位圖數據直接發送到客戶端的方式以外,客戶端瀏覽器菜單區域的顯示還可以采用現有技術的其他不用客戶端進行瀏覽器菜單區域渲染的方式,例如,RDP、VNC (Virtual Network Computing,虛擬網絡計算)等方式, 本發明對此并不進行限定。2)另一方面,當瀏覽器界面模塊位于客戶端時,服務器瀏覽器窗口的顯示如圖6 所示,此時瀏覽器在服務器的顯示為空白界面。服務器發送給客戶端的所述窗口初始化參數還包括瀏覽器窗口坐標數據,客戶端在所述瀏覽器窗口坐標數定義的范圍內生成瀏覽器菜單區域。需要說明的是,菜單欄的生成方式可以采用現有技術的方式,與服務器生成菜單欄的方式相同,本發明實施例對此并不進行限定。需要說明的是,瀏覽器界面模塊位于服務器與否,對于服務器而言,影響的是 1.服務器瀏覽器界面的顯示(服務器是否顯示瀏覽器菜單欄);2.服務器發送給客戶端的窗口初始化參數包含的內容(除客戶端需要渲染的內容區域的坐標外,窗口初始化參數是否還包含瀏覽器窗口坐標數據);對于客戶端而言,影響的是客戶端顯示的瀏覽器的菜單欄是由服務器發送的位圖數據構成,還是由客戶端自身在瀏覽器窗口坐標數據規定的范圍內生成。不論瀏覽器界面是否位于服務器,服務器都需要將瀏覽器的內容區域的坐標(即客戶端渲染區域)發送給客戶端,服務器均無須對瀏覽器的內容區域進行渲染,瀏覽器的內容區域在客戶端的顯示均為空白(內容區域也可以為用戶自定義的圖形,例如,純色、 loading......等,本發明實施例對此并不進行限定)。步驟303 服務器協議棧單元將接收到的數據按照服務器與客戶端之間的遠程桌面協議封裝,并將封裝后的數據發送到客戶端協議棧單元;
需要說明的是,當瀏覽器界面模塊位于服務器時,服務器協議棧單元接收到的數據包括窗口初始化參數和瀏覽器菜單區域的位圖數據;當瀏覽器界面模塊位于客戶端時, 服務器協議棧單元接收到的數據包括窗口初始化參數,所述窗口初始化參數包括瀏覽器內容區域的坐標信息和瀏覽器窗口坐標數據。步驟304 客戶端協議棧單元將接收到的所述封裝后的數據解封裝,將解封裝后的數據發送給客戶端瀏覽器控制模塊;步驟305 客戶端瀏覽器控制模塊根據所述解封裝后的數據在本地進行窗口初始化。具體的,當瀏覽器界面模塊位于服務器時,客戶端瀏覽器控制模塊根據瀏覽器菜單欄的位圖數據在本地構建瀏覽器菜單欄,根據窗口初始化參數確定待渲染的區域為瀏覽器內容區域;當瀏覽器界面模塊位于客戶端時,客戶端瀏覽器控制模塊在所述瀏覽器窗口坐標數據定義的范圍內生成瀏覽器菜單欄,根據窗口初始化參數確定待渲染的區域為瀏覽器內容區域。需要說明的是,根據渲染區域的坐標信息確定客戶端需要渲染的區域,從而保證在客戶端看到的瀏覽器渲染界面能夠在服務器允許的窗口范圍內顯示。還需要說明的是,客戶端確定需要渲染的區域后,在后續的操作中,客戶端(具體可以為瀏覽器引擎模塊)會獲取渲染需要的網頁數據(如!^1^、扭¥必(31^ {丄55數據等) 對待渲染區域進行渲染,完成瀏覽器的顯示。網頁數據的一個獲取場景及客戶端的渲染過程如圖7對應的實施例所示,具體包括兩個過程接收用戶操作流程和網頁瀏覽主流程。如圖7所示,為本發明實施例提供的一種網頁瀏覽流程示意圖,瀏覽器界面模塊位于客戶端,包括以下步驟步驟701 在遠程桌面中,當用戶點擊瀏覽器的菜單區域進行某些操作時(如前進、后退,打開某網頁等),操作系統捕獲到用戶在客戶端點擊鼠標的操作,操作系統將用戶的操作指令發送到瀏覽器界面模塊。步驟702 瀏覽器界面模塊將用戶的操作指令轉發給客戶端瀏覽器控制模塊。步驟703 客戶端瀏覽器控制模塊將用戶的操作指令轉換為對瀏覽器的控制指令 (例如,將后退操作轉換為上次訪問的URL路徑),用于傳遞給客戶端的瀏覽器引擎子模塊來執行。步驟704 客戶端瀏覽器控制模塊向瀏覽器引擎模塊發送控制指令,所述操作指令攜帶網址的URL,具體的,所述控制指令可以為網址打開請求。步驟705 瀏覽器引擎模塊向數據獲取模塊發送數據獲取請求,攜帶所述網址的 URL,用來獲取該網址對應的網頁數據進行渲染。步驟706 數據獲取模塊將獲取數據獲取請求轉發給客戶端協議棧單元,客戶端協議棧單元收到所述數據獲取請求后按照服務器與客戶端之間的遠程桌面協議進行封裝, 將封裝后的數據獲取請求發送到服務器協議棧單元。步驟707 服務器協議棧單元對接收到的所述封裝后的數據,進行解封裝,獲取所述數據獲取請求,將所述數據獲取請求發送到數據代理模塊,由所述數據代理模塊獲取所述URL對應的網頁數據。步驟708 數據代理模塊連接互聯網從所述URL對應的網頁服務器上獲取網頁數據。需要說明的是,數據代理模塊根據URL獲取對應的網頁數據的獲取方式為現有技術,本發明對此并不進行限定,在現有的服務器進行網頁數據渲染的場景下,服務器獲取待渲染網頁數據的方式均可以應用在本步驟中。步驟709 數據代理模塊獲取所述網址的URL對應的網頁數據后,將所述網頁數據經過服務器協議棧單元、客戶端協議棧單元發送到客戶端的數據獲取模塊。步驟710 客戶端的數據獲取模塊將接收到的網頁數據發送給客戶端的瀏覽器引擎模塊進行渲染。步驟711 瀏覽器引擎模塊對所述網頁數據進行渲染,將渲染取得的內容在瀏覽器內容區域顯示出來,從而完成客戶端瀏覽器內容區域的顯示,同時結合步驟305中客戶端完成的瀏覽器菜單區域的顯示,繼而完成整個瀏覽器窗口的顯示。需要說明的是,網頁數據渲染方式為現有技術,本發明對此不作限定。步驟712 進一步的,如果瀏覽器內容區域中還有存在子鏈接(網頁里面包含圖片、腳本等數據一般會通過html標簽來引用這些數據例如,<img src = “ /hotnews/ promos/images/promo_keynote. jpg“ alt = 〃 觀看主題演講,觀看 OS X LioruiOS 5 禾口 iCloud在WffDC的發布實況),瀏覽器引擎模塊還需要繼續獲取子鏈接對應的網頁數據。子鏈接對應的網頁數據的獲取過程類似于步驟705至709的方式,在此不再贅述,子鏈接對應的網頁數據的渲染區域由客戶端決定,可以按照客戶端瀏覽器的設置進行版面排列,同時可以參考服務器最后一次傳過來的瀏覽器窗口的參數信息。需要說明的是,步驟701-703為當瀏覽器界面模塊在客戶端上時的接收用戶操作流程。另一方面,當瀏覽器界面模塊在服務器時,本發明實施例還提供的另一種遠程桌面環境下接收用戶操作的流程示意圖,如圖8所示,包括步驟801 在遠程桌面中,當用戶點擊瀏覽器的菜單區域進行某些操作時(如前進、后退,打開某網頁等),客戶端點擊鼠標的操作會被客戶端操作系統捕獲到,并發送到服務器瀏覽器界面模塊。步驟802 服務器的瀏覽器界面模塊將接收到的用戶操作指令經過服務器瀏覽器控制模塊發送給服務器協議棧單元。步驟803 服務器協議棧單元將接收到的用戶操作指令按照服務器與客戶端之間的遠程桌面協議進行封裝后(如添加一個數據頭)發送到客戶端協議棧單元。步驟804:客戶端協議棧單元對接收到的數據進行解封裝,獲取用戶操作指令數據,將用戶操作指令數據發送給客戶端的瀏覽器控制模塊。步驟805 客戶端瀏覽器控制模塊將用戶的操作指令轉換為對瀏覽器的控制指令 (例如,將后退操作轉換為上次訪問的URL路徑),用于傳遞給客戶端的瀏覽器引擎子模塊來執行。瀏覽器界面模塊位于服務器或客戶端,對于接收用戶操作流程而言,僅影響到用戶操作如何傳遞到客戶端的瀏覽器控制模塊,對后續的網頁瀏覽主流程無影響,因此,本實施例后續的網頁瀏覽主流程的步驟與步驟704-712相同,本發明不再進行贅述。需要說明的是,本發明圖3、圖7和圖8對應的實施例是基于圖2的架構給出的,本領域技術人員可以理解的是,圖2中的架構劃分存在其他的方式,相應的具體實施例中的流程實現需要做適應性修改,例如,如果瀏覽器引擎模塊和瀏覽器控制模塊合設為一個模塊實現,其他方式的架構變形與之類似。因此,在本發明上述實施例中,雖然明確指出具體的步驟的執行主體為服務器或客戶端的某些具體模塊,但本領域普通技術人員可以理解的是,上述具體的步驟也可以由合設的功能模塊執行,或者直接以服務器或客戶端為執行主體,本發明對此并不進行限定。如圖9所示,為本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的客戶端結構示意圖,包括客戶端瀏覽器控制模塊901和瀏覽器引擎模塊902,所述客戶端瀏覽器控制模塊901,用于接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;瀏覽器引擎模塊902,用于向服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL,接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。所述客戶端瀏覽器控制模塊901,還用于接收并顯示所述服務器發送的瀏覽器菜單區域的位圖數據。所述客戶端瀏覽器控制模塊901,還用于確定攜帶在所述窗口初始化參數中的瀏覽器窗口坐標數據定義的范圍,在確定的范圍內生成并顯示所述瀏覽器菜單區域。所述瀏覽器引擎模塊902,還用于當所述瀏覽器內容區域中包括子鏈接時,從所述服務器獲取所述子鏈接的URL對應的網頁數據,渲染所述子鏈接的URL對應的網頁數據,將渲染后得到的圖像顯示在所述瀏覽器內容區域中。所述客戶端瀏覽器控制模塊901,還用于將用戶的操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。如圖10所示,為本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的服務器結構示意圖,包括服務器瀏覽器控制模塊1001和數據代理模塊1002,服務器瀏覽器控制模塊1001,用于向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;數據代理模塊1002,用于接收所述客戶端發送的數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL,向所述客戶端返回與所述URL對應的網頁數據,以使得所述客戶端對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。進一步的,所述服務器還包括顯示模塊1003,所述顯示模塊1003,用于向所述客戶端發送瀏覽器菜單區域的位圖數據,以使得所述客戶端顯示所述瀏覽器菜單區域的位圖數據。服務器瀏覽器控制模塊1001,具體用于向所述客戶端發送攜帶有瀏覽器窗口坐標數據的窗口初始化參數,以使得所述客戶端在所述瀏覽器窗口坐標數據定義的范圍內生成并顯示所述瀏覽器菜單區域。所述服務器瀏覽器控制模塊1001,還用于通過所述遠程桌面協議向所述客戶端發送用戶的操作指令,以使得所述客戶端將用戶的操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。如圖11所示,為本發明實施例提供的一種實現遠程桌面環境下網頁瀏覽的系統結構示意圖,包括服務器1101和客戶端1102,服務器1101,用于向客戶端1102發送窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端1102進行渲染的區域,所述需要在客戶端1102進行渲染的區域為瀏覽器內容區域;所述客戶端1102,用于接收所述窗口初始化參數,向服務器1101發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的URL ;所述服務器1101,還用于接收所述客戶端1102發送的數據獲取請求,向所述客戶端1102返回與所述URL對應的網頁數據;所述客戶端1102,還用于接收所述服務器1101返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端1102與所述服務器1101通過遠程桌面協議連接。進一步的,所述客戶端1102,還用于接收并顯示所述服務器發送的瀏覽器菜單區域的位圖數據。本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統,客戶端接收服務器發送的窗口初始化參數,確定需要在客戶端進行渲染的區域為瀏覽器內容區域,進一步從服務器獲取用戶訪問的URL對應的網頁數據進行渲染并顯示在瀏覽器內容區域,從而實現了瀏覽器內容區域在客戶端的渲染,避免了由服務器進行瀏覽器內容區域的渲染,進一步的,避免了服務器對視頻圖形的轉換及位圖數據的壓縮,降低了服務器的資源消耗,同時避免了服務器與客戶端之間海量數據的傳遞,降低了數據傳輸的帶寬需求。本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如ROM/ RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器, 或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。
權利要求
1.一種實現遠程桌面環境下網頁瀏覽的方法,其特征在于,包括客戶端接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在所述客戶端進行渲染的區域為瀏覽器內容區域;所述客戶端向所述服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL ;所述客戶端接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。
2.如權利要求1所述的方法,其特征在于,所述瀏覽器的窗口包括所述瀏覽器內容區域和瀏覽器菜單區域,所述方法還包括所述客戶端接收并顯示所述服務器發送的所述瀏覽器菜單區域的位圖數據。
3.如權利要求1所述的方法,其特征在于,所述瀏覽器的窗口包括所述瀏覽器內容區域和瀏覽器菜單區域,所述窗口初始化參數還包括瀏覽器窗口坐標數據,所述方法還包括所述客戶端在所述瀏覽器窗口坐標數據定義的范圍內生成并顯示所述瀏覽器菜單區域。
4.如權利要求1-3任一所述的方法,其特征在于,所述窗口初始化參數包括瀏覽器內容區域的坐標信息。
5.如權利要求1-4任一所述的方法,其特征在于,當所述瀏覽器內容區域中包括子鏈接時,所述方法還包括所述客戶端從所述服務器獲取所述子鏈接的URL對應的網頁數據,渲染所述子鏈接的 URL對應的網頁數據,將渲染后得到的圖像顯示在所述瀏覽器內容區域中。
6.如權利要求1-5任一所述的方法,其特征在于,在所述客戶端向所述服務器發送數據獲取請求之前,所述方法還包括所述客戶端將用戶的操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。
7.如權利要求6所述的方法,其特征在于,在所述客戶端將用戶的操作指令轉換為對瀏覽器的控制指令之前,所述方法還包括所述客戶端接收所述服務器通過所述遠程桌面協議發送的所述用戶的操作指令。
8.一種實現遠程桌面環境下網頁瀏覽的方法,其特征在于,包括服務器向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在所述客戶端進行渲染的區域為瀏覽器內容區域;所述服務器接收所述客戶端發送的數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL ;所述服務器向所述客戶端返回與所述URL對應的網頁數據,以使得所述客戶端對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。
9.如權利要求8所述的方法,其特征在于,所述瀏覽器的窗口包括所述瀏覽器內容區域和瀏覽器菜單區域,所述方法還包括所述服務器向所述客戶端發送所述瀏覽器菜單區域的位圖數據,以使得所述客戶端顯示所述瀏覽器菜單區域的位圖數據。
10.如權利要求8所述的方法,其特征在于,所述瀏覽器的窗口包括所述瀏覽器內容區域和瀏覽器菜單區域,所述服務器向客戶端發送窗口初始化參數包括所述服務器向所述客戶端發送攜帶有瀏覽器窗口坐標數據的窗口初始化參數,以使得所述客戶端在所述瀏覽器窗口坐標數據定義的范圍內生成并顯示所述瀏覽器菜單區域。
11.如權利要求8-10任一所述的方法,其特征在于,在所述服務器接收所述客戶端發送的數據獲取請求之前,所述方法還包括所述服務器通過所述遠程桌面協議向所述客戶端發送用戶的操作指令,以使得所述客戶端將所述操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。
12.—種實現遠程桌面環境下網頁瀏覽的客戶端,其特征在于,所述客戶端包括客戶端瀏覽器控制模塊,用于接收服務器發送的窗口初始化參數,所述窗口初始化參數用于標識需要在客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;瀏覽器引擎模塊,用于向所述服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL,接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。
13.如權利要求12所述的客戶端,其特征在于,所述客戶端瀏覽器控制模塊,還用于接收并顯示所述服務器發送的瀏覽器菜單區域的位圖數據。
14.如權利要求12所述的客戶端,其特征在于,所述客戶端瀏覽器控制模塊,還用于確定攜帶在所述窗口初始化參數中的瀏覽器窗口坐標數據定義的范圍,在確定的范圍內生成并顯示所述瀏覽器菜單區域。
15.如權利要求12-14任一所述的客戶端,其特征在于,所述瀏覽器引擎模塊,還用于當所述瀏覽器內容區域中包括子鏈接時,從所述服務器獲取所述子鏈接的URL對應的網頁數據,渲染所述子鏈接的URL對應的網頁數據,將渲染后得到的圖像顯示在所述瀏覽器內容區域中。
16.如權利要求12-15任一所述的客戶端,其特征在于,所述客戶端瀏覽器控制模塊,還用于將用戶的操作指令轉換為對瀏覽器的控制指令, 所述控制指令包括所述用戶訪問的URL。
17.一種實現遠程桌面環境下網頁瀏覽的服務器,其特征在于,包括服務器瀏覽器控制模塊,用于向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;數據代理模塊,用于接收所述客戶端發送的數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL,向所述客戶端返回與所述URL對應的網頁數據,以使得所述客戶端對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。
18.如權利要求17所述的服務器,其特征在于,所述服務器還包括顯示模塊,所述顯示模塊,用于向所述客戶端發送瀏覽器菜單區域的位圖數據,以使得所述客戶端顯示所述瀏覽器菜單區域的位圖數據。
19.如權利要求17所述的服務器,其特征在于,服務器瀏覽器控制模塊,具體用于向所述客戶端發送攜帶有瀏覽器窗口坐標數據的窗口初始化參數,以使得所述客戶端在所述瀏覽器窗口坐標數據定義的范圍內生成并顯示所述瀏覽器菜單區域。
20.如權利要求17-19任一所述的服務器,其特征在于,所述服務器瀏覽器控制模塊,還用于通過所述遠程桌面協議向所述客戶端發送用戶的操作指令,以使得所述客戶端將用戶的操作指令轉換為對瀏覽器的控制指令,所述控制指令包括所述用戶訪問的URL。
21.一種實現遠程桌面環境下網頁瀏覽的系統,其特征在于,包括服務器,用于向客戶端發送窗口初始化參數,所述窗口初始化參數用于標識需要在所述客戶端進行渲染的區域,所述需要在客戶端進行渲染的區域為瀏覽器內容區域;所述客戶端,用于接收所述窗口初始化參數,向所述服務器發送數據獲取請求,所述數據獲取請求攜帶用戶訪問的統一資源定位符URL ;所述服務器,還用于接收所述客戶端發送的數據獲取請求,向所述客戶端返回與所述 URL對應的網頁數據;所述客戶端,還用于接收所述服務器返回的與所述URL對應的網頁數據,對所述網頁數據進行渲染并顯示在所述瀏覽器內容區域;其中,所述客戶端與所述服務器通過遠程桌面協議連接。
22.如權利要求21所述的系統,其特征在于,所述客戶端,還用于接收并顯示所述服務器發送的瀏覽器菜單區域的位圖數據。
全文摘要
本發明實施例提供了一種實現遠程桌面環境下網頁瀏覽的方法、裝置和系統,客戶端接收服務器發送的窗口初始化參數,根據窗口初始化參數確定需要在客戶端進行渲染的瀏覽器內容區域,進一步從服務器獲取用戶訪問的URL對應的網頁數據進行渲染并顯示在瀏覽器內容區域,從而實現了瀏覽器內容區域在客戶端的渲染,避免了服務器對視頻圖形的轉換及位圖數據的壓縮,降低了服務器的資源消耗,同時避免了服務器與客戶端之間海量數據的傳遞,降低了數據傳輸的帶寬需求。
文檔編號H04L29/08GK102577327SQ201180003161
公開日2012年7月11日 申請日期2011年12月26日 優先權日2011年12月26日
發明者紀燦萌, 陳普 申請人:華為技術有限公司