国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種能夠動態(tài)解析Web應用的云計算系統(tǒng)及方法

      文檔序號:7815973閱讀:260來源:國知局
      一種能夠動態(tài)解析Web應用的云計算系統(tǒng)及方法
      【專利摘要】本發(fā)明涉及一種能夠動態(tài)解析Web應用的云計算系統(tǒng),包括:前置處理器、管理器、云計算節(jié)點群、云存儲節(jié)點群;云計算節(jié)點群中包括多個云計算節(jié)點,云存儲節(jié)點群中包括多個云存儲節(jié)點;其中,前置處理器接收移動終端的請求,然后向管理器詢問向哪個云計算節(jié)點轉發(fā)移動終端的請求;管理器負責管理云計算節(jié)點群中所有云計算節(jié)點的運行狀態(tài)信息,根據(jù)云計算節(jié)點的運行狀態(tài)信息決策由哪個運行負荷小的云計算節(jié)點處理移動終端的請求,并將決策結果返回給前置處理器;云計算節(jié)點根據(jù)移動終端的請求做相應的計算;前置處理器接收云計算節(jié)點的處理結果,并將結果信息轉發(fā)給移動終端;云存儲節(jié)點負責存儲云計算系統(tǒng)的會話信息和運行狀態(tài)信息。
      【專利說明】一種能夠動態(tài)解析Web應用的云計算系統(tǒng)及方法

      【技術領域】
      [0001]本發(fā)明涉及通訊領域,特別涉及一種能夠動態(tài)解析Web應用的云計算系統(tǒng)。

      【背景技術】
      [0002]云計算是通過網(wǎng)絡提供可伸縮的廉價的分布式計算能力。云計算代表了以虛擬化 技術為核心、以低成本為目標的動態(tài)可擴展網(wǎng)絡應用基礎設施,是近年來最有代表性的網(wǎng) 絡計算技術與模式。云計算系統(tǒng)是指能夠對外云計算服務的系統(tǒng),該系統(tǒng)通常包括多個云 計算節(jié)點,云計算系統(tǒng)可根據(jù)用戶的需求從所述多個云計算節(jié)點中選取至少一個云計算節(jié) 點,由所選取的云計算節(jié)點向用戶提供諸如存儲、計算在內的服務。
      [0003]用戶分享云計算所提供服務的終端設備不僅可以是工作站、PC機等計算能力較 強、存儲資源較為豐富的計算設備,隨著智能移動終端設備的普及以及云計算服務種類的 多樣化,用戶將會越來越多地在移動終端設備上分享云計算所提供的服務。
      [0004]網(wǎng)頁瀏覽器是萬維網(wǎng)(Web)服務的客戶端瀏覽程序,可向Web服務器發(fā)送各種請 求,并對從服務器發(fā)來的超文本信息和各種多媒體數(shù)據(jù)格式進行解釋、顯示和播放。與工作 站、PC機相比,移動終端資源相對有限,因此移動終端網(wǎng)頁瀏覽器較工作站、p C機上運行的 網(wǎng)頁瀏覽器在開發(fā)時更為困難,在功能上有更多限制。正是由于這一原因,目前絕大多數(shù)的 移動終端內置網(wǎng)頁瀏覽器不能解析執(zhí)行包含復雜JS(JavaScript,一種基于對象和事件驅 動并具有相對安全性的客戶端腳本語言)的Web頁面,這導致移動終端內置網(wǎng)頁瀏覽器不 能正常瀏覽包含復雜JS的Web頁面。
      [0005] 為了解決移動終端內置瀏覽器不能正常瀏覽包含復雜JS的Web頁面的問題,現(xiàn)有 技術中所采用的方法是采用客戶端/瀏覽器服務器的架構,該架構如圖1所示,首先由客戶 端向瀏覽器服務器發(fā)送請求,接著由瀏覽器服務器根據(jù)該請求中所包含的地址訪問Web應 用服務器,在獲取Web應用數(shù)據(jù)后在所述瀏覽器服務器端完成Web應用數(shù)據(jù)的解析執(zhí)行,然 后瀏覽器服務器端把解析結果響應給客戶端,客戶端將解析結果顯示在移動終端的網(wǎng)頁瀏 ι?/r π,ρ L· Μ器上。
      [0006] 在上述客戶端/瀏覽器服務器的架構方式中,客戶端和瀏覽器服務器之間采用自 定義的交互動作通訊協(xié)議,而這種自定義的交互動作通訊協(xié)議是私有通訊協(xié)議,移動終端 內置網(wǎng)頁瀏覽器不能跟該瀏覽器服務器通訊。顯然,現(xiàn)有技術中的這一架構方式要求Web 應用開發(fā)人員針對某一類型的Web應用開發(fā)專用客戶端,不僅要Web應用開發(fā)人員花費大 量的時間、精力與金錢,也迫使用戶需要在移動終端上安裝名目繁多、各種各樣的Web應用 客戶端,不利于用戶對Web應用的管理。更重要的是,在云計算系統(tǒng)中,作為瀏覽器服務器 的云計算節(jié)點可以有多個,在一次服務中并不能事先確定由哪個云計算節(jié)點為用戶提供服 務,且在一次服務中所涉及的云計算節(jié)點可能會有多個(如一次服務需要調用多個云計算 節(jié)點的能力完成),因此,若在客戶端與瀏覽器之間采用私有通訊協(xié)議實現(xiàn)通信,則要求所 有的云計算節(jié)點安裝同一私有通訊協(xié)議方能在某一客戶端上實現(xiàn)Web應用。在實踐中存在 有多種類型客戶端的情況,這就需要在所有云計算節(jié)點上安裝多種類型的私有通訊協(xié)議才 能滿足不同類型客戶端的需求,這給云計算節(jié)點帶來了較大的負擔。
      [0007] 此外,在現(xiàn)有技術的客戶端/瀏覽器服務器的架構方式中,瀏覽器服務器對Web頁 面解析執(zhí)行是在一個封閉的環(huán)境中執(zhí)行,瀏覽器服務器會把整個Web應用頁面的解析執(zhí)行 結果響應給客戶端顯示。這樣做在實際應用中會帶來如下問題:1、用戶對于Web應用頁面 有各自不同的需求,對于某一用戶而言,網(wǎng)站所提供的Web頁面中可能只有部分是有效的, 現(xiàn)有技術中的Web應用頁面解析執(zhí)行方式不能過濾出部分有效的Web頁面信息給客戶端顯 示,這會給用戶帶來不必要的信息冗余,浪費帶寬資源;2、目前某些網(wǎng)站所提供的Web應用 頁面僅適合在個人計算機上顯示,并不適合移動終端的屏幕尺寸,因此瀏覽器服務器對整 個Web應用頁面的解析執(zhí)行結果可能無法給用戶帶來最佳的客戶體驗。
      [0008] 現(xiàn)有技術中尚不存在能夠動態(tài)解析Web應用的云計算系統(tǒng)。因此,為克服上述現(xiàn) 有技術的當前缺陷,本發(fā)明提供一種能夠動態(tài)解析Web應用的云計算系統(tǒng),該系統(tǒng)能夠實 現(xiàn)動態(tài)解析Web應用,且能夠節(jié)約解析時間、提高解析效率。


      【發(fā)明內容】

      [0009] 本發(fā)明的目的在于克服現(xiàn)有技術中的云計算系統(tǒng)無法動態(tài)解析Web應用的缺陷, 從而提供一種能夠動態(tài)解析Web應用的云計算系統(tǒng)。
      [0010] 為了實現(xiàn)上述目的,本發(fā)明提供了以下技術方案:
      [0011] 一種能夠動態(tài)解析Web應用的云計算系統(tǒng),包括:前置處理器、管理器、云計算節(jié) 點群、云存儲節(jié)點群;所述云計算節(jié)點群中包括多個云計算節(jié)點,所述云存儲節(jié)點群中包括 多個云存儲節(jié)點;
      [0012]所述前置處理器接收移動終端的請求,然后向所述管理器詢問向哪個云計算節(jié)點 轉發(fā)移動終端的請求;
      [0013]所述管理器負責管理云計算節(jié)點群中所有云計算節(jié)點的運行狀態(tài)信息,根據(jù)所述 云計算節(jié)點的運行狀態(tài)信息決策由哪個運行負荷小的云計算節(jié)點處理移動終端的請求,并 將決策結果返回給前置處理器;
      [0014]所述云計算節(jié)點根據(jù)移動終端的請求做相應的計算;所述前置處理器接收云計算 節(jié)點的處理結果,并將結果信息轉發(fā)給所述移動終端;
      [0015]所述云存儲節(jié)點負責存儲云計算系統(tǒng)的會話信息和運行狀態(tài)信息。
      [0016] 上述技術方案中:
      [0017]所述云計算節(jié)點進一步包括接入控制器、頁面攔截規(guī)則器、頁面重寫器、動態(tài)解析 執(zhí)行容器/引擎、執(zhí)行控制模板集;其中,
      [0018]所述接入控制器將用戶發(fā)出的訪問請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析 執(zhí)行容器/引擎,以及從所述頁面重寫器接收重寫后的Web應用頁面并返回用戶終端的瀏 覽器;
      [0019]所述頁面攔截規(guī)則器從用戶所發(fā)出的訪問請求中截取Url地址的特征信息,根據(jù) 所述Url地址的特征信息調用所述執(zhí)行控制模板集中的執(zhí)行控制模板;
      [0020]所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至少包括執(zhí)行控制模 板指令;所述執(zhí)行控制模板指令在Web應用的原始數(shù)據(jù)中加上執(zhí)行控制模板指令標識,以 標識出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以及服務器上執(zhí)行的 可執(zhí)行代碼片段的執(zhí)行結果存放到重寫后的Web應用頁面中的哪個位置;
      [0021] 所述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù) 據(jù)中指定的可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置;
      [0022]所述頁面重寫器對響應給用戶終端瀏覽器的重寫后的Web應用頁面的地址進行 重寫。
      [0023] 上述技術方案中:
      [0024]所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫;
      [0025]所述公共資源庫用于存放公共使用的公共JS模塊和對象文件;
      [0026]所述Web應用執(zhí)行控制模板庫用于存放各個Web應用的執(zhí)行控制模板。
      [0027] 上述技術方案中:
      [0028] 所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截規(guī)則,以及 用于指向與所要攔截的Web應用有關的存儲空間地址的路徑項;
      [0029] 其中所述路徑項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件; 其中的攔截規(guī)則文件用于攔截相關Web應用的具體頁面的Url地址,以及調用jst文件或 js文件;所述js文件和jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web 應用的頁面加以裁制后所顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      [0030] 上述技術方案中:
      [0031 ] 所述攔截規(guī)則文件為manifest, json文件。
      [0032] 上述技術方案中:
      [0033] 所述動態(tài)解析執(zhí)行容器/引擎包括:模板調用模塊、模板配置或調用控制模塊、攔 截規(guī)則模塊;其中,
      [0034] 所述模板調用模塊包括識別執(zhí)行片段單元、管理調用次序單元、調用配置單元;
      [0035] 所述模板配置或調用控制模塊包括模板結構化單元、執(zhí)行關系控制單元、執(zhí)行片 段組織單元以及中間結果工作空間;
      [0036] 所述攔截規(guī)則模塊用于記錄Web應用的原始頁面的地址和其內部各子頁面的地 址,并在動態(tài)解析執(zhí)行過程中攔截Web應用的原始頁面。
      [0037] 上述技術方案中:
      [0038] 所述模板調用模塊根據(jù)所述頁面攔截規(guī)則器所返回的結果從所述執(zhí)行控制模板 集中調用對應的執(zhí)行控制模板,并根據(jù)所調用的執(zhí)行控制模板對所攔截的Web應用的原始 頁面加以處理;
      [0039] 所述模板配置或調用控制模塊用于實現(xiàn)對執(zhí)行控制模板集中各個執(zhí)行控制模板 的配置,或對原Web應用中可執(zhí)行片段的組織調度。
      [0040] 上述技術方案中:
      [0041] 所述的識別執(zhí)行片段單元用于從Web應用的原始頁面中識別出可執(zhí)行代碼片段;
      [0042] 所述的管理調用次序單元根據(jù)Web應用的原始執(zhí)行邏輯確定Web應用中的執(zhí)行代 碼片段的執(zhí)行次序;
      [0043] 所述的調用配置單元用于對動態(tài)解析后所生成的Web應用的新的頁面的功能進 行配置;
      [0044] 所述的模板結構化單元用于對原Web應用的頁面和新生成的Web應用的頁面在頁 面結構和功能上進行對應;
      [0045]所述的執(zhí)行關系控制單元用于獲取原Web應用頁面的執(zhí)行過程,并按此執(zhí)行過程 執(zhí)行頁面中的各個可執(zhí)行片段;
      [0046]所述的執(zhí)行片段組織單元用于控制各片段代碼執(zhí)行邏輯化過程和調用關系;所述 中間結果工作空間用于執(zhí)行并保持中間數(shù)據(jù)。
      [0047] 上述技術方案中:
      [0048]所述頁面重寫器對重寫后的Web應用頁面的地址進行重寫包括:將Web應用原始 頁面的地址重寫為"云計算節(jié)點Url+頁面內各類Url,,。
      [0049] 上述技術方案中:
      [0050]所述的可執(zhí)行代碼片段包括JS片段、HTML片段以及CSS片段。
      [0051]本發(fā)明還提供了一種利用所述的云計算系統(tǒng)實現(xiàn)動態(tài)解析Web應用的方法,包 括:
      [0052]步驟1)、云計算節(jié)點群中的各個云計算節(jié)點向管理器匯報自身的運行狀態(tài)和負 荷;這一操作定期進行,或在云計算節(jié)點的負荷發(fā)生變化時進行;
      [0053]步驟2)、移動終端所發(fā)出的請求為前置處理器所接收;
      [0054]步驟3)、前置處理器向管理器詢問可以向哪個云計算節(jié)點轉發(fā)該請求;
      [0055]步驟4)、管理器根據(jù)自身所存儲的各個云計算節(jié)點的運行狀態(tài)和負荷信息向前置 處理器推薦某一負荷較小的云計算節(jié)點,可將該云計算節(jié)點標記為第一云計算節(jié)點;
      [0056]步驟5)、前置處理器向所述第一云計算節(jié)點轉發(fā)移動終端所發(fā)出的請求;
      [0057]步驟6)、第一云計算節(jié)點處理移動終端所發(fā)出的請求,并將最終處理結果返回給 前置處理器;
      [0058]步驟7)、所述前置處理器將處理結果返回給移動終端。
      [0059] 上述技術方案中:
      [0060]在步驟6)中的第一云計算節(jié)點處理移動終端所發(fā)出的請求的過程進一步包括: [0061]在該請求的處理過程中,第一云計算節(jié)點若需要將子任務分派給其它云計算節(jié)點 協(xié)助處理,則由第一云計算節(jié)點向管理器詢問哪些云計算節(jié)點可以分擔子任務處理;
      [0062]所述分擔子任務處理的云計算節(jié)點分別執(zhí)行子任務,并將處理結果返回給所述第 一云計算節(jié)點;
      [0063]所述第一云計算節(jié)點將子任務處理結果以及自身對移動終端請求的處理結果匯 總,得到對移動終端請求的最終處理結果,將所述最終處理結果返回給前置處理器。
      [0064] 上述技術方案中:
      [0065]管理器根據(jù)各個z?計算節(jié)點的運行狀態(tài)和負荷信息推薦若干個云計算節(jié)點;
      [0066]第一云計算節(jié)點向上述管理器所推薦的若干個云計算節(jié)點發(fā)起子任務處理請 求;
      [0067]其它云計算節(jié)點響應子任務處理請求,將子任務處理后的結果返回給所述第一云 計算節(jié)點。
      [0068]本發(fā)明又提供了一種動態(tài)解析執(zhí)行引擎,應用于云計算系統(tǒng)中,包括:模板調用模 塊、模板配置或調用控制模塊、攔截規(guī)則模塊;其特征在于:
      [0069]所述模板調用模塊,用于根據(jù)頁面攔截規(guī)則器所返回的結果從執(zhí)行控制模板集中 調用對應的執(zhí)行控制模板,并根據(jù)所調用的執(zhí)行控制模板對所攔截的Web應用的原始頁面 加以處理;
      [0070] 所述模板配置或調用控制模塊,用于實現(xiàn)對執(zhí)行控制模板集中各個執(zhí)行控制模板 的配置,或對原Web應用中可執(zhí)行片段的組織調度;
      [0071] 所述攔截規(guī)則模塊用于記錄Web應用的原始頁面的地址和其內部各子頁面的地 址,并在動態(tài)解析執(zhí)行過程中攔截Web應用的原始頁面。
      [0072] 上述技術方案中:
      [0073] 所述模板調用模塊包括識別執(zhí)行片段單元、管理調用次序單元、調用配置單元;其 中,
      [0074] 所述的識別執(zhí)行片段單元用于從Web應用的原始頁面中識別出可執(zhí)行代碼片段;
      [0075] 所述的管理調用次序單元根據(jù)Web應用的原始執(zhí)行邏輯確定Web應用中的執(zhí)行代 碼片段的執(zhí)行次序;
      [0076]所述的調用配置單元用于對動態(tài)解析后所生成的Web應用的新的頁面的功能進 行配置;
      [0077]所述模板配置或調用控制模塊包括模板結構化單元、執(zhí)行關系控制單元、執(zhí)行片 段組織單元以及中間結果工作空間;其中,
      [0078] 所述的模板結構化單元用于對原Web應用的頁面和新生成的Web應用的頁面在頁 面結構和功能上進行對應;
      [0079]所述的執(zhí)行關系控制單元用于獲取原Web應用頁面的執(zhí)行過程,并按此執(zhí)行過程 執(zhí)行頁面中的各個可執(zhí)行片段;
      [0080] 所述的執(zhí)行片段組織單元用于控制各片段代碼執(zhí)行邏輯化過程和調用關系;
      [0081] 所述中間結果工作空間用于執(zhí)行并保持中間數(shù)據(jù)。
      [0082] 本發(fā)明再提供了一種云計算節(jié)點,包括:接入控制器、頁面攔截規(guī)則器、頁面重寫 器、動態(tài)解析執(zhí)行容器/引擎、執(zhí)行控制模板集;
      [0083] 所述接入控制器將用戶發(fā)出的訪問請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析 執(zhí)行容器/引擎,以及從所述頁面重寫器接收重寫后的Web應用頁面并返回用戶終端的瀏 兄器;
      [0084] 所述頁面攔截規(guī)則器從用戶所發(fā)出的訪問請求中截取Url地址的特征信息,根據(jù) 所述Url地址的特征信息調用所述執(zhí)行控制模板集中的執(zhí)行控制模板;
      [0085]所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至少包括執(zhí)行控制模 板指令;所述執(zhí)行控制模板指令在Web應用的原始數(shù)據(jù)中加上執(zhí)行控制模板指令標識,以 標識出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以及服務器上執(zhí)行的 可執(zhí)行代碼片段的執(zhí)行結果存放到重寫后的Web應用頁面中的哪個位置;
      [0086]所述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù) 據(jù)中指定的可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置;
      [0087]所述頁面重寫器對響應給用戶終端瀏覽器的重寫后的Web應用頁面的地址進行 重寫。
      [0088] 上述技術方案中:
      [0089]所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫;
      [0090] 所述公共資源庫用于存放公共使用的公共JS模塊和對象文件;
      [0091] 所述Web應用執(zhí)行控制模板庫用于存放各個Web應用的執(zhí)行控制模板。
      [0092] 上述技術方案中:
      [0093] 所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截規(guī)則,以及 用于指向與所要攔截的Web應用有關的存儲空間地址的路徑項;
      [0094] 其中所述路徑項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件; 其中的攔截規(guī)則文件用于攔截相關Web應用的具體頁面的Url地址,以及調用jst文件或 js文件;所述js文件和jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web 應用的頁面加以裁制后所顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      [0095] 本發(fā)明還提供了一種利用所述的云計算節(jié)點實現(xiàn)動態(tài)解析Web應用的方法,包 括:
      [0096] 步驟101)、所述接入控制器監(jiān)聽并接收由前置處理器轉發(fā)的移動終端所發(fā)出的訪 問請求;
      [0097] 步驟102)、所述頁面規(guī)則攔截器從步驟101)所得到的訪問請求中截取出目標url 地址,根據(jù)所述目標URL地址從所述執(zhí)行控制模板集中調用相應的執(zhí)行控制模板。
      [0098] 步驟103)、獲取用戶所要訪問的Web應用的原始數(shù)據(jù);
      [0099] 步驟104)、根據(jù)執(zhí)行控制模板指令訪問Web應用的頁面指定區(qū)域或執(zhí)行腳本位 置;
      [0100] 步驟1〇5)、根據(jù)執(zhí)行控制模板指令,按原Web應用的執(zhí)行步驟或執(zhí)行邏輯分步調 用動態(tài)解析執(zhí)行容器/引擎和瀏覽器內核完成執(zhí)行操作;
      [0101] 步驟1〇6)、保留原Web應用業(yè)務的邏輯,按照業(yè)務邏輯和已經拆分存放的中間 過程數(shù)據(jù),并根據(jù)已經執(zhí)行的JS片段、HTML片段以及CSS片段的中間結果,中間Cookie、 Session狀態(tài),以及余下部分JS片段、HTML片段、CSS片段生成新的Web應用頁面的基本操 作和展示內容;
      [0102] 步驟107)、將步驟106)所生成的新的Web應用頁面由頁面重寫器對應移動瀏覽器 特點加入頁面Π 并排版,通過接入控制器經前置處理器轉發(fā)后返回給移動終端的瀏覽器。
      [0103] 上述技術方案中,所述的步驟105)進一步包括:
      [0104]步驟105-1)、所述動態(tài)解析執(zhí)行容器/引擎按照與該Web應用有關的執(zhí)行控制模 版指令中的標識識別并執(zhí)行在執(zhí)行控制模板中指定的JS片段、HTML片段以及CSS片段;
      [0105] 步驟1〇5_2)、動態(tài)解析執(zhí)行容器/引擎按照執(zhí)行控制模板指令將步驟105-1)所得 到的代碼片段執(zhí)行結果輸出到Web應用的頁面的指定位置;
      [0106] 上述技術方案中,所述的步驟105-1)進一步包括:
      [0107] 本步驟中對JS片段、HTML片段以及CSS片段的執(zhí)行是通過動態(tài)解析執(zhí)行容器/引 擎對JS引擎、HTML解析器、CSS解析器的調用實現(xiàn)的。
      [0108] 本發(fā)明的優(yōu)點在于:本發(fā)明的云計算系統(tǒng)能夠對Web應用的解析過程進行控制, 從而可以根據(jù)用戶需要由原有的Web應用得到新的Web應用。

      【專利附圖】

      【附圖說明】
      [0109]圖1是現(xiàn)有技術中的客戶端/瀏覽器服務器架構的示意圖;
      [0110]圖2是本發(fā)明的云計算系統(tǒng)的結構示意圖;
      [0111]圖3是本發(fā)明的云計算系統(tǒng)的工作流程圖;
      [0112]圖4是云計算節(jié)點的功能模塊圖;
      [0113]圖5是網(wǎng)址為"http://www· ifeng. com,,的網(wǎng)頁經攔截后所生成的新的網(wǎng)頁的示 意圖;
      [0114]圖6是動態(tài)解析執(zhí)行容器/引擎的功能模塊圖。

      【具體實施方式】
      [0115]現(xiàn)結合附圖對本發(fā)明作進一步的描述。為克服現(xiàn)有技術中的云計算系統(tǒng)無法動態(tài) 角^Web應用^缺陷,本發(fā)明提供一種能夠動態(tài)解析ffeb應用的云計算系統(tǒng)包括:前置處理 理器、石計算節(jié)點群、云存儲節(jié)點群;所述云計算節(jié)點群中包括多個云計算節(jié)點,所述 云存f節(jié)點群中包括多個云存儲節(jié)點;其中,所述前置處理器接收移動終端的請求,然后向 所述管理-詢問向哪個云計算節(jié)點轉發(fā)移動終端的請求;所述管理器負責管理云計算節(jié)點 群中所有云計算節(jié)點的運行狀態(tài)信息,根據(jù)所述云計算節(jié)點的運行狀態(tài)信息決策由哪個g 行$荷小的云計算節(jié)點處理移動終端的請求,并將決策結果返回給前置處理器;所述云計 算節(jié)點根據(jù)移動終端的請求做相應的計算;所述前置處理器接收云計算節(jié)點的處理結果, 并將結果信息轉發(fā)給所述移動終端;所述云存儲節(jié)點負責存儲云計算系統(tǒng)的會話信息和運 行狀態(tài)信息。
      [0116]下面將參見圖2-6對該云計算系統(tǒng)的內部結構、功能原理以及實現(xiàn)過程給予詳細 的、示例性的說明。 ^117]參考圖2,本發(fā)明的云計算系統(tǒng)包括:前置處理器、管理器、云計算節(jié)點群、云存儲 節(jié)點群;所述云計算節(jié)點群中包括多個云計算節(jié)點,所述云存儲節(jié)點群中包括多個云存儲 =點。其中,所述前置處理器接收移動終端的請求,然后向所述管理器詢問可向哪個云計算 節(jié)點轉發(fā)移動終端的請求,還能接收云計算節(jié)點的處理結果,并將結果信息轉發(fā)給所述移 動終端;所述管理器負責管理云計算節(jié)點群中所有云計算節(jié)點的運行狀態(tài)信息,還可根據(jù) 所述云計算節(jié)點的運行狀態(tài)信息決策由哪個運行負荷小的云計算節(jié)點處理移動終端的請 求,并^將決策結果返回給前置處理器;所述云計算節(jié)點根據(jù)移動終端的請求做相應的計算; 所述云存儲節(jié)點負責存儲云計算系統(tǒng)的會話信息和運行狀態(tài)信息。
      [0118]進一步^的,所述云計算節(jié)點進一步包括接入控制器、頁面攔截規(guī)則器、頁面重寫 器、動態(tài)解析執(zhí)行容器/引擎、執(zhí)行控制模板集;其中,所述接入控制器將用戶發(fā)出的訪問 請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析執(zhí)行容器/引擎,以及從所述頁面重寫器接收 重寫后的Web應用頁面并返回用戶終端的瀏覽器;所述頁面攔截規(guī)則器從用戶所發(fā)出的訪 問請求中截取Url地址的特征信息,根據(jù)所述u rl地址的特征信息調用所述執(zhí)行控制模板 集中的執(zhí)行控制模板;所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至少包 括執(zhí)行控制模板指令;所述執(zhí)行控制模板指令在 Web應用的原始數(shù)據(jù)中加上執(zhí)行控制模板 指令標識,以標識出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以及服 務器上執(zhí)行的可執(zhí)行代碼片段的執(zhí)行結果存放到重寫后的 Web應用頁面中的哪個位置;所 述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù)據(jù)中指定的 可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置;所述頁面重寫器對響應給 用戶終端瀏覽器的重寫后的Web應用頁面的地址進行重寫。
      [0119] 進一步的,所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫;所述 公共資源庫用于存放公共使用的公共JS模塊和對象文件;所述Web應用執(zhí)行控制模板庫用 于存放各個Web應用的執(zhí)行控制模板。
      [0120] 進一步的,所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截 規(guī)則,以及用于指向與所要攔截的Web應用有關的存儲空間地址的路徑項;其中所述路徑 項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件;其中的攔截規(guī)則文件用 于攔截相關Web應用的具體頁面的Url地址,以及調用jst文件或js文件;所述js文件和 jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web應用的頁面加以裁制后所 顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      [0121] 參考圖3,本發(fā)明的云計算系統(tǒng)的整體工作流程如下:
      [0122]步驟1)、云計算節(jié)點群中的各個云計算節(jié)點向管理器匯報自身的運行狀態(tài)和負 荷;這一操作定期進行,或在云計算節(jié)點的負荷發(fā)生變化時進行;
      [0123]步驟2)、移動終端所發(fā)出的請求為前置處理器所接收;
      [0124] 步驟3)、前置處理器向管理器詢問可以向哪個云計算節(jié)點轉發(fā)該請求;
      [0125]步驟4)、管理器根據(jù)自身所存儲的各個云計算節(jié)點的運行狀態(tài)和負荷信息向前置 處理器推薦某一負荷較小的z?計算節(jié)點,可將該云計算節(jié)點標記為第一云計算節(jié)點;
      [0126]步驟5)、目U置處理器向所述第一云計算節(jié)點轉發(fā)移動終端所發(fā)出的請求;
      [0127] 步驟6)、第一云計算節(jié)點處理移動終端所發(fā)出的請求;
      [0128]步驟7)、在處理請求的過程中,若需要將子任務分派給其它云計算節(jié)點協(xié)助處理, 則由第一云計算節(jié)點向管理器詢問哪些云計算節(jié)點可以分擔子任務處理;
      [0129]步驟8)、管理器根據(jù)各個云計算節(jié)點的運行狀態(tài)和負荷信息推薦若干個云計算節(jié) 占-
      [0130]步驟9)、第一云計算節(jié)點向步驟8)中所推薦的若干個云計算節(jié)點發(fā)起子任務處 理請求;
      [0131]步驟10)、其它云計算節(jié)點響應子任務處理請求,將子任務處理后的結果返回給所 述第一云計算節(jié)點;
      [0132]步驟11)、所述第一云計算節(jié)點將子任務處理結果以及自身對移動終端請求的處 理結果匯總,得到對移動終端請求的最終處理結果,將所述最終處理結果返回給前置處理 器;
      [0133]步驟12)、所述前置處理器將處理結果返回給移動終端。
      [0=4]、與現(xiàn)有技術中常見的云計算節(jié)點相比,本申請中所涉及的云計算節(jié)點能夠對移動 終立而所求的Web應用做動態(tài)解析,包括根據(jù)用戶的需求從所述完整Web應用頁面中提取 分功能、剔除冗余數(shù)據(jù)、對于頁面可執(zhí)行代碼進行拆解并分段執(zhí)行、對于過程動態(tài)數(shù)據(jù)進 行分類存儲,然后根據(jù)解析結果生成新的Web應用頁面并返回給移動終端的瀏覽器。由此, 移動終端的瀏覽器便可直接訪問包含復雜j S的Web頁面,或能夠根據(jù)用戶需要訪問Web應 用頁面中的有效數(shù)據(jù)。
      [0=5]因此,本發(fā)明還提供了一種云計算節(jié)點,包括:接入控制器、頁面攔截規(guī)則器、頁面 重與器、動態(tài)解析執(zhí)行容器/引擎、執(zhí)行控制模板集;其中,所述接入控制器將用戶發(fā)出的 訪問請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析執(zhí)行容器/引擎,以及從所述頁面重寫器 接收重寫后的Web應用頁面并返回用戶終端的瀏覽器;所述頁面攔截規(guī)則器從用戶所發(fā)出 的訪問請求中截取Url地址的特征信息,根據(jù)所述Url地址的特征信息調用所述執(zhí)行控制 模板集中的執(zhí)行控制模板;所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至 少包括執(zhí)行控制模板指令;所述執(zhí)行控制模板指令在Web應用的原始數(shù)據(jù)中加上執(zhí)行控制 模板指令標識,以標識出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以 及服務器上執(zhí)行的可執(zhí)行代碼片段的執(zhí)行結果存放到重寫后的Web應用頁面中的哪個位 置;所述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù)據(jù)中 指定的可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置;所述頁面重寫器對 響應給用戶終端瀏覽器的重寫后的Web應用頁面的地址進行重寫。
      [0136] 進一步的,所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截 規(guī)則,以及用于指向與所要攔截的Web應用有關的存儲空間地址的路徑項;其中所述路徑 項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件;其中的攔截規(guī)則文件用 于攔截相關Web應用的具體頁面的Url地址,以及調用j st文件或js文件;所述js文件和 jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web應用的頁面加以裁制后所 顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      [0137] 圖4為云計算節(jié)點在一個實施例中的結構示意圖,如圖所示,該云計算節(jié)點包括 接入控制器、頁面攔截規(guī)則器、頁面重寫器、動態(tài)解析執(zhí)行容器/引擎、執(zhí)行控制模板集、JS 引擎、HTML解析器、CSS解析器、Http訪問器(fetcher)和Session&Cookie管理器。
      [0138] 所述接入控制器用于實現(xiàn)Http協(xié)議的代理服務控制,當云計算節(jié)點一啟動,所述 接入控制器就進入代理監(jiān)聽狀態(tài),隨時準備接收來源于移動終端的訪問請求,一旦監(jiān)聽到 訪問請求將該請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析執(zhí)行容器/引擎,還包括從頁面 重寫器接收重寫后的Web應用頁面并返回移動終端的瀏覽器。
      [0139] 所述頁面攔截規(guī)則器從移動終端所發(fā)出的訪問請求中截取Url地址的特征信息, 根據(jù)所述Url地址的特征信息決定調用執(zhí)行控制模板集中的哪個執(zhí)行控制模板。
      [0140] 所述執(zhí)行控制模板集至少包括多個執(zhí)行控制模板,每一執(zhí)行控制模板至少包括執(zhí) 行控制模板指令。所述執(zhí)行控制模板指令是在已有的網(wǎng)頁HTML文件(如*. htm或*. html) 中加上執(zhí)行控制模板指令標識。所述執(zhí)行控制模板指令標識主要有兩種,一種是用于標識 出網(wǎng)頁HTML文件中的哪段JS片段在服務器上執(zhí)行,另一種是用于標識出在服務器上解析 執(zhí)行JS的結果放在網(wǎng)頁HTML文件的網(wǎng)頁HTML內容結構中的哪個位置。與之相比,沒有被 執(zhí)行控制模板指令標識的網(wǎng)頁HTML內容一般留給客戶端瀏覽器解析執(zhí)行。
      [0141] 所述JS引擎專門用于處理JS腳本。
      [0142] 所述HTML解析器用于實現(xiàn)Web頁面中HTML標簽補償和解析執(zhí)行。
      [0143] 所述CSS解析器用于實現(xiàn)Web頁面中的CSS解析。
      [0144] 所述Session&Cookie管理器用于實現(xiàn)對每個移動終端訪問Web應用所產生的 Session 和 Cookie 的管理。
      [0145] 所述Http訪問器用于完成對Web應用的Web頁面的HTTP請求管理。在本實施例 中,所述Http訪問器根據(jù)頁面攔截規(guī)則器所截取的目標Url地址得到用戶所要訪問的Web 應用的原始頁面數(shù)據(jù)。
      [0146]所述動態(tài)解析執(zhí)行容器/引擎是一個通過執(zhí)行JS腳本來協(xié)調JS引擎、HTML解 析器、CSS解析器、Session&Cookie管理器、Http訪問器和附加的原頁面本來不具備的功 能(如將word文件轉換為html或將pdf文件轉換為j Pg圖片)一起工作的Js執(zhí)行環(huán)境。 該執(zhí)行環(huán)境按照執(zhí)行控制模板指令完成指定部分web頁面代碼片段,并輸出到指定頁面^ 置。 '
      [0147]所述頁面重與器把用于動態(tài)解析Web應用的云計算節(jié)點響應給移動終端瀏覽器 的Web頁面有關Url的地址重寫成:云計算節(jié)點Url+頁面內各類Url。
      [OHS]下面對云計算節(jié)點中的各個部分做進一步的說明。
      [0149]所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫;所述公共資源 庫用于存放公共使用的公共JS模塊和對象文件;所述ffeb應用執(zhí)行控制模板庫用于存放名^ 個Web應用的執(zhí)行控制模板,某一執(zhí)行控制模板與某一特定的w eb應用有關。
      [0150]所述Web應用執(zhí)行控制模板庫中可以有多個應用執(zhí)行控制模板,下面是一個簡單 的Web應用執(zhí)行控制模板庫的代碼實例:
      [0151] I. "baidii1': | "iiiilorbaiduportal", "mate lies"; [ 'littptW'' '.\v. w\\.baidu\\.cam+(/[\\w- .:/?%&\\=\\+f)*r], "path": "www.baidu.com" :K '"eipsps.seiiiae,c〇m,cii":|; "description,"eipsps,scmccxom,cn' ''niaiohcs"· ;[:^l*p^eipspsU.scmcc\\,com\\.cQ+(/[\\w-\\W- ,:/?%&W=Wf], "pinh": 'ViF''pf-.^mcc.con:: cn"
      [0152] .1,: "cmhqportaltcsUiq.cmcc,,;{ "deseriptiDn*'; !^mlu|psrtallestIiq,ciTicc',swmatciiesM:: I ,,http;WW.+?W.hqY\xmcc+(/[Ww-W-"path : "cmhqportal lesl,hq?cm^n: }
      [0153] 在上述的代碼實例中,該Web應用執(zhí)行控制模板庫包括三個應用執(zhí)行控制模板, 分別針對網(wǎng)址為 "www. baidu· com"、"eipsps_ scmcc· com· cn"、"cmhqportaltest· hq. cmcc" 的網(wǎng)站。在各個應用執(zhí)行控制模板中,matches項代表攔截規(guī)則,所述攔截規(guī)則采用正則表 達式表示,path項用于指向與所要攔截的Web應用相關的地址。
      [0154] 所述path所在地址下至少存放有三種類型的文件:js文件、jst文件、攔截規(guī)則文 件,其中該攔截規(guī)則文件優(yōu)選S manifest. json文件;其中的manifest, json文件用于攔截 相關Web應用的具體頁面Url地址,以及調用jst文件或js文件;所述js文件和jst文件 可以有多個,其中的jst文件用于描述對所要攔截的Web應用的頁面加以裁制后所顯示頁 面的框架,所述js文件用于描述裁制指令的內容,在j st文件中調用js文件能夠實現(xiàn)輸出 相關Web應用的布局結構中需要動態(tài)變化輸出的部分。
      [0155] 下面是manifest, json文件的一個代碼實例:
      [0156] ? ''^escaiptto': "(3tkc 〇a { "mattes":
      ["http:Wapptest\\.hq\\xiiiccWsoaclicnt\VispWal:Ipen€n§wo^;t^jip+(/[^^W-·:.:/?%^ 賴vrrr], Mcliiyed":true.. "insiructio a" : "al ipendinpvorkjtij.it'' I, "matches":
      [,Μ%>:ΨΜ>^?\\.1ι·(?η?β轉滅.心纖,魏攜*--,], "delayed'^: tme,
      [0157] "instruction"; ^jrgz.nsf,jsi'* 1* ? I '*http;麵灘攤識 側錄]': "delayed": true, 'Instruction'*: ^otheivjs'* } ] i
      [0158] 在上述的代碼實例中,matches項表示攔截規(guī)則,所述攔截規(guī)則采用正則表達式的 形式,instruction項用來說明當符合攔截規(guī)則時應當執(zhí)行哪個jst文件或js文件。在本 實施例中,可通過對用于表示攔截規(guī)則的正則表達式的配置確定執(zhí)行控制模板的粒度。在 其他實施例中也可采用其他方式來表示攔截規(guī)則以及確定執(zhí)行控制模板的粒度。
      [0159] 所述js文件中包括有對與Web應用有關的頁面進行解析、加工和聚合指令。例如, 所述js文件中包含有軟件IE Developer Toolbar中的指令,通過該軟件中的指令可定位、 選定Web頁上的特定元素;查看HTML對象的類名、ID以及類似鏈接路徑、tab順序、快捷鍵 等細節(jié);描繪表格、單元格、圖片或選定標簽的輪廓;顯示圖片象素、大小、路徑、替代文字。 [0160] 下面是js文件的一個簡單實例:
      [0161] try . rszHtraH'hello wwrn:騰r_,com:?; prin:tln( "hello www.iicngxom ¥if o WcbRcqucst=fctcher. request; szHtml=,'<div>" + szHtml + ,,</div>,'; taitor.setTextResuIi(szHtnil); }. catch (e)
      [0162] tail〇fiiftIes^esuIi(''<#v></iiy>H)* >
      [0163] 執(zhí)行該js文件后,可攔截網(wǎng)址為"http://www. ifeng· com"的網(wǎng)頁生成如圖5所 不的那樣只顯不"hello www. ifeng. com"的頁面。
      [0164] 所述jst文件中包含了對js文件的調用。在本實施例中,對jst調用js的語法 做了如下規(guī)定:
      [0165] (1)、<% = % >標簽:表示jst把js變量值賦值給Web頁面;例如:
      [0166] 〈% = ReturnBankJS% >,〈% = szHtml %〉和〈% = zhaoshangBank%〉等。
      [0167] (2)、<% ; % >標簽:表示jst執(zhí)行一段js腳本;例如:
      [0168] < % var names = ["chuck", "chaz","chuckles", "chucky","bill", "jim"] ; % >〇
      [0169] (3)、<% _% >標簽:表示jst執(zhí)行一段js腳本,剔除所有的空白部分。例如:
      [0170] <% results. forEach(function(item) {-% >
      [0171] <li><%= item% ></li>
      [0172] <% }-% >
      [0173] ⑷、<% include(〃js文件〃);% >標簽:表示jst調用執(zhí)行js文件,并可以把 js全局定義的變量結果賦值給Web頁面。例如:
      [0174] <% include (''payGateway. js〃); % >
      [0175] 在其他實施例中,jst調用js的語法還可以有其他形式。
      [0176] 從對執(zhí)行控制模板集的上述描述可以看出,通過應用執(zhí)行控制模板可實現(xiàn)對Web 應用站點的攔截,通過應用執(zhí)行控制模板中的manifest, json文件可實現(xiàn)對Web應用中某 一頁面的攔截,通過對jst文件或js文件的執(zhí)行可實現(xiàn)對與Web應用有關的頁面的裁制。 依照對應用執(zhí)行控制模板的上述說明,本領域技術人員也可根據(jù)Web應用的特點與需求實 現(xiàn)對與Web應用有關的應用執(zhí)行控制模板的配置。
      [0177] 參考圖6,所述動態(tài)解析執(zhí)行容器/引擎進一步包括:模板調用模塊、模板配置或 調用控制模塊、攔截規(guī)則模塊;其中,所述模板調用模塊包括識別執(zhí)行片段單元、管理調用 次序單元、調用配置單元,所述模板配置或調用控制模塊包括模板結構化單元、執(zhí)行關系控 制單元、執(zhí)行片段組織單元以及中間結果工作空間。
      [0178] 所述攔截規(guī)則模塊用于記錄原Web應用的頁面地址和其內部各子頁面的地址,并 在動態(tài)解析執(zhí)行過程中攔截原Web應用的頁面。
      [0179] 所述模板調用模塊根據(jù)所述頁面攔截規(guī)則器所返回的結果從所述執(zhí)行控制模板 集中調用對應的執(zhí)行控制模板,并根據(jù)所調用的執(zhí)行控制模板對所攔截的原Web應用的頁 面加以處理。其中的識別執(zhí)行片段單元用于從原Web應用的頁面中識別出諸如JS片段、 HTML片段以及CSS片段在內的可執(zhí)行片段;所述的管理調用次序單元根據(jù)原Web應用的執(zhí) 行邏輯確定原Web應用中的執(zhí)行代碼的執(zhí)行次序;所述的調用配置單元用于對動態(tài)解析后 所生成的Web應用的新的頁面的功能進行配置,所配置的功能可以是原Web應用的頁面已 有的功能,也可以是新增加的功能或對已有功能進行替換的新功能。
      [0180] 所述模板配置或調用控制模塊用于實現(xiàn)對執(zhí)行控制模板集中各個執(zhí)行控制模板 的配置,或對原Web應用中可執(zhí)行片段的組織調度。所述模板結構化單元用于對原Web應 用的頁面和新生成的Web應用的頁面在頁面結構和功能上進行對應;所述執(zhí)行關系控制單 元用于獲取原Web應用頁面的執(zhí)行過程,并按此執(zhí)行過程執(zhí)行頁面中的各個可執(zhí)行片段; 所述執(zhí)行片段組織單元用于控制各片段代碼執(zhí)行邏輯化過程和調用關系;所述中間結果工 作空間用于執(zhí)行并保持中間數(shù)據(jù)。
      [0181] 所述動態(tài)解析執(zhí)行容器/引擎在工作過程中,具體如下:
      [0182] 首先,根據(jù)所述頁面攔截規(guī)則器所返回的結果從所述執(zhí)行控制模板集中調用對應 的執(zhí)行控制模板,例如,假設移動終端發(fā)起對"WWW. baidu. com"的訪問請求,則從執(zhí)行控制 模板集中調用與baidu有關的執(zhí)行控制模板(假設該執(zhí)行控制模板已經保存在執(zhí)行控制模 板集中);
      [0183] 其次,通過所述Http訪問器得到用戶所要訪問的Web應用的原始頁面數(shù)據(jù),如百 度首頁的HTML信息;
      [0184] 接著,由所述攔截規(guī)則模塊根據(jù)所述執(zhí)行控制模板攔截Web應用的原始頁面數(shù) 據(jù),并根據(jù)所述執(zhí)行控制模板中的相關指令修改和裁制Web應用的原始頁面數(shù)據(jù),具體包 括:將所得到的Web應用的原始頁面數(shù)據(jù)存放到中間結果工作空間中,在該空間中,通過調 用識別執(zhí)行片段單元識別所述Web應用的原始頁面數(shù)據(jù)中的可執(zhí)行片段,通過調用管理調 用次序單元確定所述可執(zhí)行片段的執(zhí)行次序,通過調用所述的調用配置單元確定Web應用 的新生成頁面所具有的功能;通過調用模板結構化單元對Web應用的原始頁面和新生成的 頁面在頁面結構和功能上進行對應,通過調用執(zhí)行關系控制單元確保頁面中的各個可執(zhí)行 片段按照確定的執(zhí)行次序執(zhí)行,通過調用執(zhí)行片段組織單元控制各片段代碼執(zhí)行邏輯化過 程和調用關系;在上述的修改和裁制過程中,應當符合所述Web應用的原有邏輯,保留頁面 操作涉及的執(zhí)行代碼、子頁面功能和頁面所指向的其他執(zhí)行頁面;
      [0185] 最后生成所述Web應用的新的頁面。
      [0186] 所述頁面重寫器對Url地址的重寫包括將Web應用中原始頁面中有關Url的地址 重寫成:云計算節(jié)點Url+頁面內各類Url。如將百度首頁的HTML信息中a、img和frame 等各種鏈接的Url地址重寫成"http://221. 130. 253. 152:1306/tailor/+各種鏈接的Url 地址"。
      [0187] 云計算節(jié)點動態(tài)解析Web應用的過程如下:
      [0188] 步驟101)、所述接入控制器監(jiān)聽并接收由前置處理器轉發(fā)的移動終端所發(fā)出的訪 問請求;
      [0189] 步驟102)、所述頁面規(guī)則攔截器從步驟101)所得到的訪問請求中截取出目標Url 地址,根據(jù)所述目標URL地址從所述執(zhí)行控制模板集中調用相應的執(zhí)行控制模板。
      [0190] 步驟103)、獲取用戶所要訪問的Web應用的原始數(shù)據(jù);
      [0191] 步驟104)、根據(jù)執(zhí)行控制模板指令訪問Web應用的頁面指定區(qū)域或執(zhí)行腳本位 置;
      [0192]步驟1〇5)、根據(jù)執(zhí)行控制模板指令,按原Web應用的執(zhí)行步驟(或執(zhí)行邏輯)分步 調用動態(tài)解析執(zhí)行容器/引擎和瀏覽器內核完成執(zhí)行操作;該步驟包括:
      [0193]步驟105-1)、所述動態(tài)解析執(zhí)行容器/引擎按照與該Web應用有關的執(zhí)行控制模 版指令中的標識識別并執(zhí)行在執(zhí)行控制模板中指定的JS片段、HTML片段以及CSS片段; [0194] 本步驟中對JS片段、HTML片段以及CSS片段的執(zhí)行通過動態(tài)解析執(zhí)行容器/引 擎對JS引擎、HTML解析器、CSS解析器的調用實現(xiàn);
      [0195] 步驟105-2)、動態(tài)解析執(zhí)行容器/引擎按照執(zhí)行控制模板指令將步驟丨的一丨)所得 到的代碼片段執(zhí)行結果輸出到Web應用的頁面的指定位置;
      [0196] 步驟1〇6)、保留原Web應用業(yè)務的邏輯,按照業(yè)務邏輯和已經拆分存放的中間 過程數(shù)據(jù),并根據(jù)已經執(zhí)行的JS片段、HTML片段以及CSS片段的中間結果,中間Cookie、 Session狀態(tài),以及余下部分JS片段、HTML片段、CSS片段生成新的Web應用頁面的基本操 作和展示內容;
      [0197]步驟107)、將步驟106)所生成的新的Web應用頁面由頁面重寫器對應移動瀏覽器 特點加入頁面Π 并排版,通過接入控制器經前置處理器轉發(fā)后返回給移動終端的瀏覽器。 [0198]最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制。盡管參 照實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,對本發(fā)明的技術方 案進行修改或者等同替換,都不脫離本發(fā)明技術方案的精神和范圍,其均應涵蓋在本發(fā)明 的權利要求范圍當中。
      【權利要求】
      1. 一種能夠動態(tài)解析Web應用的云計算系統(tǒng),包括:前置處理器、管理器、云計算節(jié)點 群、云存儲節(jié)點群;所述云計算節(jié)點群中包括多個云計算節(jié)點,所述云存儲節(jié)點群中包括多 個云存儲節(jié)點;其特征在于: 所述前置處理器接收移動終端的請求,然后向所述管理器詢問向哪個云計算節(jié)點轉發(fā) 移動終端的請求; 所述管理器負責管理云計算節(jié)點群中所有云計算節(jié)點的運行狀態(tài)信息,根據(jù)所述云計 算節(jié)點的運行狀態(tài)信息決策由哪個運行負荷小的云計算節(jié)點處理移動終端的請求,并將決 策結果返回給前置處理器; 所述云計算節(jié)點根據(jù)移動終端的請求做相應的計算;所述前置處理器接收云計算節(jié)點 的處理結果,并將結果信息轉發(fā)給所述移動終端; 所述云存儲節(jié)點負責存儲云計算系統(tǒng)的會話信息和運行狀態(tài)信息。
      2. 根據(jù)權利要求1所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述云計算節(jié)點進一步包括接入控制器、頁面攔截規(guī)則器、頁面重寫器、動態(tài)解析執(zhí)行 容器/引擎、執(zhí)行控制模板集;其中, 所述接入控制器將用戶發(fā)出的訪問請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析執(zhí)行 容器/引擎,以及從所述頁面重寫器接收重寫后的Web應用頁面并返回用戶終端的瀏覽 器; 所述頁面攔截規(guī)則器從用戶所發(fā)出的訪問請求中截取Url地址的特征信息,根據(jù)所述 Url地址的特征信息調用所述執(zhí)行控制模板集中的執(zhí)行控制模板; 所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至少包括執(zhí)行控制模板指 令;所述執(zhí)行控制模板指令在Web應用的原始數(shù)據(jù)中加上執(zhí)行控制模板指令標識,以標識 出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以及服務器上執(zhí)行的可執(zhí) 行代碼片段的執(zhí)行結果存放到重寫后的Web應用頁面中的哪個位置; 所述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù)據(jù)中 指定的可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置; 所述頁面重寫器對響應給用戶終端瀏覽器的重寫后的Web應用頁面的地址進行重寫。
      3. 根據(jù)權利要求2所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫; 所述公共資源庫用于存放公共使用的公共JS模塊和對象文件; 所述Web應用執(zhí)行控制模板庫用于存放各個Web應用的執(zhí)行控制模板。
      4. 根據(jù)權利要求2或3所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截規(guī)則,以及用于 指向與所要攔截的Web應用有關的存儲空間地址的路徑項; 其中所述路徑項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件;其中 的攔截規(guī)則文件用于攔截相關Web應用的具體頁面的Url地址,以及調用jst文件或js文 件;所述js文件和jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web應用 的頁面加以裁制后所顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      5. 根據(jù)權利要求4所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述攔截規(guī)則文件為manifest, json文件。
      6. 根據(jù)權利要求2或3所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述動態(tài)解析執(zhí)行容器/引擎包括:模板調用模塊、模板配置或調用控制模塊、攔截規(guī) 則模塊;其中, 所述模板調用模塊包括識別執(zhí)行片段單元、管理調用次序單元、調用配置單元; 所述模板配置或調用控制模塊包括模板結構化單元、執(zhí)行關系控制單元、執(zhí)行片段組 織單元以及中間結果工作空間; 所述攔截規(guī)則模塊用于記錄Web應用的原始頁面的地址和其內部各子頁面的地址,并 在動態(tài)解析執(zhí)行過程中攔截Web應用的原始頁面。
      7. 根據(jù)權利要求6所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述模板調用模塊根據(jù)所述頁面攔截規(guī)則器所返回的結果從所述執(zhí)行控制模板集中 調用對應的執(zhí)行控制模板,并根據(jù)所調用的執(zhí)行控制模板對所攔截的Web應用的原始頁面 加以處理; 所述模板配置或調用控制模塊用于實現(xiàn)對執(zhí)行控制模板集中各個執(zhí)行控制模板的配 置,或對原Web應用中可執(zhí)行片段的組織調度。
      8. 根據(jù)權利要求7中所述的能夠動態(tài)解析Web應用的云計算系統(tǒng),其特征在于: 所述的識別執(zhí)行片段單元用于從Web應用的原始頁面中識別出可執(zhí)行代碼片段; 所述的管理調用次序單元根據(jù)Web應用的原始執(zhí)行邏輯確定Web應用中的執(zhí)行代碼片 段的執(zhí)行次序; 所述的調用配置單元用于對動態(tài)解析后所生成的Web應用的新的頁面的功能進行配 置; 所述的模板結構化單元用于對原Web應用的頁面和新生成的Web應用的頁面在頁面結 構和功能上進行對應; 所述的執(zhí)行關系控制單元用于獲取原Web應用頁面的執(zhí)行過程,并按此執(zhí)行過程執(zhí)行 頁面中的各個可執(zhí)行片段; 所述的執(zhí)行片段組織單元用于控制各片段代碼執(zhí)行邏輯化過程和調用關系;所述中間 結果工作空間用于執(zhí)行并保持中間數(shù)據(jù)。
      9. 根據(jù)權利要求1_3、5中的任一所述的云計算系統(tǒng),其特征在于: 所述頁面重寫器對重寫后的Web應用頁面的地址進行重寫包括:將Web應用原始頁面 的地址重寫為"云計算節(jié)點Url+頁面內各類Url"。
      10. 根據(jù)權利要求1-3、5中的任一所述的云計算系統(tǒng),其特征在于: 所述的可執(zhí)行代碼片段包括JS片段、HTML片段以及CSS片段。
      11. 一種利用權利要求1-10所述的云計算系統(tǒng)實現(xiàn)動態(tài)解析Web應用的方法,包括: 步驟1)、云計算節(jié)點群中的各個云計算節(jié)點向管理器匯報自身的運行狀態(tài)和負荷;這 一操作定期進行,或在云計算節(jié)點的負荷發(fā)生變化時進行; 步驟2)、移動終端所發(fā)出的請求為前置處理器所接收; 步驟3)、前置處理器向管理器詢問可以向哪個云計算節(jié)點轉發(fā)該請求; 步驟4)、管理器根據(jù)自身所存儲的各個云計算節(jié)點的運行狀態(tài)和負荷信息向前置處理 器推薦某一負荷較小的云計算節(jié)點,可將該云計算節(jié)點標記為第一云計算節(jié)點; 步驟5)、前置處理器向所述第一云計算節(jié)點轉發(fā)移動終端所發(fā)出的請求; 步驟6)、第一云計算節(jié)點處理移動終端所發(fā)出的請求,并將最終處理結果返回給前置 處理器; 步驟7)、所述前置處理器將處理結果返回給移動終端。
      12. 根據(jù)權利要求11所述的實現(xiàn)動態(tài)解析Web應用的方法,其特征在于: 在步驟6)中的第一云計算節(jié)點處理移動終端所發(fā)出的請求的過程進一步包括: 在該請求的處理過程中,第一云計算節(jié)點若需要將子任務分派給其它云計算節(jié)點協(xié)助 處理,則由第一云計算節(jié)點向管理器詢問哪些云計算節(jié)點可以分擔子任務處理; 所述分擔子任務處理的云計算節(jié)點分別執(zhí)行子任務,并將處理結果返回給所述第一云 計算節(jié)點; 所述第一云計算節(jié)點將子任務處理結果以及自身對移動終端請求的處理結果匯總,得 到對移動終端請求的最終處理結果,將所述最終處理結果返回給前置處理器。
      13. 根據(jù)權利要求12所述的實現(xiàn)動態(tài)解析Web應用的方法,其特征在于: 管理器根據(jù)各個云計算節(jié)點的運行狀態(tài)和負荷信息推薦若干個云計算節(jié)點; 第一云計算節(jié)點向上述管理器所推薦的若干個云計算節(jié)點發(fā)起子任務處理請求; 其它云計算節(jié)點響應子任務處理請求,將子任務處理后的結果返回給所述第一云計算 節(jié)點。
      14. 一種動態(tài)解析執(zhí)行引擎,應用于權利要求1-10中的云計算系統(tǒng)中,包括:模板調用 模塊、模板配置或調用控制模塊、攔截規(guī)則模塊;其特征在于: 所述模板調用模塊,用于根據(jù)頁面攔截規(guī)則器所返回的結果從執(zhí)行控制模板集中調用 對應的執(zhí)行控制模板,并根據(jù)所調用的執(zhí)行控制模板對所攔截的Web應用的原始頁面加以 處理; 所述模板配置或調用控制模塊,用于實現(xiàn)對執(zhí)行控制模板集中各個執(zhí)行控制模板的配 置,或對原Web應用中可執(zhí)行片段的組織調度; 所述攔截規(guī)則模塊用于記錄Web應用的原始頁面的地址和其內部各子頁面的地址,并 在動態(tài)解析執(zhí)行過程中攔截Web應用的原始頁面。
      15. 根據(jù)權利要求14所述的動態(tài)解析執(zhí)行引擎,其特征在于: 所述模板調用模塊包括識別執(zhí)行片段單元、管理調用次序單元、調用配置單元;其中, 所述的識別執(zhí)行片段單元用于從Web應用的原始頁面中識別出可執(zhí)行代碼片段; 所述的管理調用次序單元根據(jù)Web應用的原始執(zhí)行邏輯確定Web應用中的執(zhí)行代碼片 段的執(zhí)行次序; 所述的調用配置單元用于對動態(tài)解析后所生成的Web應用的新的頁面的功能進行配 置; 所述模板配置或調用控制模塊包括模板結構化單元、執(zhí)行關系控制單元、執(zhí)行片段組 織單元以及中間結果工作空間;其中, 所述的模板結構化單元用于對原Web應用的頁面和新生成的Web應用的頁面在頁面結 構和功能上進行對應; 所述的執(zhí)行關系控制單元用于獲取原Web應用頁面的執(zhí)行過程,并按此執(zhí)行過程執(zhí)行 頁面中的各個可執(zhí)行片段; 所述的執(zhí)行片段組織單元用于控制各片段代碼執(zhí)行邏輯化過程和調用關系; 所述中間結果工作空間用于執(zhí)行并保持中間數(shù)據(jù)。
      16. -種云計算節(jié)點,包括:接入控制器、頁面攔截規(guī)則器、頁面重寫器、動態(tài)解析執(zhí)行 容器/引擎、執(zhí)行控制模板集;其特征在于: 所述接入控制器將用戶發(fā)出的訪問請求轉發(fā)到所述頁面攔截規(guī)則器與動態(tài)解析執(zhí)行 容器/引擎,以及從所述頁面重寫器接收重寫后的Web應用頁面并返回用戶終端的瀏覽 器; 所述頁面攔截規(guī)則器從用戶所發(fā)出的訪問請求中截取Url地址的特征信息,根據(jù)所述 Url地址的特征信息調用所述執(zhí)行控制模板集中的執(zhí)行控制模板; 所述執(zhí)行控制模板集包括執(zhí)行控制模板,每一執(zhí)行控制模板至少包括執(zhí)行控制模板指 令;所述執(zhí)行控制模板指令在Web應用的原始數(shù)據(jù)中加上執(zhí)行控制模板指令標識,以標識 出Web應用的原始數(shù)據(jù)中哪些可執(zhí)行代碼片段在服務器上執(zhí)行,以及服務器上執(zhí)行的可執(zhí) 行代碼片段的執(zhí)行結果存放到重寫后的Web應用頁面中的哪個位置; 所述動態(tài)解析執(zhí)行容器/引擎按照所述執(zhí)行控制模板指令完成Web應用的原始數(shù)據(jù)中 指定的可執(zhí)行代碼片段,并輸出到重寫后的Web應用頁面的指定位置; 所述頁面重寫器對響應給用戶終端瀏覽器的重寫后的Web應用頁面的地址進行重寫。
      17. 根據(jù)權利要求16所述的云計算節(jié)點,其特征在于: 所述執(zhí)行控制模板集包括公共資源庫、Web應用執(zhí)行控制模板庫; 所述公共資源庫用于存放公共使用的公共JS模塊和對象文件; 所述Web應用執(zhí)行控制模板庫用于存放各個Web應用的執(zhí)行控制模板。
      18. 根據(jù)權利要求16或17所述的云計算節(jié)點,其特征在于: 所述執(zhí)行控制模板至少包括用于描述攔截何種Web應用的頁面的攔截規(guī)則,以及用于 指向與所要攔截的Web應用有關的存儲空間地址的路徑項; 其中所述路徑項所指向的存儲空間中存放有攔截規(guī)則文件、js文件和jst文件;其中 的攔截規(guī)則文件用于攔截相關Web應用的具體頁面的Url地址,以及調用jst文件或js文 件;所述js文件和jst文件能夠有多個,其中的jst文件用于描述對所要攔截的Web應用 的頁面加以裁制后所顯示頁面的框架,所述js文件用于描述裁制指令的內容。
      19. 一種利用權利要求16-18中任一所述的云計算節(jié)點實現(xiàn)動態(tài)解析Web應用的方法, 包括: 步驟101)、所述接入控制器監(jiān)聽并接收由前置處理器轉發(fā)的移動終端所發(fā)出的訪問請 求; 步驟102)、所述頁面規(guī)則攔截器從步驟101)所得到的訪問請求中截取出目標Url地 址,根據(jù)所述目標URL地址從所述執(zhí)行控制模板集中調用相應的執(zhí)行控制模板; 步驟103)、獲取用戶所要訪問的Web應用的原始數(shù)據(jù); 步驟104)、根據(jù)執(zhí)行控制模板指令訪問Web應用的頁面指定區(qū)域或執(zhí)行腳本位置; 步驟105)、根據(jù)執(zhí)行控制模板指令,按原Web應用的執(zhí)行步驟或執(zhí)行邏輯分步調用動 態(tài)解析執(zhí)行容器/引擎和瀏覽器內核完成執(zhí)行操作; 步驟106)、保留原Web應用業(yè)務的邏輯,按照業(yè)務邏輯和已經拆分存放的中間過程數(shù) 據(jù),并根據(jù)已經執(zhí)行的JS片段、HTML片段以及CSS片段的中間結果,中間Cookie、Session 狀態(tài),以及余下部分JS片段、HTML片段、CSS片段生成新的Web應用頁面的基本操作和展示 內容; 步驟107)、將步驟106)所生成的新的Web應用頁面由頁面重寫器對應移動瀏覽器特點 加入頁面Π 并排版,通過接入控制器經前置處理器轉發(fā)后返回給移動終端的瀏覽器。
      20. 根據(jù)權利要求19所述的方法,所述的步驟105)進一步包括: 步驟105-1)、所述動態(tài)解析執(zhí)行容器/引擎按照與該Web應用有關的執(zhí)行控制模版指 令中的標識識別并執(zhí)行在執(zhí)行控制模板中指定的JS片段、HTML片段以及CSS片段; 步驟105-2)、動態(tài)解析執(zhí)行容器/引擎按照執(zhí)行控制模板指令將步驟105-1)所得到的 代碼片段執(zhí)行結果輸出到Web應用的頁面的指定位置。
      21. 根據(jù)權利要求20所述的方法,所述的步驟105-1)進一步包括: 本步驟中對JS片段、HTML片段以及CSS片段的執(zhí)行是通過動態(tài)解析執(zhí)行容器/引擎 對JS引擎、HTML解析器、CSS解析器的調用實現(xiàn)的。
      【文檔編號】H04L29/08GK104270443SQ201410513611
      【公開日】2015年1月7日 申請日期:2014年9月29日 優(yōu)先權日:2014年9月29日
      【發(fā)明者】周華強, 朱奕 申請人:北京掌中經緯技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1