識別網(wǎng)絡瀏覽器中的并行布局的獨立任務的機器學習方法
【專利摘要】用于加速網(wǎng)頁再現(xiàn)的方法和裝置包含:處理網(wǎng)頁并搜集網(wǎng)頁元素信息;對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性。所述所預測子樹獨立性可用以并行地處理待再現(xiàn)的網(wǎng)頁的多個部分以減少再現(xiàn)所述頁所需的時間。子樹可為有條件地獨立的,在所述情況下,可通過推測數(shù)據(jù)以使得所述子樹獨立或通過執(zhí)行任務以獲得特定信息以使得所述子樹獨立來使所述有條件地獨立的子樹獨立。
【專利說明】識別網(wǎng)絡瀏覽器中的并行布局的獨立任務的機器學習方法
[0001]相關_請案
[0002]本申請案主張2011年3月15日申請的題為“識別網(wǎng)絡瀏覽器中的并行布局的獨立任務的機器學習方法(Machine Learning Method to Identify Independent Tasks forParallel Layout in Web Browsers) ”的第61/452,694號美國臨時專利申請案的優(yōu)先權的權利,所述申請案的全部內(nèi)容特此以引用的方式并入。
【技術領域】
[0003]以下描述一般來說涉及計算裝置通信,且更明確地說,涉及用于再現(xiàn)網(wǎng)頁的設備和方法。
【背景技術】
[0004]例如網(wǎng)頁等頁在計算裝置上的再現(xiàn)按照法律產(chǎn)生頁的文檔對象模型(DOM)樹。DOM樹定義呈子級-父級關系的ー個或ー個以上節(jié)點,包含相應DOM節(jié)點的性質(zhì)和/或?qū)傩砸约熬W(wǎng)頁的樣式屬性。當啟動頁時,從網(wǎng)絡或從本地磁盤高速緩存讀取頁的.html文件,剖析所述.html文件,且建構DOM樹。接著可應用嵌入的/或外部層疊樣式表(CSS)來計算DOM樹中的每ー節(jié)點的樣式。一旦樹“經(jīng)樣式化”,布局算法便運行以計算屏幕上的所有DOM元素的位置和大小。通過此信息,瀏覽器能夠顯示頁。每當載入頁時可執(zhí)行這些操作,載入頁花費大量時間,由此導致不太令人滿意的用戶體驗。
[0005]此外,在資源受約束環(huán)境中加劇了此時間量,資源受約束環(huán)境例如移動計算裝置,例如移動電話,個人數(shù)字助理(PDA)或與非移動計算裝置相比較具有相對有限的處理能力、存儲器和/或通信輸送量的其它相對較小的便攜式裝置。因此,在移動計算裝置的情況下,用戶體驗受損更多。
【發(fā)明內(nèi)容】
[0006]下文呈現(xiàn)對ー個或ー個以上方面的簡化概述以便提供對這些方面的基本理解。此概述并非所有預期方面的廣泛綜述,且既定既不識別所有方面的關鍵或重要元素,也不描繪任何或所有方面的范圍。其唯一目的是以簡化形式呈現(xiàn)ー個或ー個以上方面的ー些概念作為稍后呈現(xiàn)的更詳細描述的序言。
[0007]—個方面涉及ー種加速網(wǎng)頁再現(xiàn)的方法,所述方法包含處理網(wǎng)頁并搜集網(wǎng)頁元素信息。所述方法對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式。所述方法訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性,且所述方法使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分并再現(xiàn)所述網(wǎng)頁。在另一方面,所述子樹可為有條件地獨立的。在所述情況下,可通過推測數(shù)據(jù)以使得所述子樹獨立或通過執(zhí)行任務以獲得特定信息以使得所述子樹獨立來使得所述有條件地獨立的子樹獨立。
[0008]在另一方面,ー種方法(其可在ー個或ー個以上計算裝置中或在存儲在非暫時性存儲媒體上的可執(zhí)行指令中實施)包含以下操作:處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性;以及使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。在一方面中,所述使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分的操作可包含基于所述網(wǎng)頁腳本中的所述網(wǎng)頁元素信息預測子樹為先驗獨立的,以及由DOM樹的先驗獨立部分形成任務。所述方面方法可進ー步包含:基于所述網(wǎng)頁腳本中的所述元素信息預測在確定特定信息的情況下子樹將為有條件地獨立的;執(zhí)行任務以獲得所述特定信息;以及使用所述所獲得的特定信息由DOM樹的所述有條件地獨立的部分形成任務。在一方面中,執(zhí)行任務以獲得所述特定信息可包含即時地計算所述特定信息和/或基于推測確定所述特定信息。所述方面方法可進ー步包含使用配備工具的瀏覽器搜集網(wǎng)頁元素信息,以及搜集包括以下各者中的至少ー者的網(wǎng)頁元素信息:網(wǎng)頁元素布局大小、位置、CSS樣式屬性、子樹大小、HTML標記、父級HTML標記,和網(wǎng)頁特征信息。所述方面方法可進ー步包含使用所述所預測子樹獨立性確定所述網(wǎng)頁的DOM樹的子樹并非獨立的且所述子樹無法進行并行處理和/或使用單個網(wǎng)絡瀏覽器執(zhí)行所述機器學習分析且預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分。所述方面方法可進ー步包含在第一計算裝置中使用第一處理器執(zhí)行機器學習分析,以及在第二不同計算裝置中使用第二處理器預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分。所述方面方法可進ー步包含:通過處理多個經(jīng)更新的網(wǎng)頁來更新所述分類器,并搜集經(jīng)更新的網(wǎng)頁元素信息,以及對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的額外模式。所述方面方法可進ー步包含訓練所述分類器以按第一時間間隔和第二不同時間間隔基于所述網(wǎng)頁腳本中的元素信息預測子樹獨立性,使用所述所預測子樹獨立性并行地處理待再現(xiàn)的所述網(wǎng)頁的多個部分。
[0009]在另一方面中,所述前述方法可在單個計算裝置內(nèi)實施,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息是在于所述單個計算裝置上操作的配備工具的瀏覽器中完成,且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述同一計算裝置中完成。
[0010]在另一方面中,所述前述方法可在計算裝置和服務器的網(wǎng)絡中實施,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息包含:在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每ー者發(fā)射到所述服務器;在所述服務器中接收并聚集由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息;將經(jīng)聚集網(wǎng)頁元素信息發(fā)射到所述多個計算裝置中的至少ー者;以及在所述多個計算裝置中的所述至少一者中接收所述發(fā)射的經(jīng)聚集網(wǎng)頁元素信息。此外,在此方面中,對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述多個計算裝置中的所述至少一者中對所述所接收的經(jīng)聚集網(wǎng)頁元素信息完成,且訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性包括訓練在所述多個計算裝置中的所述至少一者中操作的分類器以基于對所述所接收的經(jīng)聚集網(wǎng)頁元素信息執(zhí)行的機器學習分析預測子樹獨立性。
[0011]在另一方面中,所述前述方法可在計算裝置和服務器的網(wǎng)絡中實施,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息可包含在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息,將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每ー者發(fā)射到服務器(例如,經(jīng)由因特網(wǎng)),以及在所述服務器中接收由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息。在此方面中,對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式可在所述服務器中對由所述多個計算裝置發(fā)射的所述所接收網(wǎng)頁信息完成以識別布局獨立性中的模式,且所述方法可進ー步包含將布局獨立性中的所述所識別模式從所述服務器發(fā)射到所述多個計算裝置中的至少ー者(例如,經(jīng)由因特網(wǎng)),以及在所述多個計算裝置中的所述至少一者中接收布局獨立性中的所述所識別模式。此外,在此方面中,訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性可包含訓練在所述多個計算裝置中的所述至少一者中操作的分類器以基于布局獨立性中的所述所接收的所識別模式預測子樹獨立性。
[0012]在另一方面中,所述前述方法可進ー步包含:處理預定瀏覽器所特有的多個網(wǎng)頁并搜集在所述預定瀏覽器上再現(xiàn)的網(wǎng)頁所特有的網(wǎng)頁元素信息;以及對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式,其中所述模式對應于在所述預定瀏覽器上再現(xiàn)的所述網(wǎng)頁;訓練所述分類器以基于所述網(wǎng)頁腳本中的元素信息預測子樹獨立性;以及使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分,其中所述網(wǎng)頁是使用所述預定瀏覽器再現(xiàn)。在另一方面中,所述前述方法可進ー步包含在所述分類器中基于所述網(wǎng)頁腳本中的所述元素信息預測子樹獨立性,其中所述分類器將子樹獨立性數(shù)據(jù)提供到調(diào)度算法。在另一方面中,所述前述方法可進ー步包含所述調(diào)度算法使用所述所預測子樹獨立性并行地處理所述網(wǎng)頁的多個部分,且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在預定樣式表語言譯碼中與呈現(xiàn)語義相關的布局獨立性中的模式。在另一方面中,所述前述方法可進ー步包含對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在CSS譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式。在另一方面中,所述前述方法可進ー步包含在再現(xiàn)DOM樹的第二相依性子樹之前,使用所述所預測子樹獨立性再現(xiàn)所述DOM樹的第一獨立子樹。在另一方面中,所述前述方法可進ー步包含關于包含作為輸入的節(jié)點特征和作為輸出的布局獨立性的數(shù)據(jù)集訓練所述分類器。在另ー方面中,所述前述方法可進ー步包含連續(xù)地處理來自因特網(wǎng)的多個網(wǎng)頁并搜集網(wǎng)頁元素信息;連續(xù)地對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及更新所述分類器以基于網(wǎng)頁腳本中的元素信息和所述所識別模式預測子樹獨立性。
[0013]在另一方面中,所述前述方法可進ー步包含處理第一網(wǎng)頁集合并搜集與所述第一網(wǎng)頁集合相關聯(lián)的網(wǎng)頁元素信息且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別第一模式集合;使用與所述第一網(wǎng)頁集合的所述所預測子樹獨立性相關聯(lián)的所述第一模式集合以并行地處理待再現(xiàn)的多個部分;以及通過以連續(xù)方式搜集額外網(wǎng)頁元素信息并執(zhí)行機器分析以識別額外模式以補充所述第一模式集合而以動態(tài)方式連續(xù)地更新所述第一模式集合。此方面可進ー步包含處理第二網(wǎng)頁集合并搜集網(wǎng)頁元素信息以識別第二模式集合且使用所述第二模式集合來更新所述第一模式集合。
[0014]在另一方面中,所述前述方法可進ー步包含對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在HTML譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式,其中所述HTML譯碼包含指示并行處理能力的所述DOM樹的第一子樹,所述HTML譯碼還包含第二子樹,所述第二子樹關于所述第二子樹的所述并行處理能力靜默,且所述分類器基于所述網(wǎng)頁腳本中的元素信息預測網(wǎng)頁元素的所述第二子樹的子樹獨立性。
[0015]另ー方面涉及ー種用于使用前述方法加速網(wǎng)頁再現(xiàn)的計算裝置。所述計算裝置包含存儲器和耦合到所述存儲器的處理器。所述處理器可配置有處理器可執(zhí)行指令以執(zhí)行包含以下各者的操作:處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息,且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式。分類器可經(jīng)訓練以基于網(wǎng)頁腳本中的網(wǎng)頁元素信息預測子樹獨立性。所述所預測子樹獨立性可用以并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
[0016]又一方面涉及ー種計算裝置,其包含用于完成所述前述方法的操作的裝置,包含用于處理多個網(wǎng)頁的裝置、用于搜集網(wǎng)頁元素信息的裝置,以及用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別布局獨立性中的模式的裝置。所述模式可與所述網(wǎng)頁元素信息相關。所述計算裝置還具有用于訓練分類器以基于網(wǎng)頁腳本中的網(wǎng)頁元素信息預測子樹獨立性的裝置,以及用于使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分的裝置。
[0017]再其它方面涉及其上存儲有處理器可執(zhí)行指令的非暫時性計算機可讀存儲媒體,所述處理器可執(zhí)行指令經(jīng)配置以致使計算裝置的處理器執(zhí)行所述前述方法的操作。
【專利附圖】
【附圖說明】
[0018]并入本文且構成本說明書的一部分的【專利附圖】

【附圖說明】本發(fā)明的示范性方面。連同上文給出的一般描述和下文給出的詳細描述,圖式用以解釋本發(fā)明的特征而不限制所掲示的方面。
[0019]圖1A和IB是DOM樹的示意性說明。
[0020]圖2是根據(jù)一方面的用于接收和再現(xiàn)網(wǎng)頁的通信系統(tǒng)的功能框圖。
[0021]圖3是適合用于一方面的計算裝置的功能框圖。
[0022]圖4是用于再現(xiàn)頁的方面方法的過程流程圖。
[0023]圖5是用于接收網(wǎng)絡內(nèi)容以辨識所述網(wǎng)絡內(nèi)容中的適用于確定可并行處理的子樹的模式的方面方法的過程流程圖。
[0024]圖6是用于辨識適用于確定可并行處理的子樹的模式且參考所述模式以并行地處理DOM子樹并再現(xiàn)網(wǎng)頁的方面方法的過程流程圖。
[0025]圖7是用于確定在推斷出特定信息的情況下DOM樹的子樹是否可獨立的方面方法的過程流程圖。
[0026]圖8是用于再現(xiàn)頁的方面設備的框圖。
[0027]圖9是用于分析DOM樹并參考機器習得模式來確定在瀏覽器初次執(zhí)行和/或網(wǎng)頁初次出現(xiàn)時是否可并行處理DOM樹的任何子樹的方面方法的過程流程圖。
[0028]圖10是用于分析DOM樹并參考某些機器習得模式來確定在執(zhí)行網(wǎng)絡瀏覽器時DOM樹的任何子樹是否獨立且可并行處理的方面方法的過程流程圖。
[0029]圖11是用于分析DOM樹且參考某些機器習得模式來確定在供應、推算或推斷出特定信息的情況下DOM樹的任何子樹是否獨立且是否可并行處理或可加以處理,且確定是否可周期性地更新機器訓練分類器的另一方面方法的過程流程圖。[0030]圖12是用于利用機器學習算法來處理服務器中的網(wǎng)頁處理數(shù)據(jù)以識別模式并訓練可用以訓練網(wǎng)絡瀏覽器的數(shù)據(jù)的方面方法4的過程流程圖。
[0031]圖13是適合用于各種方面的實例接收器裝置的組件框圖。
[0032]圖14是適合用于各種方面的實例服務器的組件框圖。
【具體實施方式】
[0033]將參考附圖詳細描述各種方面。只要可能,將貫穿圖式使用相同的參考標號來指代相同或相似的部分。對特定實例和實施方案做出的參考是出于說明性目的,且無意限制本發(fā)明或權利要求書的范圍。
[0034]詞語“示范性的”在本文中意味著“充當實例、例子或說明”。在本文中描述為“示范性”的任何實施方案未必應解釋為比其它實施方案優(yōu)選或有利。
[0035]如本文所使用,術語“計算裝置”和“移動計算裝置”指代蜂窩式電話、個人電視接收器、個人數(shù)據(jù)助理(PDA)、掌上型計算機、筆記型計算機、個人計算機、無線電子郵件接收器和蜂窩式電話接收器(例如,Blackberry?和Treo?裝置)、具多媒體因特網(wǎng)功能的蜂窩式電話(例如,BlackbeiTyStorm?)和包含可編程處理器、存儲器和顯示器的類似電子裝置中的任一者或全部。
[0036]如本申請案中所使用,術語“組件”、“模塊”、“系統(tǒng)”等既定包含計算機相關實體,例如(但不限干)硬件、固件、硬件與軟件的組合、軟件,或執(zhí)行中的軟件。舉例來說,組件可為(但不限于為)在處理器上運行的過程、處理器、對象、可執(zhí)行程序、執(zhí)行線程、程序和/或計算機。作為說明,在計算裝置上運行的應用程序以及所述計算裝置都可為組件。ー個或ー個以上組件可駐留于過程和/或執(zhí)行線程內(nèi),且組件可定位于ー個計算機上和/或分布于兩個或兩個以上計算機之間。此外,這些組件可從各種計算機可讀媒體執(zhí)行,所述計算機可讀媒體具有存儲在其上的各種數(shù)據(jù)結構。組件可借助本地和/或遠程過程,例如根據(jù)具有ー個或ー個以上數(shù)據(jù)包的信號(例如,來自ー個與本地系統(tǒng)、分布式系統(tǒng)中的另ー組件或借助所述信號越過例如因特網(wǎng)等網(wǎng)絡與其它系統(tǒng)交互的組件的數(shù)據(jù))來通信。
[0037]所描述的方面涉及提取和再現(xiàn)具有網(wǎng)絡資源和數(shù)據(jù)項的所顯示信息頁,例如網(wǎng)頁。另外,所描述的方面提供在網(wǎng)頁之間轉(zhuǎn)變的虛擬效果,例如為用戶提供在網(wǎng)頁之間前后移動的鏈接。網(wǎng)頁是根據(jù)在本文中稱為文檔對象模型(DOM)樹的對應DOM來再現(xiàn),DOM樹是作為再現(xiàn)網(wǎng)頁以識別定義所述頁的組件、相應組件的相對結構、關系和行為的部分而產(chǎn)生。DOM樹為用于表示HTML、XHTML和XML文檔中的對象并與所述對象交互的跨平臺且獨立于語言的慣例。圖1A中說明DOM樹I的實例。DOM樹結構I由多個節(jié)點界定,例如節(jié)點2、3、
4、5和6,且所述節(jié)點進一歩表示網(wǎng)頁的不同例子。展示如由節(jié)點4和5界定的第一子樹以及如由節(jié)點4和6界定的第二子樹。
[0038]圖1B提供DOM樹I的另ー說明,其說明節(jié)點可對應于將在由HTML腳本界定的網(wǎng)頁中顯示的不同元素的方式。圖1B說明通過瀏覽器剖析用于所請求網(wǎng)頁的HTML代碼而產(chǎn)生的DOM樹I的樣本部分。如圖1B中所說明,當剖析HTML代碼時,瀏覽器可在再現(xiàn)網(wǎng)頁的過程中針對每ー標題建立DOM元素和/或節(jié)點。網(wǎng)頁元素信息可包含文本信息、非文本信息、靜態(tài)圖像(GIF圖像、JPEG圖像、PNG、SVG、Flash格式文件)、動畫圖像(動畫GIF、SVG、Flash格式文件、激波、Java小程序)、音頻數(shù)據(jù)(MP3、0GG,等)、視頻數(shù)據(jù)(WMV、RM、FLV,MPG、MOV數(shù)據(jù))、交互文本、按鈕、交互說明、超鏈接、表格、內(nèi)部或隱藏數(shù)據(jù)(評論、鏈接的文件、元數(shù)據(jù))、圖信息、樣式信息、腳本和其它數(shù)據(jù)。在所說明實例中,HTML代碼含有標頭區(qū)段(例如,〈HEAD〉...〈/HEAD〉)和主體區(qū)段(例如,〈BODY〉...〈/BODY〉)。主體區(qū)段含有至少ー個分段(Div)區(qū)段和至少ー個跨段(Span)區(qū)段,如由DOM樹I中的Div和Span節(jié)點所說明。Div和Span節(jié)點中的每ー者還可含有子區(qū)段,如由Div區(qū)段的段區(qū)段所說明。在完成用于再現(xiàn)頁的推算的過程中,可詳細研究DOM樹元素(例如,主體、Div、段,等)以計算各種頁組件的性質(zhì)和特性。舉例來說,為計算所請求頁的布局,可詳細研究DOM樹以提取每一元素的高度、寬度和位置的絕對值(例如,h = 50, w = 50, X = 500,y = 10),其通常取決于運行時間和環(huán)境因素(例如,窗ロ大小)且無法提前確定。
[0039]DOM樹定義頁內(nèi)容(數(shù)據(jù))元素、樣式與格式化信息和定位信息之間的關系,其提供簡單且有效的機制來識別并建構頁。在可推測或推算或推斷特定信息以使子樹獨立的情況下,節(jié)點的子樹可為獨立的、相依性的或有條件地獨立的。
[0040]在網(wǎng)絡瀏覽器中,布局計算將基于HTML規(guī)范、網(wǎng)絡元素與其它網(wǎng)絡元素的關系和層疊樣式表(CSS)規(guī)則來確定每ー頁元素的位置。層疊樣式表(CSS)為用以描述用標記語言編寫的文檔的ー個或ー個以上呈現(xiàn)語義的樣式表語言。CSS可用以設計用HTML和XHTML編寫的網(wǎng)頁的樣式,且可應用于XML文檔。基于ー些當前估計,用以確定網(wǎng)頁元素的位置的布局計算要占到加載網(wǎng)頁的時間的15%到20%。用戶更喜歡網(wǎng)頁的快速加載時間。加載和顯示網(wǎng)頁所需的時間量的此增量式増加可能導致用戶不喜歡此瀏覽經(jīng)歷。在瀏覽可能具有有限的處理功率和用于高速緩存先前經(jīng)再現(xiàn)頁的存儲器的移動通信裝置時,此情況尤其成立。
[0041]可通過利用并行化來并行地處理網(wǎng)頁的多個部分來加速網(wǎng)頁的計算布局。通過與DOM樹的其它部分并行地處理獨立子樹,可更快地處理整個DOM樹,且更迅速地再現(xiàn)網(wǎng)頁。然而,為完成此并行處理,必須識別DOM樹的獨立區(qū)段??稍谒褂玫木幊陶Z言的語法內(nèi)尋址和操縱DOM樹的網(wǎng)絡元素??蓪OM樹的區(qū)段集結成布局計算可并行地進行的第一區(qū)段(D0M樹的第一子樹)以及布局計算無法并行地進行的其它區(qū)段(D0M樹的第二子樹)。確定DOM子樹為獨立的還是相依性的是識別界定腳本的頁的可并行處理的多個部分中的重要步驟。
[0042]各種方面利用ー個或ー個以上機器學習算法來識別DOM樹的此類獨立子樹。一旦識別出獨立子樹,就可并行處理所述獨立子樹以加速網(wǎng)頁的加載。同樣,其它子樹可能是相依性的,且無法進行并行處理。可基于其它因素使得其它子樹獨立。為增加并行處理,實施一方面方法的處理器可依賴于推測。此類推測可前瞻性地移除一些子樹的連接緊密的組件之間的相依性。此情形將因此使得子樹獨立而用于處理目的,且因此能夠并行處理以加速網(wǎng)頁的加載。在另一方面,可分析子樹以確定子樹可基于特定所獲得信息而有條件地獨立。
[0043]HTML處理的頁布局步驟基于DOM樹和每一 DOM節(jié)點的CSS樣式將位置和尺寸指派給可見頁元素。網(wǎng)絡瀏覽器詳細研究顯示元素的DOM樹,且基于所述元素的子級的所推算大小和位置來排列每ー元素。在一些情況下,網(wǎng)絡元素的布局還可取決于其它非子級元素,例如同級和父級。在其它情況下,給定元素的布局僅取決于所述元素的子級的布局。在布局僅取決于子級的情況下,存在并行處理的機會。可與DOM樹的其余者的布局并行地執(zhí)行此類獨立元素的子樹的布局例程。[0044]HTML標準定義其中網(wǎng)絡元素具有獨立布局的某些情況。舉例來說,浮動和絕對地定位的網(wǎng)絡元素可具有獨立布局,且可以獨立方式加以處理。然而,在其它情況下,可能無法從DOM樹或網(wǎng)絡元素明顯看出獨立性子樹或布局。有時,某些網(wǎng)絡元素將不指定此類獨
立布局。
[0045]各種方面識別布局可為獨立的網(wǎng)絡元素以便推測性地與DOM樹的其余者并行地執(zhí)行那些網(wǎng)絡元素。各種方面包含可基于任務的并行布局計算??刹⑿械赜嬎鉊OM樹的不同部分的布局。DOM樹的某些子樹將基于CSS和HTML規(guī)范而為獨立的。
[0046]為識別更多獨立子樹以進行并行處理,各種方面應用機器學習算法來基于從父級到子級節(jié)點的布局信息流來分割DOM樹并尋找連接緊密的組件。網(wǎng)絡瀏覽器可經(jīng)配備工具以在布局步驟之后報告每一元素的布局所需大小和來自其它非子級節(jié)點的位置信息。所述配備工具的瀏覽器還可輸出關于每一節(jié)點的多種信息(“特征(例如,其CSS樣式屬性、子樹的大小、HTML標記、父級的HTML標記,等)。可針對可應用機器學習算法的現(xiàn)有網(wǎng)頁的大主體收集此特征和布局獨立性數(shù)據(jù),以便辨識可用以識別獨立子樹以用于進行并行處理的模式。
[0047]可在計算裝置內(nèi)或在集中式計算裝置內(nèi)(例如,網(wǎng)絡瀏覽器將其信息報告到的服務器)完成網(wǎng)頁數(shù)據(jù)的收集和將機器學習算法應用到此類數(shù)據(jù)以識別模式。在其中在本地俘獲和處理網(wǎng)頁數(shù)據(jù)的方面中,機器學習算法的使用可使得計算裝置能夠更有效地再現(xiàn)通常由用戶接入的類型的網(wǎng)頁。因此,隨時間推移,系統(tǒng)能夠從用戶的因特網(wǎng)接入習慣學習模式,且使用所述信息訓練瀏覽器以當接入網(wǎng)頁時實現(xiàn)網(wǎng)頁的較大并行處理。
[0048]在其中網(wǎng)頁數(shù)據(jù)經(jīng)集中地收集和處理(例如,在耦合到因特網(wǎng)的服務器中)的方面中,可分析再現(xiàn)來自大量用戶的數(shù)據(jù)的網(wǎng)頁以便加載可跨越因特網(wǎng)的寬頻譜而應用的辨識模式。此類機器習得模式可反映開發(fā)者的當前網(wǎng)頁開發(fā)實踐。此類基于共同體的模式數(shù)據(jù)可實現(xiàn)可用以訓練網(wǎng)絡瀏覽器的訓練數(shù)據(jù)的開發(fā)以辨識網(wǎng)頁腳本的可并行地處理的部分,所述網(wǎng)頁腳本適用于廣泛多種網(wǎng)頁,而非僅適用于由特定用戶接入的那些網(wǎng)頁。
[0049]為了利用所辨識的模式和通過將機器學習算法應用到網(wǎng)頁再現(xiàn)信息而獲得的訓練數(shù)據(jù),瀏覽器可配置有分類器,所述分類器可且將基于此類模式的數(shù)據(jù)集加以訓練。在此方面中,通過機器學習算法產(chǎn)生且應用到可訓練分類器的訓練數(shù)據(jù)可包含節(jié)點特征作為輸入,且提供布局獨立性結論作為輸出,例如獨立的子樹、可有條件地獨立的子樹,和對于推測性處理可能獨立的子樹。在頁布局過程期間,經(jīng)訓練的分類器可存取機器習得模式,且使用此類信息來預測對于新DOM樹(即,再現(xiàn)的新頁),所述DOM樹的每一子樹是否可獨立地排列且因此可并行處理,或所述子樹是否為無法獨立排列的相依性子樹。
[0050]在ー個方面中,經(jīng)訓練的分類器可精確地預測子樹是先驗地獨立的。此可基于網(wǎng)頁腳本中的網(wǎng)頁元素信息。一旦確定子樹是先驗地獨立的,算法就由DOM樹的獨立部分形成任務。
[0051]在另一方面中,經(jīng)訓練的分類器可在可推斷出特定信息的情況下預測子樹為獨立的,由此移除父級-子級相依性。一旦推斷出特定信息,就將子樹視為獨立子樹,且可在網(wǎng)頁再現(xiàn)期間對其進行并行處理。
[0052]在另一方面中,經(jīng)訓練的分類器可在可通過計算獲得特定信息的情況下預測子樹為獨立的。算法可調(diào)度任務以迅速地計算打破所述相依性的信息。一旦完成任務且獲得所需信息,就可并行地處理子樹并再現(xiàn)網(wǎng)頁。
[0053]在另一方面中,經(jīng)訓練的分類器可在可預測特定信息的情況下預測子樹為獨立的。系統(tǒng)可調(diào)度推測性地預測的獨立子樹,且預測DOM子樹所需要的信息以實現(xiàn)并行處理。推測性布局任務監(jiān)視對非子級節(jié)點的相依性,且如果出現(xiàn)任何相依性且未正確預測相依性信息,那么可利用正確信息重新開始任務。
[0054]任選地,在ー些方面中,機器學習算法可集成到網(wǎng)絡瀏覽器中,或替代地,可在與網(wǎng)絡瀏覽器分離的處理模塊中實施機器學習算法。在另一方面中,可基于對特定針對于網(wǎng)絡瀏覽器的頁的相依性來訓練機器學習算法,或替代地,可基于來自從因特網(wǎng)接入的網(wǎng)頁的相依性來訓練機器學習算法。機器學習算法可觀察相依性中的模式,且對與可并行處理的可能獨立子樹相關聯(lián)或指示所述可能獨立子樹的相依性或Dom樹模式進行分類。在此方面中,機器學習算法可“離線”或“在線”地實施,且將第一模式集合提供到網(wǎng)絡瀏覽器。機器學習算法可在集成的瀏覽器內(nèi)操作,或可提供來自遠程實體的可周期性地更新的第一模式集合。
[0055]通過機器學習算法辨識出的模式可呈HTML代碼中的模式集合的形式,其包含布局屬性、CSS屬性和在DOM樹中觀察到的模式。應了解,在網(wǎng)頁代碼中辨識出的模式可來自網(wǎng)頁樣式,所述網(wǎng)頁樣式可能在將來觀察到且可能目前不能很好地界定。機器學習算法可收集模式且對其進行格式化,使得可將其提供到網(wǎng)絡瀏覽器內(nèi)的調(diào)度算法。網(wǎng)絡瀏覽器內(nèi)的此類調(diào)度算法可對經(jīng)訓練的分類器起作用以利用辨識出的模式來并行地處理網(wǎng)頁的對應于所預測的獨立子樹的多個部分。
[0056]使用所預測的子樹獨立性來并行地處理網(wǎng)頁的多個部分且使用機器學習分析使用子樹獨立性來再現(xiàn)所述頁可增加再現(xiàn)ー頁的例子的速度。再現(xiàn)頁的速度的此增加可在從一個頁轉(zhuǎn)變到另ー頁時改進用戶體驗,這是因為瀏覽器不必等待處理全部DOM樹(因為可更快地并行處理DOM樹的多個部分)。
[0057]圖2說明使得計算機10能夠再現(xiàn)托管在網(wǎng)絡服務器16、18上且經(jīng)由例如因特網(wǎng)等通信網(wǎng)絡17傳達的網(wǎng)頁的通信系統(tǒng)。如上文所提及,機器學習算法的方面可實施于本地計算裝置10或經(jīng)由通信網(wǎng)絡17耦合到計算裝置10的遠程服務器60上。為易于描述,圖2說明兩個方面,其展示包含在計算裝置10和遠程服務器60兩者上的機器學習算法模塊。
[0058]參考圖2中的計算裝置10,在其中機器學習算法實施為計算裝置10的處理器內(nèi)的模塊的方面中,計算裝置10可配置有門戶組件12,所述門戶組件12與在計算裝置的處理器上運行的網(wǎng)絡引擎模塊14交互以實現(xiàn)在顯示器15上呈現(xiàn)頁13 (例如網(wǎng)頁)的ー個或ー個以上例子。舉例來說,所顯示的頁13可經(jīng)由通信網(wǎng)絡17從網(wǎng)絡服務器16和/或數(shù)據(jù)服務器18獲得。網(wǎng)絡服務器16和數(shù)據(jù)服務器18可為單獨的或集成的組件,其分別存儲分別界定第一頁例子28和第二頁例子30的網(wǎng)絡資源20和22以及數(shù)據(jù)項24和26。舉例來說,網(wǎng)絡資源20和22可包含建構頁的靜態(tài)部分所需要的任何資源,例如可用數(shù)據(jù)來填充的空頁模板,而數(shù)據(jù)項24和26可包含用以填充頁的任何內(nèi)容,例如所述頁的ー個或ー個以上動態(tài)部分。由此,網(wǎng)絡資源20和22的全部或ー些部分對于第一頁例子28和第二頁例子30兩者可為共同的,而數(shù)據(jù)項24和26的全部或ー些部分對于相應頁例子可為獨特的。
[0059]在計算裝置10中,門戶組件12可例如基于用戶輸入或門戶組件12的啟動而傳達所接收請求32,所述請求32向網(wǎng)絡引擎14識別頁的所請求例子。舉例來說,所接收請求32可包含界定網(wǎng)絡資源(例如通用資源定位符(URL))的第一部分和界定要提取的特定數(shù)據(jù)(例如查詢字符串36)的第二部分。網(wǎng)絡引擎14或門戶組件12經(jīng)由通信網(wǎng)絡將請求發(fā)射到網(wǎng)絡服務器16和/或數(shù)據(jù)服務器18,所述網(wǎng)絡服務器16和/或數(shù)據(jù)服務器18經(jīng)由所述通信網(wǎng)絡傳回所請求的頁組件。所發(fā)射的頁組件接著由計算裝置10內(nèi)的網(wǎng)絡引擎組件14接收和處理。在再現(xiàn)所接收頁期間,網(wǎng)絡引擎14產(chǎn)生用于所述頁的文檔對象模型(DOM) 38。如上文所論述,D0M38界定具有呈子級-父級關系的ー個或ー個以上節(jié)點的樹或?qū)哟?,所述子?父級關系包含相應DOM節(jié)點的性質(zhì)和/或?qū)傩约捌錁邮綄傩裕鋵崿F(xiàn)頁的再現(xiàn)。
[0060]在其中網(wǎng)絡引擎14包含機器學習算法模塊40的方面中,所述模塊從網(wǎng)絡引擎14接收與數(shù)個經(jīng)處理網(wǎng)頁相關聯(lián)的數(shù)據(jù)以搜集網(wǎng)頁元素信息。機器學習算法40對所搜集的網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與所述網(wǎng)頁元素信息相關的布局獨立性中的模式。機器學習算法40可利用來自因特網(wǎng)或從通信網(wǎng)絡17接收的數(shù)據(jù)的實例來基于上下文俘獲所關注的特性或獨立子樹在網(wǎng)頁中的基礎概率分布。機器學習算法40在所觀察變量之間形成關系且自動地學習以辨識復雜模式且從給定的所搜集網(wǎng)頁形成一般化模式以便能夠產(chǎn)生有用輸出。由機器學習算法模塊40辨識或產(chǎn)生的類型的模式使得網(wǎng)絡引擎14能夠基于數(shù)個機器習得實例從所接收的網(wǎng)頁腳本識別或預測D0M38那些獨立的子樹組件34和不獨立的DOM子樹組件48。所述類型的所辨識或所產(chǎn)生模式還可使得網(wǎng)絡引擎14能夠從所接收的網(wǎng)頁腳本識別或預測D0M38那些有條件地獨立的子樹。所述類型的所辨識或所產(chǎn)生模式還可使得網(wǎng)絡引擎14能夠基于網(wǎng)頁腳本中的網(wǎng)頁元素信息從所接收的網(wǎng)頁腳本識別或預測D0M38那些先驗地獨立的子樹。在ー個方面中,所搜集的網(wǎng)頁元素可能特定針對于特定瀏覽器或特定針對于特定用戶。在另一方面中,所搜集的網(wǎng)頁元素可從因特網(wǎng)導出以形成可周期性地更新的靜態(tài)模式集合。在另一方面中,機器學習算法40可與網(wǎng)絡引擎14和計算裝置10分離。在另一方面中,機器學習算法40可集成到網(wǎng)絡引擎14、瀏覽器、網(wǎng)絡服務器16、數(shù)據(jù)服務器18、網(wǎng)絡資源20或22或者計算裝置10內(nèi)。
[0061]在另一方面中,機器學習算法模塊可實施于遠程計算裝置(例如耦合到通信網(wǎng)絡17的遠程服務器60)中,使得其可從大量計算裝置接收網(wǎng)頁再現(xiàn)數(shù)據(jù)。在此方面中,服務器可包含用于經(jīng)由通信網(wǎng)絡與計算裝置10通信的網(wǎng)絡通信模塊62,包含從此些計算裝置接收網(wǎng)頁再現(xiàn)信息。所述服務器還可配置有機器學習模塊64,所述機器學習模塊64經(jīng)配置以實施機器學習算法以處理所接收的網(wǎng)頁再現(xiàn)信息以便辨識復雜模式并從給定的所搜集網(wǎng)頁再現(xiàn)信息形成一般化模式。如上文所論述,此些模式可基于網(wǎng)頁腳本中的模式而與預測獨立、有條件地獨立或推測性地獨立的子樹結構有夫。此些模式可以可由計算裝置網(wǎng)絡引擎使用的格式存儲在模式數(shù)據(jù)庫66中。機器學習模塊64可經(jīng)配置以針對從所有計算裝置接收的所有網(wǎng)頁信息產(chǎn)生模式數(shù)據(jù),以便產(chǎn)生單個模式數(shù)據(jù)集?;蛘?,機器學習模塊64可經(jīng)配置以針對選定類型的網(wǎng)頁或甚至特定URL產(chǎn)生模式數(shù)據(jù)。服務器60可經(jīng)進一歩配置以經(jīng)由通信網(wǎng)絡17 (例如,經(jīng)由網(wǎng)絡通信模塊62)將此所產(chǎn)生的模式數(shù)據(jù)傳達到計算裝置10,以使得計算裝置內(nèi)的網(wǎng)絡引擎14能夠更有效地再現(xiàn)頁。此類模式數(shù)據(jù)可經(jīng)由通信網(wǎng)絡17直接發(fā)射到計算裝置(例如,已注冊或訂用模式數(shù)據(jù)業(yè)務的計算裝置)?;蛘撸祟惸J綌?shù)據(jù)可例如通過通信而提供到托管網(wǎng)頁的公司,從而將信息發(fā)送到網(wǎng)絡服務器16和/或數(shù)據(jù)服務器18以檢視通信網(wǎng)絡17。此方面使得托管網(wǎng)頁的公司能夠例如通過將模式數(shù)據(jù)作為元數(shù)據(jù)遞送而提供其網(wǎng)頁的模式信息,以便使得網(wǎng)絡瀏覽器能夠更有效地再現(xiàn)其網(wǎng)頁。[0062]返回到計算裝置10,網(wǎng)絡引擎模塊14可包含調(diào)度算法模塊42。調(diào)度算法模塊42可使得能夠給予線程、過程或數(shù)據(jù)流對系統(tǒng)資源的存取以有效地對系統(tǒng)進行負載平衡?;蛘?,調(diào)度算法42可實現(xiàn)目標服務質(zhì)量。調(diào)度算法42優(yōu)選地準許網(wǎng)絡引擎14 一次執(zhí)行ー個以上過程,且同時將多個數(shù)據(jù)流發(fā)射到腳本處理引擎50和再現(xiàn)引擎52以再現(xiàn)網(wǎng)頁。調(diào)度算法42優(yōu)選地使用所預測的子樹獨立性來并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
[0063]網(wǎng)絡引擎模塊14還可包含分類器模塊44。分類器模塊44可經(jīng)訓練以預測D0M38的子樹34中的哪些是獨立的,且D0M38的子樹48中的哪些是相依性的。分類器模塊44可比較網(wǎng)頁腳本中的元素信息與由機器學習算法提供的模式數(shù)據(jù)的模式以作出關于可并行處理的狗托盤的多個部分的預測(有條件地或無條件的)。分類器模塊44可包含數(shù)個程序指令以描述來自D0M38的具有共同行為和結構特征的例子集合。
[0064]如上文所論述,D0M38具有包含數(shù)個子跡線的樹狀結構。分類器模塊44可能將檢驗D0M38和網(wǎng)頁元素信息以便將數(shù)個子樹分類為獨立的34且將數(shù)個子樹分類為相依性的
48。取決于D0M38的結構,分類器模塊44可預測子樹34先驗地獨立,在此情況下,腳本處理或再現(xiàn)引擎50或52可由DOM樹38的先驗獨立部分形成任務。
[0065]在一些情況下,分類器模塊44可識別有條件地獨立的子樹48。在此等情況下,分類器44可基于網(wǎng)頁腳本中的元素信息而預測,如果可確定特定信息,那么子樹將為獨立的。此確定使得網(wǎng)絡引擎14能夠執(zhí)行任務以獲得使得所述子樹獨立所必要的特定信息。通過網(wǎng)絡引擎14即時地執(zhí)行計算以再現(xiàn)特定信息,D0M38的有條件獨立部分可作為獨立子樹34加以處理,且因此可加以并行處理。
[0066]在一些情況下,分類器模塊44可識別子樹48為推測性地獨立的,在此情況下,網(wǎng)絡引擎14可推測以確定信息將使子樹獨立。網(wǎng)絡引擎14可接著使此子樹獨立,可并行處理此子樹。推測可通過推測算法模塊42來完成,推測算法模塊42可為構成網(wǎng)絡引擎14的軟件的部分。
[0067]網(wǎng)絡引擎14還可包含并行計算布局引擎模塊39,其輔助再現(xiàn)引擎模塊52且提供獨立子樹34與相依性子樹48的并行計算以在再現(xiàn)網(wǎng)頁52的同時并行地處理DOM樹38的多個部分。在另一方面中,計算引擎模塊39還可參考索引等以輔助再現(xiàn)網(wǎng)頁。優(yōu)選地,計算引擎模塊39使用D0M38的網(wǎng)絡元素來尋址并操縱所使用的編程語言的語法內(nèi)的網(wǎng)絡元素。在一方面中,并行布局計算引擎模塊39可并入在再現(xiàn)引擎52內(nèi)。
[0068]各種方面利用由機器學習算法辨識的模式以實現(xiàn)網(wǎng)頁的更快再現(xiàn)。此可通過網(wǎng)絡引擎14并行地處理數(shù)據(jù)塊而無需等待整個DOM結構被處理來完成。此可使得網(wǎng)絡引擎14能夠與對應于頁32的所請求例子的D0M38的第二部分同時地處理D0M38的第一部分。
[0069]另外,計算裝置10可配置有可操作以執(zhí)行腳本處理功能性的腳本處理引擎模塊
50。舉例來說,網(wǎng)絡引擎模塊14可與腳本處理引擎50交互以加載對應于頁的腳本,腳本處理引擎50執(zhí)行所述腳本以注冊對應腳本功能。響應于從網(wǎng)絡引擎14接收的加載事件,腳本處理引擎50可進ー步運行所述頁腳本,并產(chǎn)生發(fā)送呼叫以起始所述網(wǎng)頁的例子的對應動態(tài)數(shù)據(jù)的提取。此外,在接收到動態(tài)數(shù)據(jù)之后,腳本處理引擎50可例如經(jīng)由DOM應用程序接ロ(API)應用數(shù)據(jù),且將所述數(shù)據(jù)寫入到對應DOM。
[0070]另外,計算裝置10可包含再現(xiàn)引擎52,其與網(wǎng)絡引擎14交互。舉例來說,響應于來自網(wǎng)絡引擎14的請求,再現(xiàn)引擎52可對相應頁的ー個或ー個以上部分上色,所述ー個或ー個以上部分對應于ー個或ー個以上獨立DOM子樹部分34和/或?qū)谒鲰摰南鄳拥末`個或ー個以上相依性DOM子樹部分48。此外,再現(xiàn)引擎52可與顯示器15交互以呈現(xiàn)所述頁的經(jīng)上色部分,由此呈現(xiàn)所述頁的相應例子。
[0071]因此,通過使用機器學習算法模塊40、64對所搜集的網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式,且通過訓練分類器以基于網(wǎng)頁腳本中的元素信息來預測子樹獨立性,所描述的方面可加速網(wǎng)頁的再現(xiàn)。
[0072]圖3中說明計算裝置10的功能模塊(例如移動或蜂窩式電話)。此些功能模塊可包含處理器150,其執(zhí)行處理器可執(zhí)行指令以完成與本文所述的模塊和功能中的一者或一者以上相關聯(lián)的處理功能。處理器150可包含單個或多個處理器或多核處理器集合,且可實施為集成式處理系統(tǒng)和/或分布式處理系統(tǒng)。
[0073]計算機裝置10可進ー步包含存儲器152,例如用于存儲正由處理器150執(zhí)行的應用程序的本地版本和/或用于長期存儲處理器150當前未執(zhí)行或利用的數(shù)據(jù)、指令和/或應用程序。在一方面中,存儲器152可存儲數(shù)個網(wǎng)頁153。所搜集的網(wǎng)頁153可經(jīng)處理并存儲在存儲器152中。優(yōu)選地,所搜集的網(wǎng)頁153可來自因特網(wǎng)以觀察所搜集網(wǎng)頁153內(nèi)的網(wǎng)絡內(nèi)容中的模式。在另一方面中,所搜集的網(wǎng)頁153可為來自因特網(wǎng)的頁的子集,或特定針對于在特定網(wǎng)絡瀏覽器中檢視的數(shù)個頁,或特定針對于另ー參數(shù)以獲得模式的集中搜索。在ー個方面中,存儲器152可進ー步包含在所搜集網(wǎng)頁155中觀察到的模式,其是從機器學習分析和習得內(nèi)容157導出。在接收到從所搜集網(wǎng)頁153導出的模式155之后,計算裝置10可隨即將模式155進ー步存儲在存儲器152中。如上所述,此處理可涉及對來自模式155的相依性進行分類以使得網(wǎng)絡引擎能夠識別DOM樹38的獨立、有條件地獨立和相依性(即,無法進行并行處理)的子樹。
[0074]如上文所論述,計算裝置10可包含通信模塊154,其管理與利用如本文所述的硬件、軟件和服務的ー個或ー個以上實體的通信的建立和維持。通信模塊154還可在計算裝置10內(nèi)的功能模塊與組件之間以及計算裝置10與外部裝置(例如位置跨越通信網(wǎng)絡17的裝置和/或串聯(lián)或在本地連接到計算裝置10的裝置)之間發(fā)射數(shù)據(jù)。舉例來說,通信模塊154可包含ー個或ー個以上總線,且可進ー步包含可操作以用于與外部裝置介接的接ロ、一個或ー個以上發(fā)射器或發(fā)射鏈組件和ー個或ー個以上接收器或接收鏈組件。舉例來說,此些發(fā)射器和接收器可實現(xiàn)根據(jù)ー個或ー個以上技術或協(xié)議的有線或無線通信。
[0075]計算裝置10可另外包含用戶接ロ組件156,其可操作以從計算裝置10的用戶接收輸入158,且進ー步可操作以產(chǎn)生輸出160以供呈現(xiàn)給用戶。用戶接ロ組件156可包含一個或ー個以上輸入裝置,包含但不限于鍵盤、數(shù)字小鍵盤、鼠標、觸敏顯示器、導覽鍵、功能鍵、麥克風、話音辨識組件、圖像俘獲裝置、能夠從用戶接收輸入的任何其它機構,或其任何組合。此外,用戶接ロ組件156可包含ー個或ー個以上輸出裝置,包含但不限于顯示器、揚聲器、觸覺反饋機構、觸摸屏、打印機、能夠?qū)⑤敵龀尸F(xiàn)給用戶的任何其它機構,或其任何組
ム
ロ o
[0076]另外,如上文所指出,計算裝置10可包含門戶組件模塊12,其可為網(wǎng)絡瀏覽器、介面工具集或移動介面工具集或網(wǎng)絡應用程序中的一者或任何組合。門戶組件模塊12可操作以與計算裝置10的用戶以及與計算裝置10的其它組件介接,以實現(xiàn)網(wǎng)頁的再現(xiàn)。
[0077]任選地,在ー些方面中,網(wǎng)絡引擎14可包含經(jīng)配置以管理提取操作的時序和性能的提取管理器162。舉例來說,提取管理器162可實現(xiàn)具有鏈接的頁的內(nèi)容的預提取,所述鏈接僅從引用頁單擊,其中所述引用頁包含URL以執(zhí)行所述預提取。
[0078]舉例來說,提取管理器162可在引用頁的JavaScript?中執(zhí)行預提取發(fā)現(xiàn)調(diào)用。作為另ー實例,提取管理器162可標記或排序URL以在頁上提取,以使得可在接收到對相應頁的請求之前在頁再現(xiàn)中處理這些標記或URL。舉例來說,提取管理器162可包含用以確定頁(例如列表中的鄰近頁、層次中的鄰近頁,等)之間的關系的算法或功能,以便確定預提取何內(nèi)容以及何時預提取。在其它方面中,所描述的設備和方法可在當前頁的HTML標頭中包含已知URL的清單,其將通過提取管理器162進行分析以進行預提取。在另一方面中,所描述的設備和方法可在引用頁的HTML標頭包含用于每一可達頁的URL的結構化清單,其將通過提取管理器162進行分析以執(zhí)行每一可達頁的預提取。
[0079]計算裝置10網(wǎng)絡引擎14可進ー步包含內(nèi)容處置器模塊166以輔助內(nèi)容的處理。在ー個方面中,內(nèi)容處置器模塊166允許計算裝置102確定是否產(chǎn)生機器習得內(nèi)容157。此夕卜,內(nèi)容處置器模塊166可從通信網(wǎng)絡17接收處理指令168。在此方面中,通信網(wǎng)絡可提供處理指令168連同將存儲在計算裝置102處的內(nèi)容。舉例來說,處理指令168可隨圖像而發(fā)射,且可提供用于重新映射圖像像素的指令。由此,隨處理指令轉(zhuǎn)移的內(nèi)容的大小可為小的。一旦所述小原始內(nèi)容和處理指令由計算裝置102接收到,處理指令168就促進內(nèi)容到較豐富圖像或較豐富內(nèi)容集合的擴展。內(nèi)容處置器模塊166可進ー步包含結構參考169以輔助所接收內(nèi)容的處理。
[0080]任選地,在ー些方面中,內(nèi)容處置器模塊166可包含導出管理器164以在請求頁的相應例子之前預導出DOM或DOM的部分。導出管理器164可包含在管理網(wǎng)頁到DOM的導出(在需要所述頁時)時提供層的算法或功能。導出管理器164可使得此類導出能夠以智能方式出現(xiàn),可能不在經(jīng)由來自清單的指示而初次下載時。舉例來說,導出管理器164的所述算法或功能可確定頁(例如,列表中的鄰近頁、層次中的鄰近頁,等)之間的關系以便確定預導出何內(nèi)容以及何時預導出ー個或ー個以上頁。導出管理器164可推斷并不需要處理內(nèi)容的某個部分,因為其已看到相同片段。應注意,提取管理器162和導出管理器164可組合在同一網(wǎng)絡引擎14或內(nèi)容處置器模塊166中以改進在會期中頁的初次運行的性能。
[0081]例如JavaScript引擎等腳本處理引擎50管理腳本功能的注冊和頁的給定例子的腳本的運行。再現(xiàn)引擎52產(chǎn)生頁的給定例子(例如呈現(xiàn)在顯示器15 (展示于圖2中)上的所顯示頁例子13)的全部或多個部分或?qū)ζ溥M行上色,且將結果傳達到用戶接ロ 156的組件。
[0082]圖4中說明用于再現(xiàn)頁的方面方法400。在方法400中,在框402,計算裝置可接收對頁的所請求例子的請求。在框404中,計算裝置的處理器可通過產(chǎn)生DOM或重新調(diào)用存儲在存儲器中的所請求頁的DOM而開始再現(xiàn)頁的過程。在框406中,計算裝置處理器可參考可能存儲在存儲器中的所預測的子樹獨立性模式。在ー個方面中,經(jīng)訓練的分類器可比較作為輸入的節(jié)點特征,且在此操作中輸出布局獨立性結論。
[0083]在框408中,處理器可比較存儲在存儲器中的參考的所預測子樹獨立性模式與所請求頁的所產(chǎn)生D0M。在框410中,可接著作為再現(xiàn)頁的部分而并行地處理識別為獨立的或有條件地獨立的流子樹。最終,在框412中,在計算裝置的顯示器上再現(xiàn)所請求頁。
[0084]圖5中說明用于進行機器學習分析以觀察與網(wǎng)頁元素信息相關的布局獨立性中的模式的方面方法500。方法500可例如通過處理網(wǎng)頁信息的數(shù)據(jù)存儲而對于大量網(wǎng)頁再現(xiàn)同時完成。或者,方法500可集成在網(wǎng)絡瀏覽器內(nèi),使得在網(wǎng)頁再現(xiàn)期間實施所述方法,從而使得其可在再現(xiàn)網(wǎng)頁時習得模式。
[0085]在方法500中,在框502,接收網(wǎng)絡內(nèi)容,其可呈HTML、CSS、JavaScript或上文參考的網(wǎng)頁元素中的任一者的形式,且可伴有處理指令。在確定框504,計算裝置的處理器可確定所接收數(shù)據(jù)是否為機器學習分析的候選者以及其是否呈適合于輸入到機器讀取算法以學習模式的形式。如果處理器確定所述內(nèi)容并非機器可讀且不為用于機器學習的候選者(即,確定框504= “否”),那么處理器可在框506丟棄所接收數(shù)據(jù),或任選地,在框510中對所述數(shù)據(jù)編索引并存儲。如果處理器確定所述內(nèi)容為用于機器學習的候選者(即,確定框504= “是”),那么在框508,可執(zhí)行機器學習以檢測與來自所接收內(nèi)容的網(wǎng)頁元素信息相關的布局獨立性中的模式。在框510,可將任何所辨識模式以適合用于訓練分類器或適合由調(diào)度算法存取的方式存儲在存儲器中。
[0086]圖6中說明用于進行機器學習分析以觀察與網(wǎng)頁元素信息相關的布局獨立性中的模式且使用并行處理再現(xiàn)網(wǎng)頁的方面方法600。在方法600中,在框602,計算裝置可請求來自ー個或ー個以上網(wǎng)頁的內(nèi)容,且在框604接收所述內(nèi)容。在確定框606,實施方法600的處理器可通過分析網(wǎng)絡內(nèi)容而確定所接收內(nèi)容是否為用于機器學習處理的候選者。如果處理器確定所述內(nèi)容不為用于機器學習的候選者(即,確定框606= “否”),那么在框608,可丟棄所接收內(nèi)容。如果處理器確定所述內(nèi)容為用于機器學習的候選者(即,確定框606= “是”),那么處理器可執(zhí)行網(wǎng)頁元素信息的機器學習分析以識別模式并使模式與布局獨立性相關。在框612,可將所識別模式存儲在存儲器中。在框614,可參考所述模式以便并行地處理獨立子樹且再現(xiàn)新網(wǎng)頁。
[0087]圖7中說明用于識別有條件地獨立的子樹的方面方法700。在方法700中,在框702,可接收DOM樹38的語義相依性子樹。語義相依性子樹可從先前檢測到的模式推斷,或從實際子樹或DOM樹38讀取。在確定框704,實施方法700的處理器可確定是否可解析所接收子樹的相依性。如果處理器確定可解析所述子樹(即,確定框704= “是”),那么在框706,處理器可在框706調(diào)度用以移除所述相依性的任務。用以移除所述相依性的此任務可經(jīng)調(diào)度以即時地出現(xiàn)以便使得能夠并行處理所述子樹。在框714,可與網(wǎng)頁處理的其它部分并行地處理已解析相依性的子樹以再現(xiàn)網(wǎng)頁。
[0088]如果處理器確定無法解析子樹的相依性(即,確定框704= “否”),那么實施方法700的處理器可在確定框708確定是否可預測相依性。如果處理器確定可預測相依性(即,確定框708= “是”),那么在框712,處理器可預測移除節(jié)點的相依性所必要的信息以便使得特定子樹獨立,由此基于推測(即,關于移除相依性的信息的推測)來實現(xiàn)并行處理。在框714中,可基于推測與網(wǎng)頁的其它部分并行地并行處理所述子樹以再現(xiàn)網(wǎng)頁。然而,如果處理器確定無法預測相依性(即,確定框708= “是”),那么可在框710以標準系列方式處理所接收數(shù)據(jù)以再現(xiàn)所述頁。
[0089]圖8說明再現(xiàn)經(jīng)由內(nèi)容提供者從網(wǎng)絡服務器和數(shù)據(jù)服務器接收的頁(例如網(wǎng)頁)的設備(例如,計算裝置)800的組件。設備800可包含呈配置有軟件和/或固件的處理器形式的功能組件。設備800可包含電組件的邏輯分組802,其促進接收對應于頁的網(wǎng)絡資源和數(shù)據(jù),并再現(xiàn)所述頁的例子。電組件的邏輯分組802可包含用于例如在計算裝置處接收對頁的所請求例子的請求的裝置804。此外,電組件的邏輯分組802可包含用于確定所述頁的所請求例子是否對應于存儲在存儲器中的所預測子樹獨立性的文檔對象模型(DOM)模式的裝置806,其中存儲在存儲器中的模式基于網(wǎng)頁腳本中的元素信息預測子樹獨立性。
[0090]而且,電組件的邏輯分組802可包含用于參考存儲在存儲器中的所預測子樹獨立性的裝置808。另外,電組件的邏輯分組802可包含用于比較所參考的所預測子樹獨立性與所請求頁的文檔對象模型38的裝置。任選地,電組件的邏輯分組802可包含用于再現(xiàn)所述頁的所請求例子且并行地處理所請求頁的DOM的獨立子樹部分的裝置812。因此,設備800可有效地使用從所述模式習得的所預測子樹獨立性以并行地處理待再現(xiàn)的網(wǎng)頁的多個部分,并以快速方式再現(xiàn)所述網(wǎng)頁。
[0091]另外,設備800可包含存儲器814,其保持用于執(zhí)行與電組件804、806、808、810和任選地812相關聯(lián)的功能的指令。盡管展示為在存儲器814外部,但應理解,電組件804、806,808,810和任選地812可存在于存儲器814內(nèi)部或涵蓋其多個部分。
[0092]在各種方面中,某些子樹可被識別或預測為獨立的,而其它子樹可被預測為相依性的,且又其它子樹可被預測為有條件地獨立的。因此,使用機器學習分析來識別模式,可將某些子樹預測為獨立的,且可對其進行并行處理??墒蛊渌袟l件獨立子樹為獨立子樹。此可使得能夠通過并行地或并行處理所述子樹而以更快方式處理DOM樹38。在ー個方面中,第一處理器可處理第一獨立子樹,且第二處理器可同時處理第二獨立子樹或DOM樹以提供多個計算線程的執(zhí)行。
[0093]圖9說明用于在瀏覽器的初次執(zhí)行或具有未識別DOM結構的特定網(wǎng)頁的初次再現(xiàn)時處理DOM樹的方面方法900。在方法900中,在框902中,瀏覽器可從對應于所需網(wǎng)頁的遠程或本地服務器接收HTML代碼。在框904中,瀏覽器可剖析所接收的HTML,且建立DOM樹。在框906中,瀏覽器可分析所述DOM樹以確定是否可獨立地處理至少ー個子樹。在框908中,瀏覽器可參考由機器習得且提供于索引等中以易于參考的數(shù)個模式。在框910中,可并行地處理DOM樹的所識別獨立子樹與HTML代碼以輸出到顯示器。在框912中,瀏覽器可在瀏覽器正運行所在的計算裝置的電子顯示器上顯示所撰寫且經(jīng)處理的HTML代碼連同所有相關聯(lián)圖像和文件。
[0094]圖10中以額外功能細節(jié)和特異性說明用于處理DOM樹的方面方法1000。在方法1000中,在框1002中,計算裝置的處理器可在網(wǎng)絡瀏覽器應用程序中從服務器接收HTML代碼和/或從高速緩存存儲器重新調(diào)用HTML代碼。在框1004中,瀏覽器可剖析所述HTML代碼,且建立用于所接收HTML代碼的DOM樹的至少一部分。
[0095]在確定框1006中,處理器可確定DOM樹的至少ー個子樹是否匹配指示其可獨立地加以處理的任何機器習得模式。在各種方面中,處理器可通過評估基于網(wǎng)頁腳本中的元素信息預測子樹獨立性的分類器模塊的輸出而做出此確定。在各種方面中,處理器可執(zhí)行或起始ー個或ー個以上算法的執(zhí)行以從機器學習算法確定所產(chǎn)生DOM樹的部分是否匹配存儲在存儲器中的模式中的任一者。在確定框1006中,處理器可確定所產(chǎn)生DOM樹的部分是否在結構上相同和/或在結構上類似于存儲在存儲器中的獨立DOM子樹的模式。處理器在確定框1806中可進ー步檢驗節(jié)點與節(jié)點關系以確定可獨立地處理哪些子樹。
[0096]如果處理器確定DOM子樹的部分并不匹配存儲在存儲器中的模式中的任一者的結構(即,確定框1006= “否”),那么在框1008中,處理器可處理DOM樹的所產(chǎn)生部分,且執(zhí)行相關聯(lián)的計算(例如,推算元素的絕對位置、樣式,執(zhí)行CSS匹配,等)。在框1010中,處理器可存儲計算結果,其中所述結果編索引到DOM樹的執(zhí)行部分。
[0097]如果處理器確定DOM樹的至少ー個子樹在結構上相同和/或在結構上類似于存儲在存儲器中的模式(即,確定框1006= “是”),那么在框1012中,機器訓練的分類器模塊可用于預測可并行處理的子樹。
[0098]在確定框1014中,處理器可確定在推斷出信息且將其提供到子樹以使所述子樹獨立的情況下是否可并行處理所述子樹。如果可并行處理所述子樹(即,確定框1014= “是”),那么處理器將在框1016推斷所需信息,且處理返回到框1008以用于并行處理所述子樹。
[0099]如果處理器使用所推斷信息確定所述子樹無法進行并行處理(即,確定框1014= “否”),那么處理器可在確定框1018中確定在基于推測預測或供應信息的情況下是否可使所述子樹獨立且并行處理所述子樹。如果可使所述子樹獨立且并行處理所述子樹(即,確定框1018= “是”),那么在框1020中基于推測供應所需信息,且處理返回到框1008以用于并行處理所述子樹。
[0100]如果處理器使用所推測信息確定所述子樹無法進行并行處理(即,確定框1018= “否”),那么在確定框1022,處理器可確定在可通過執(zhí)行計算(所述信息將使子樹獨立)獲得信息的情況下所述子樹是否可進行并行處理。此類計算可囊括于任務中(即,確定框1022= “是”),且處理器可在框1024調(diào)度所需計算任務,且在框1026接收所需信息。此時,處理返回到框1008以用于并行處理所述子樹。
[0101]當在框1008完成DOM樹的處理和計算時,在框1010中將所得計算存儲在存儲器中。在確定框1028,處理器可確定是否已經(jīng)計算所有必要計算。如果未完成所有計算(即,確定框1028= “否”),那么瀏覽器可通過返回到框1004而剖析HTML代碼的另一區(qū)段以產(chǎn)生DOM樹的額外部分。如果完成所有計算(即,確定框1028= “是”),那么瀏覽器可驗證數(shù)據(jù),且在框1030中撰寫所述頁以供再現(xiàn),且在框1032中在計算裝置的電子顯示器上顯示所述頁。
[0102]在圖11中說明用于處理DOM樹的多個部分的替代方面方法1100。在方面方法1100中,可基于新的所搜集網(wǎng)頁元素信息及其類似者更新經(jīng)機器訓練分類器以辨識額外模式以改進子樹獨立性預測的準確度。在方法1100中,在框1102處,操作瀏覽器應用程序的處理器可從高速緩存存儲器和/或遠程服務器接收HTML代碼。在框1104處,處理器可剖析所接收HTML且基于所接收HTML產(chǎn)生DOM樹的ー個或ー個以上部分。在框1108處,處理器可處理所述模式并比較所述模式與待再現(xiàn)的DOM樹。在確定框1110中,處理器可確定DOM樹是否匹配存儲器中的任何模式。如果處理器確定DOM樹的部分不匹配存儲器中的模式中的任一者(即,確定框1110= “否”),那么瀏覽器可在框1120處詳細研究DOM樹且執(zhí)行相關聯(lián)推算以按正常方式再現(xiàn)DOM樹。
[0103]如果處理器確定DOM樹的部分匹配存儲器中的ー個或ー個以上模式(即,確定框1110=“是”),那么處理器可確定子樹為獨立的或有條件地獨立的。在框1112處,處理器可識別可使用調(diào)度算法并行地處理的DOM子樹。在確定框1114中,處理器可例如基于比較子樹與存儲在存儲器中的模式來識別有條件地獨立的子樹。如果識別出有條件地獨立的子樹(即,確定框1114= “是”),那么可通過推測、預測、推斷或通過確定信息以使得有條件地獨立的子樹獨立來使得有條件地獨立的子樹獨立。
[0104]如果未識別出有條件地獨立的子樹(即,確定框1114= “否”),那么瀏覽器可在框1120處通過詳細研究DOM樹且執(zhí)行如上文所描述的相關聯(lián)推算來處理HTML推算的所產(chǎn)生部分。如果再現(xiàn)有條件地獨立的子樹(即,確定框1114=“是”),那么瀏覽器可在框1116中撰寫頁,且在框1118中在電子顯示器上顯示所得HTML網(wǎng)頁。
[0105]在框1108處的操作期間,處理器可在框1106處存取機器學習算法和分類器。在ー個方面,分類器可具有數(shù)個靜態(tài)模式,可在預定周期之后或以動態(tài)方式或在服務器、瀏覽器或用戶的請求下更新所述數(shù)個靜態(tài)模式。在確定框1105處,處理器可確定是否應更新機器訓練算法和分類器。如果確定應更新機器訓練算法和分類器(即,確定框1105= “是”),那么處理器可在框1104處從數(shù)個網(wǎng)頁接收并搜集網(wǎng)頁元素信息且執(zhí)行機械學習分析以辨識預測子樹獨立性的模式。舉例來說,分類器1106可具有第一模式集合,且經(jīng)更新而具有第二模式集合以補充所述第一集合。在另一方面中,第二集合可替換第一集合。在框1103處,處理器可存儲所辨識模式,所述所辨識模式可在框1108處經(jīng)更新且用以與新的DOM樹相比較。
[0106]在替代方面中,可以動態(tài)、自動和/或周期性方式來更新模式??商幚砭W(wǎng)頁,且可搜集網(wǎng)頁元素信息以用于執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式。應了解,網(wǎng)頁可隨時間而演進,且網(wǎng)頁元素信息可基于對新模式的觀察而改變和演進,且機器學習分析將俘獲新數(shù)據(jù)中的模式。
[0107]如上文所論述,在ー些方面中,將機器學習算法應用到網(wǎng)頁信息可在集中式服務器中完成,使得若干計算裝置的網(wǎng)頁處理可用以產(chǎn)生廣泛多種因特網(wǎng)網(wǎng)頁的模式信息。在圖12中說明用于在中心服務器處分析網(wǎng)頁處理信息的方面方法1200。在方法1200中,在框1202處,耦合到例如因特網(wǎng)等通信網(wǎng)絡的服務器可接收由耦合到網(wǎng)絡的數(shù)個計算裝置上的配備工具的網(wǎng)絡瀏覽器報告的網(wǎng)頁處理數(shù)據(jù)。網(wǎng)頁處理數(shù)據(jù)的誤報可使用因特網(wǎng)通信技術中所熟知的多種數(shù)據(jù)結構和數(shù)據(jù)報告方法中的任一者。所接收的網(wǎng)頁處理數(shù)據(jù)可存儲在服務器內(nèi)以逐步建立處理數(shù)據(jù)的數(shù)據(jù)庫以供分析。在框1204處,服務器可將機器學習算法應用到所接收的網(wǎng)絡處理數(shù)據(jù)。如上文所描述,此類算法可經(jīng)配置以識別網(wǎng)頁腳本或下拉樹內(nèi)的模式,所述模式與子樹的獨立性或有條件的獨立性相關。在框206處,服務器可將從處理所接收的網(wǎng)絡處理數(shù)據(jù)而識別的模式數(shù)據(jù)與存儲在數(shù)據(jù)庫內(nèi)的其它機器學習模式數(shù)據(jù)集成。在此操作中,可將先前所產(chǎn)生的模式數(shù)據(jù)與當前模式數(shù)據(jù)組合或合并以產(chǎn)生經(jīng)更新或經(jīng)替換的模式數(shù)據(jù)集合。在框1208處,可使用所得模式數(shù)據(jù)產(chǎn)生適合于訓練計算裝置網(wǎng)絡瀏覽器的訓練數(shù)據(jù)或模式,例如包含在計算裝置網(wǎng)絡瀏覽器應用程序內(nèi)的可訓練的分類器。在框1210處,可例如經(jīng)由如因特網(wǎng)等通信網(wǎng)絡將此所產(chǎn)生的訓練數(shù)據(jù)發(fā)射到計算裝置。可將此發(fā)射或訓練數(shù)據(jù)作為服務或訂用來提供,使得僅向服務器簽名的那些計算裝置接收此信息。在另一方面中,可將訓練或模式數(shù)據(jù)提供到網(wǎng)絡托管公司,使得可將信息作為元數(shù)據(jù)包含在其網(wǎng)頁HTML腳本中。方面方法1200可使得此中心服務器能夠受益于成百上千個計算裝置的網(wǎng)頁再現(xiàn)操作,由此實現(xiàn)與因特網(wǎng)上可用的網(wǎng)頁的寬截面相關的模式辨識和訓練數(shù)據(jù)集的開發(fā)。
[0108]如從前述描述可見,搜集關于網(wǎng)頁再現(xiàn)的信息、從網(wǎng)頁再現(xiàn)信息產(chǎn)生元素數(shù)據(jù)、對元素數(shù)據(jù)執(zhí)行機器學習分析以及訓練瀏覽器以使用機器學習分析的結果的操作可在多種實施方案中在不同計算裝置中完成。舉例來說,所述方面可僅在單個計算裝置瀏覽器(例如,配備工具的瀏覽器)內(nèi)實施,部分地在多個計算裝置和ー個或ー個以上服務器內(nèi)實施,且實質(zhì)上在從多個計算裝置接收網(wǎng)頁再現(xiàn)信息的ー個或ー個以上服務器內(nèi)實施。明確地說,各種方面包含ー種方法(其可在經(jīng)配置而具有執(zhí)行方法的可執(zhí)行指令的計算裝置中實施),所述方法包含以下操作:處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性;以及使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
[0109]在第一實例方面中,此方法可在單個計算裝置內(nèi)實施,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息是在于所述單個計算裝置上操作的配備工具的瀏覽器中完成,且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述同一計算裝置中完成。
[0110]在第二實例方面中,此方法可在計算裝置和服務器的網(wǎng)絡中實施,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息包含:在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每ー者發(fā)射到所述服務器;在所述服務器中接收并聚集由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息;將經(jīng)聚集網(wǎng)頁元素信息發(fā)射到所述多個計算裝置中的至少ー者;以及在所述多個計算裝置中的所述至少一者中接收所述發(fā)射的經(jīng)聚集網(wǎng)頁元素信息。此外,在此方面中,對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述多個計算裝置中的所述至少一者中對所述所接收的經(jīng)聚集網(wǎng)頁元素信息完成,且訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性包括訓練在所述多個計算裝置中的所述至少ー者中操作的分類器以基于對所述所接收的經(jīng)聚集網(wǎng)頁元素信息執(zhí)行的機器學習分析預測子樹獨立性。
[0111]在第三實例方面中,處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息可包含:在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每一者發(fā)射到服務器(例如,經(jīng)由因特網(wǎng));以及在所述服務器中接收由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息。在此第三實例方面中,對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式可在所述服務器中對由所述多個計算裝置發(fā)射的所述所接收網(wǎng)頁信息完成以識別布局獨立性中的模式,且所述方法可進ー步包含將布局獨立性中的所述所識別模式從所述服務器發(fā)射到所述多個計算裝置中的至少ー者(例如,經(jīng)由因特網(wǎng)),以及在所述多個計算裝置中的所述至少ー者中接收布局獨立性中的所述所識別模式。此外,在此實例方面中,訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性可包含訓練在所述多個計算裝置中的所述至少一者中操作的分類器以基于布局獨立性中的所述所接收的所識別模式預測子樹獨立性。
[0112]圖13為適合于供所述方面中的任一者使用的移動計算裝置的系統(tǒng)框圖。典型移動計算裝置1300可包含處理器1301,其耦合到內(nèi)部存儲器1302、顯示器1303和揚聲器1354。處理器1301可為多核處理器,或ー個以上處理器可包含在移動計算裝置1300中以使得能夠并行地處理網(wǎng)頁的多個部分。另外,移動計算裝置1300可包含用于發(fā)送和接收電磁輻射的天線1304,其可連接到無線數(shù)據(jù)鏈路,和/或蜂窩式電話收發(fā)器1305,其耦合到處理器1301以及耦合到處理器1301的移動計算裝置1324。移動計算裝置1300通常還包含用于接收用戶輸入的菜單選擇按鈕或搖臂開關1308。
[0113]上文所描述的方面還可在多種計算裝置內(nèi)實施,例如,如圖15中所說明的膝上型計算機1400。許多膝上型計算機包含用作計算機的指針裝置的觸摸板觸摸表面,且因此可接收類似于在裝備有觸摸屏顯示器的移動計算裝置上實施的手勢的拖曳、滾動和輕拂手勢。膝上型計算機1400通常將包含處理器1401,其耦合到易失性存儲器1402和例如磁盤驅(qū)動器1403等大容量非易失性存儲器。處理器1401可為多核處理器,或ー個以上處理器可包含在計算機1400中以使得能夠并行地處理網(wǎng)頁的多個部分。計算機1400還可包含耦合到處理器1401的軟盤驅(qū)動器1404和壓縮光盤(⑶)驅(qū)動器1405。計算裝置1400還可包含耦合到處理器1401的數(shù)個連接器端ロ以用于建立數(shù)據(jù)連接或接收外部存儲器裝置,例如USB或FireWire?連接器插ロ,或其它網(wǎng)絡連接電路1406以用于將處理器1401耦合到網(wǎng)絡。在筆記型配置中,計算機外殼包含觸摸板1407、鍵盤1408和顯示器1409,所有各者耦合到處理器1401。如眾所熟知,計算裝置的其它配置可包含耦合到處理器的計算機鼠標或軌跡球(例如,經(jīng)由USB輸入)。
[0114]處理器1301、1401可為可通過軟件指令(應用程序)配置以執(zhí)行多種功能(包含下文所描述的各種方面的功能)的任何可編程微處理器、微型計算機或多處理器芯片。如上文所提及,處理器1301、1401可為多核處理器或經(jīng)配置以與同一計算裝置內(nèi)的多個處理器合作以便實現(xiàn)對網(wǎng)頁的并行處理。在一些移動接收器裝置中,可提供多個處理器1401,例如,專用于無線通信功能的一個處理器和專用于運行其它應用程序的一個處理器。通常,在存取軟件應用程序以及將軟件應用程序加載到處理器1301、1401中之前,可將軟件應用程序存儲在內(nèi)部存儲器1302、1402和1403中。處理器1301、1401可包含足夠存儲應用程序軟件指令的內(nèi)部存儲器。
[0115]前述方法描述和過程流程圖僅作為說明性實例來提供,且并不既定需要或暗示各種方面的步驟必須以所呈現(xiàn)的次序執(zhí)行。如所屬領域的技術人員將了解,前述方面中的步驟的次序可以任何次序來執(zhí)行。例如“此后”、“接著”、“接下來”等文字并不既定限制步驟的次序;那些文字僅用以指導讀者通讀所述方法的描述。此外,對例如使用詞“一”或“所述”的単數(shù)形式的權利要求元素的任何參考不應被解釋為將元素限于單數(shù)形式。
[0116]結合本文中所掲示的方面描述的各種說明性邏輯塊、模塊、電路和算法步驟可實施為電子硬件、計算機軟件或兩者的組合。為清楚說明硬件與軟件的此可互換性,上文已大體關于其功能性而描述了各種說明性組件、塊、模塊、電路和步驟。所述功能性是實施為硬件還是軟件取決于特定應用及強加于整個系統(tǒng)的設計約束。所屬領域的技術人員可針對每一特定應用以不同方式來實施所描述的功能性,但所述實施決策不應被解釋為會導致偏離本發(fā)明的范圍。
[0117]用以實施結合本文中所掲示的方面描述的各種說明性邏輯、邏輯塊、模塊和電路的硬件可用以下各者來實施或執(zhí)行:通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或經(jīng)設計以執(zhí)行本文中所描述的功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件,或其任何組合。通用處理器可以是微處理器,但在替代方案中,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器的組合、ー個或ー個以上微處理器與DSP核心的聯(lián)合,或任何其它此配置?;蛘?,一些步驟或方法可由特定用于給定功能的電路執(zhí)行。
[0118]在ー個或ー個以上示范性方面中,所描述功能可在硬件、軟件、固件或其任何組合中實施。如果實施于軟件中,那么可將功能作為計算機可讀媒體上的ー個或ー個以上指令或代碼而加以存儲或傳輸。本文中所掲示的方法或算法的步驟可體現(xiàn)在處理器可執(zhí)行軟件模塊中,處理器可執(zhí)行軟件模塊可駐留在有形的非暫時性計算機可讀存儲媒體上。有形的非暫時性計算機可讀存儲媒體可為可由電腦存取的任何可用媒體。以實例說明且并非限制,此非暫時性計算機可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置,或可用以存儲呈指令或數(shù)據(jù)結構形式的所要程序代碼且可由計算機存取的任何其它媒體。如本文中所使用,磁盤及光盤包含緊密光盤(CD)、激光光盤、光學光盤、數(shù)字多功能光盤(DVD)、軟磁盤及藍光光盤,其中磁盤通常磁性地再生數(shù)據(jù),而光盤使用激光光學地再生數(shù)據(jù)。上述各者的組合也應包含在非暫時性計算機可讀媒體的范圍內(nèi)。另外,方法或算法的操作可作為代碼和/或指令中的一者或任何組合或集合駐留在有形的非暫時性機器可讀媒體和/或計算機可讀媒體上,有形的非暫時性機器可讀媒體和/或計算機可讀媒體可并入到計算機程序產(chǎn)品中。
[0119]提供所掲示方面的前述描述以使得任何所屬領域的技術人員能夠制造或使用本發(fā)明。所屬領域的技術人員將容易明白對這些方面的各種修改,且本文中所定義的一般原理可在不偏離本發(fā)明的精神或范圍的情況下應用于其它方面。因此,本發(fā)明并不既定限于本文中所展示的方面,而應符合與隨附權利要求書以及本文中所掲示的原理和新穎特征一致的最寬范圍。
【權利要求】
1.一種用于加速網(wǎng)頁再現(xiàn)的方法,其包括: 處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式; 訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性;以及 使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
2.根據(jù)權利要求1所述的方法,其中使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分包括: 基于所述網(wǎng)頁中的所述網(wǎng)頁元素信息預測子樹為先驗獨立的;以及 由DOM樹的先驗獨立部分形成任務。
3.根據(jù)權利要求1所述的方法,其進ー步包括: 基于所述網(wǎng)頁中的所述元素信息預測在確定特定信息的情況下子樹將為有條件地獨立的; 執(zhí)行任務以獲得所述特定信息;以及 使用所述所獲得的特定信息由DOM樹的所述有條件地獨立的部分形成任務。
4.根據(jù)權利要求3所述的方法,其中執(zhí)行任務以獲得所述特定信息包括即時地計算所述特定信息。
5.根據(jù)權利要求3所述的方法,其中執(zhí)行任務以獲得所述特定信息包括基于推測確定所述特定信息。
6.根據(jù)權利要求1所述的方法,其進ー步包括: 搜集包括以下各者中的至少ー者的網(wǎng)頁元素信息:網(wǎng)頁元素布局大小、位置、CSS樣式屬性、子樹大小、HTML標記、父級HTML標記,和網(wǎng)頁特征信息。
7.根據(jù)權利要求1所述的方法,其進ー步包括使用所述所預測子樹獨立性確定所述網(wǎng)頁的DOM樹的子樹并非獨立的且所述子樹無法進行并行處理。
8.根據(jù)權利要求1所述的方法,其進ー步包括使用單個網(wǎng)絡瀏覽器執(zhí)行所述機器學習分析且預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分。
9.根據(jù)權利要求1所述的方法,其進ー步包括: 在第一計算裝置中使用第一處理器執(zhí)行機器學習分析;以及 在第二不同計算裝置中使用第二處理器預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分。
10.根據(jù)權利要求1所述的方法,其進ー步包括通過處理多個經(jīng)更新的網(wǎng)頁來更新所述分類器,并搜集經(jīng)更新的網(wǎng)頁元素信息,以及對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的額外模式。
11.根據(jù)權利要求1所述的方法,其進ー步包括使用在計算裝置上操作的配備工具的瀏覽器搜集網(wǎng)頁元素信息,其中: 處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息是在所述配備工具的瀏覽器中完成;且 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述同一計算裝置中完成。
12.根據(jù)權利要求1所述的方法,其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息包括:在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每ー者發(fā)射到服務器; 在所述服務器中接收并聚集由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息; 將經(jīng)聚集網(wǎng)頁元素信息發(fā)射到所述多個計算裝置中的至少ー者;以及 在所述多個計算裝置中的所述至少一者中接收所述發(fā)射的經(jīng)聚集網(wǎng)頁元素信息n,且 其中: 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式是在所述多個計算裝置中的所述至少一者中對所述所接收的經(jīng)聚集網(wǎng)頁元素信息完成;且 訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性包括訓練在所述多個計算裝置中的所述至少一者中操作的分類器以基于對所述所接收的經(jīng)聚集網(wǎng)頁元素信息執(zhí)行的機器學習分析而 預測子樹獨立性。
13.根據(jù)權利要求1所述的方法, 其中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息包括: 在多個計算裝置中處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 將所述所搜集網(wǎng)頁信息從所述多個計算裝置中的每ー者發(fā)射到服務器;以及在所述服務器中接收由所述多個計算裝置發(fā)射的所述網(wǎng)頁信息以產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息, 其中對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式包括在所述服務器中對由所述多個計算裝置發(fā)射的所述所接收網(wǎng)頁信息執(zhí)行機器學習分析以識別布局獨立性中的模式, 所述方法進ー步包括: 將布局獨立性中的所述所識別模式從所述服務器發(fā)射到所述多個計算裝置中的至少一者;以及 在所述多個計算裝置中的所述至少一者中接收布局獨立性中的所述所識別模式, 其中訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性包括訓練在所述多個計算裝置中的所述至少一者中操作的分類器以基于布局獨立性中的所述所接收的所識別模式預測子樹獨立性。
14.根據(jù)權利要求1所述的方法,其進ー步包括所述分類器基于所述網(wǎng)頁腳本中的所述元素信息預測子樹獨立性,其中所述分類器將子樹獨立性數(shù)據(jù)提供到調(diào)度算法。
15.根據(jù)權利要求14所述的方法,其進ー步包括所述調(diào)度算法使用所述所預測子樹獨立性并行地處理所述網(wǎng)頁的多個部分。
16.根據(jù)權利要求1所述的方法,其進ー步包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在預定樣式表語言譯碼中與呈現(xiàn)語義相關的布局獨立性中的模式。
17.根據(jù)權利要求1所述的方法,其進ー步包括在再現(xiàn)DOM樹的第二相依子樹之前,使用所述所預測子樹獨立性再現(xiàn)所述DOM樹的第一獨立子樹。
18.根據(jù)權利要求1所述的方法,其進ー步包括: 連續(xù)地處理來自因特網(wǎng)的多個網(wǎng)頁并搜集網(wǎng)頁元素信息;連續(xù)地對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 更新所述分類器以基于所述網(wǎng)頁腳本中的元素信息和所述所識別模式預測子樹獨立性。
19.根據(jù)權利要求1所述的方法,其進ー步包括: 處理第一網(wǎng)頁集合并搜集與所述第一網(wǎng)頁集合相關聯(lián)的網(wǎng)頁元素信息且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別第一模式集合; 使用與所述第一網(wǎng)頁集合的所述所預測子樹獨立性相關聯(lián)的所述第一模式集合以并行地處理待再現(xiàn)的多個部分;以及 通過以連續(xù)方式搜集額外網(wǎng)頁元素信息并執(zhí)行機器分析以識別額外模式以補充所述第一模式集合而以動態(tài)方式連續(xù)地更新所述第一模式集合。
20.根據(jù)權利要求19所述的方法,其進ー步包括處理第二網(wǎng)頁集合并搜集網(wǎng)頁元素信息以識別第二模式集合且使用所述第二模式集合來更新所述第一模式集合?!?br>
21.根據(jù)權利要求1所述的方法,其進ー步包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在HTML譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式。
22.根據(jù)權利要求21所述的方法,其中HTML譯碼包含指示并行處理能力的所述DOM樹的第一子樹,其中HTML譯碼還包含第二子樹,所述第二子樹關于所述第二子樹的所述并行處理能力靜默,且其中所述分類器基于所述網(wǎng)頁腳本中的元素信息預測網(wǎng)頁元素的所述第ニ子樹的子樹獨立性。
23.一種計算裝置,其包括: 顯示器; 內(nèi)部存儲器;以及 處理器,其耦合到所述顯示器和所述內(nèi)部存儲器,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行包括以下各者的操作: 處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式; 訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性;以及 使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
24.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分包括: 基于所述網(wǎng)頁中的所述網(wǎng)頁元素信息預測子樹為先驗獨立的;以及 由DOM樹的先驗獨立部分形成任務。
25.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括以下各者的操作: 基于所述網(wǎng)頁中的所述元素信息預測在確定特定信息的情況下子樹將為有條件地獨立的; 執(zhí)行任務以獲得所述特定信息;以及 使用所述所獲得的特定信息由DOM樹的所述有條件地獨立的部分執(zhí)行任務。
26.根據(jù)權利要求25所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得執(zhí)行任務以獲得所述特定信息包括即時地計算所述特定信息。
27.根據(jù)權利要求25所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得執(zhí)行任務以獲得所述特定信息包括基于推測確定所述特定信息。
28.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進一歩包括搜集包括以下各者中的至少ー者的網(wǎng)頁元素信息的操作:網(wǎng)頁元素布局大小、位置、CSS樣式屬性、子樹大小、HTML標記、父級HTML標記,和網(wǎng)頁特征信息。
29.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括使用所述所預測子樹獨立性確定所述網(wǎng)頁的DOM樹的子樹并非獨立的且所述子樹無法進行并行處理的操作。
30.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括使用單個網(wǎng)絡瀏覽器執(zhí)行所述機器學習分析且預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分的操作。
31.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括以下各者的操作: 通過處理多個經(jīng)更新的網(wǎng)頁來更新所述分類器; 搜集經(jīng)更新的網(wǎng)頁元素信息;以及 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的額外模式。.
32.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得處理多個網(wǎng)頁和搜集網(wǎng)頁元素信息是在于所述計算裝置上操作的配備工具的瀏覽器中完成。
33.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得基于所述網(wǎng)頁腳本中的所述元素信息預測子樹獨立性由所述分類器來執(zhí)行,其中所述分類器將子樹獨立性數(shù)據(jù)提供到調(diào)度算法。
34.根據(jù)權利要求33所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行操作,使得所述調(diào)度算法使用所述所預測子樹獨立性并行地處理所述網(wǎng)頁的多個部分。
35.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在預定樣式表語言譯碼中與呈現(xiàn)語義相關的布局獨立性中的模式的操作。
36.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括在再現(xiàn)DOM樹的第二相依子樹之前使用所述所預測子樹獨立性再現(xiàn)所述DOM樹的第一獨立子樹的操作。
37.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括以下各者的操作: 連續(xù)地處理來自因特網(wǎng)的多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 連續(xù)地對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 更新所述分類器以基于所述網(wǎng)頁腳本中的元素信息和所述所識別模式預測子樹獨立性。
38.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括以下各者的操作: 處理第一網(wǎng)頁集合并搜集與所述第一網(wǎng)頁集合相關聯(lián)的網(wǎng)頁元素信息且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別第一模式集合; 使用與所述第一網(wǎng)頁集合的所述所預測子樹獨立性相關聯(lián)的所述第一模式集合以并行地處理待再現(xiàn)的多個部分;以及 通過以連續(xù)方式搜集額外網(wǎng)頁元素信息并執(zhí)行機器分析以識別額外模式以補充所述第一模式集合而以動態(tài)方式連續(xù)地更新所述第一模式集合。
39.根據(jù)權利要求38所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括處理第二網(wǎng)頁集合并搜集網(wǎng)頁元素信息以識別第二模式集合且使用所述第ニ模式集合來更新所述第一模式集合的操作。
40.根據(jù)權利要求23所述的計算裝置,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行進ー步包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在HTML譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式的操作。
41.根據(jù)權利要求40所述的計算裝置,其中HTML譯碼包含指示并行處理能力的所述DOM樹的第一子樹,其中HTML譯碼還包含第二子樹,所述第二子樹關于所述第二子樹的所述并行處理能力靜默,且其中所述分類器基于所述網(wǎng)頁腳本中的元素信息預測網(wǎng)頁元素的所述第二子樹的子樹獨立性。
42.—種服務器,其包括: 網(wǎng)絡接ロ,其互連到通信網(wǎng)絡; 內(nèi)部存儲器;以及 處理器,其耦合到所述網(wǎng)絡接口和所述內(nèi)部存儲器,其中所述處理器配置有處理器可執(zhí)行指令以執(zhí)行包括以下各者的操作: 從連接到所述通信網(wǎng)絡的至少ー個計算裝置接收網(wǎng)頁元素信息,其中所述網(wǎng)頁元素信息是由所述至少一個計算裝置在處理多個網(wǎng)頁時搜集; 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 按以下格式將關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的信息發(fā)射到所述至少一個計算裝置:使得所述至少一個計算裝置能夠訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性且使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
43.ー種通信系統(tǒng),其包括: 多個計算裝置,其耦合到通信網(wǎng)絡;以及 服務器,其耦合到所述通信網(wǎng)絡; 其中所述多個計算裝置各自包括經(jīng)配置以執(zhí)行包括以下各者的操作的處理器: 處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息;以及 將所述所搜集網(wǎng)頁元素信息發(fā)射到所述服務器, 其中所述服務器包括經(jīng)配置以執(zhí)行包括以下各者的操作的處理器: 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 將關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的信息發(fā)射到所述多個計算裝置, 其中所述多個計算裝置中的每ー者的所述處理器經(jīng)進一歩配置以執(zhí)行包括以下各者的操作: 從所述服務器接收關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的所述信息; 使用關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的所述信息來訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性;以及 使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
44.根據(jù)權利要求43所述的通信系統(tǒng),其中對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式包括在所述服務器處產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息。
45.根據(jù)權利要求43所述的通信系統(tǒng),其中訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性包括訓練在所述多個計算裝置中操作的分類器以基于對所述所接收的經(jīng)聚集網(wǎng)頁元素信息執(zhí)行的機器學習分析預測子樹獨立性。
46.一種計算裝置,其包括: 用于處理多個網(wǎng)頁并搜集 網(wǎng)頁元素信息的裝置; 用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置; 用于基于網(wǎng)頁中的元素信息預測子樹獨立性的裝置;以及 用于使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分的裝置。
47.根據(jù)權利要求46所述的計算裝置,其中用于使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分的裝置包括: 用于基于所述網(wǎng)頁中的所述網(wǎng)頁元素信息預測子樹為先驗獨立的的裝置;以及 用于由DOM樹的先驗獨立部分形成任務的裝置。
48.根據(jù)權利要求46所述的計算裝置,其進ー步包括: 用于基于所述網(wǎng)頁中的所述元素信息預測在確定特定信息的情況下子樹將為有條件地獨立的的裝置; 用于執(zhí)行任務以獲得所述特定信息的裝置;以及 用于使用所述所獲得的特定信息由DOM樹的所述有條件地獨立的部分執(zhí)行任務的裝置。
49.根據(jù)權利要求48所述的計算裝置,其中用于執(zhí)行任務以獲得所述特定信息的裝置包括用于即時地計算所述特定信息的裝置。
50.根據(jù)權利要求48所述的計算裝置,其中用于執(zhí)行任務以獲得所述特定信息的裝置包括用于基于推測確定所述特定信息的裝置。
51.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于搜集包括以下各者中的至少一者的網(wǎng)頁元素信息的裝置:網(wǎng)頁元素布局大小、位置、CSS樣式屬性、子樹大小、HTML標記、父級HTML標記,和網(wǎng)頁特征信息。
52.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于使用所述所預測子樹獨立性確定所述網(wǎng)頁的DOM樹的子樹并非獨立的且所述子樹無法進行并行處理的裝置。
53.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于使用單個網(wǎng)絡瀏覽器執(zhí)行所述機器學習分析且預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分的裝置。
54.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于更新所述分類器的裝置,其中用于更新所述分類器的所述裝置包括: 用于處理多個經(jīng)更新的網(wǎng)頁的裝置; 用于搜集經(jīng)更新的網(wǎng)頁元素信息的裝置;以及 用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的額外模式的裝置。
55.根據(jù)權利要求46所述的計算裝置,其中用于處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息的裝置包括用于使用在所述計算裝置上操作的配備工具的瀏覽器的裝置。
56.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于將子樹獨立性數(shù)據(jù)提供到調(diào)度算法的裝置,其中所述用于提供子樹獨立性數(shù)據(jù)的裝置包括用于基于網(wǎng)頁腳本中的所述元素信息預測子樹獨立性的裝置。
57.根據(jù)權利要求56所述的計算裝置,其中所述調(diào)度算法使用所述所預測子樹獨立性并行地處理所述網(wǎng)頁的多個部分。
58.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在預定樣式表語言譯碼中與呈現(xiàn)語義相關的布局獨立性中的模式的裝置。.
59.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于在再現(xiàn)DOM樹的第二相依子樹之前使用所述所預測子樹獨立性再現(xiàn)所述DOM樹的第一獨立子樹的裝置。
60.根據(jù)權利要求46所述的計算裝置,其進ー步包括: 用于連續(xù)地處理來自因特網(wǎng)的多個網(wǎng)頁并搜集網(wǎng)頁元素信息的裝置; 用于連續(xù)地對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置;以及 用于更新所述分類器以基于所述網(wǎng)頁腳本中的元素信息和所述所識別模式預測子樹獨立性的裝置。
61.根據(jù)權利要求46所述的計算裝置,其進ー步包括: 用于處理第一網(wǎng)頁集合并搜集與所述第一網(wǎng)頁集合相關聯(lián)的網(wǎng)頁元素信息且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別第一模式集合的裝置; 用于使用與所述第一網(wǎng)頁集合的所述所預測子樹獨立性相關聯(lián)的所述第一模式集合以并行地處理待再現(xiàn)的多個部分的裝置;以及 用于通過以連續(xù)方式搜集額外網(wǎng)頁元素信息并執(zhí)行機器分析以識別額外模式以補充所述第一模式集合而以動態(tài)方式連續(xù)地更新所述第一模式集合的裝置。
62.根據(jù)權利要求61所述的計算裝置,其進ー步包括用于處理第二網(wǎng)頁集合并搜集網(wǎng)頁元素信息以識別第二模式集合且使用所述第二模式集合來更新所述第一模式集合的裝置。
63.根據(jù)權利要求46所述的計算裝置,其進ー步包括用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在HTML譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置。
64.根據(jù)權利要求63所述的計算裝置,其中HTML譯碼包含指示并行處理能力的所述DOM樹的第一子樹,其中HTML譯碼還包含第二子樹,所述第二子樹關于所述第二子樹的所述并行處理能力靜默,且其中所述分類器基于所述網(wǎng)頁腳本中的元素信息預測網(wǎng)頁元素的所述第二子樹的子樹獨立性。
65.—種服務器,其包括: 用于從連接到通信網(wǎng)絡的至少ー個計算裝置接收網(wǎng)頁元素信息的裝置,其中所述網(wǎng)頁元素信息是由所述至少一個計算裝置在處理多個網(wǎng)頁時搜集; 用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置;以及 用于按以下格式將關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的信息發(fā)射到所述至少一個計算裝置的裝置:使得所述至少一個計算裝置能夠訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性且使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
66.一種用于接收并再現(xiàn)網(wǎng)頁的通信系統(tǒng),其包括: 多個計算裝置,其耦合到通信網(wǎng)絡;以及 服務器,其耦合到所述通信網(wǎng)絡; 其中所述多個計算裝置各自包括: 用于處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息的裝置;以及 用于將所述所搜集網(wǎng)頁元素信息發(fā)射到所述服務器的裝置, 其中所述服務器包括: 用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置;以及 用于將關干與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的信息發(fā)射到所述多個計算裝置的裝置, 其中所述多個計算裝置進ー步包括: 用于從所述服務器接收關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的所述信息的裝置; 用于使用關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的所述信息來訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性的裝置;以及 用于使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分的裝置。
67.根據(jù)權利要求66所述的通信系統(tǒng),其中用于對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式的裝置包括用于在所述服務器處產(chǎn)生經(jīng)聚集網(wǎng)頁元素信息的裝置。
68.根據(jù)權利要求66所述的通信系統(tǒng),其中用于訓練分類器以基于網(wǎng)頁腳本中的元素信息預測子樹獨立性的裝置包括用于訓練在所述多個計算裝置中操作的分類器以基于對所述所接收的經(jīng)聚集網(wǎng)頁元素信息執(zhí)行的機器學習分析預測子樹獨立性的裝置。
69.一種其上存儲有處理器可執(zhí)行指令的非暫時性計算機可讀存儲媒體,所述處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行包括以下各者的操作: 處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式; 訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性;以及 使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
70.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得使用所述所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分包括: 基于所述網(wǎng)頁中的所述網(wǎng)頁元素信息預測子樹為先驗獨立的;以及 由DOM樹的先驗獨立部分形成任務。
71.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行 進一歩包括以下各者的操作: 基于所述網(wǎng)頁中的所述元素信息預測在確定特定信息的情況下子樹將為有條件地獨立的; 執(zhí)行任務以獲得所述特定信息;以及 使用所述所獲得的特定信息由DOM樹的所述有條件地獨立的部分執(zhí)行任務。
72.根據(jù)權利要求71所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得執(zhí)行任務以獲得所述特定信息包括即時地計算所述特定信息。
73.根據(jù)權利要求71所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得執(zhí)行任務以獲得所述特定信息包括基于推測確定所述特定信息。
74.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括搜集包括以下各者中的至少ー者的網(wǎng)頁元素信息的操作:網(wǎng)頁元素布局大小、位置、CSS樣式屬性、子樹大小、HTML標記、父級HTML標記,和網(wǎng)頁特征信息。
75.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括使用所述所預測子樹獨立性確定所述網(wǎng)頁的DOM樹的子樹并非獨立的且所述子樹無法進行并行處理的操作。
76.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括使用單個網(wǎng)絡瀏覽器執(zhí)行所述機器學習分析且預測子樹獨立性以并行地處理所述網(wǎng)頁的多個部分的操作。
77.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括以下各者的操作:通過處理多個經(jīng)更新的網(wǎng)頁來更新所述分類器,并搜集經(jīng)更新的網(wǎng)頁元素信息,以及對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的額外模式。
78.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得處理多個網(wǎng)頁并搜集網(wǎng)頁元素信息是在于計算裝置上操作的配備工具的瀏覽器中完成。
79.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得基于網(wǎng)頁腳本中的所述元素信息預測子樹獨立性由所述分類器來執(zhí)行,其中所述分類器將子樹獨立性數(shù)據(jù)提供到調(diào)度算法。
80.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得所述調(diào)度算法使用所述所預測子樹獨立性并行地處理所述網(wǎng)頁的多個部分。
81.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在預定樣式表語言譯碼中與呈現(xiàn)語義相關的布局獨立性中的模式的操作。
82.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置 以致使處理器執(zhí)行進一歩包括在再現(xiàn)DOM樹的第二相依子樹之前使用所述所預測子樹獨立性再現(xiàn)所述DOM樹的第一獨立子樹的操作。
83.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括以下各者的操作: 連續(xù)地處理來自因特網(wǎng)的多個網(wǎng)頁并搜集網(wǎng)頁元素信息; 連續(xù)地對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 更新所述分類器以基于所述網(wǎng)頁腳本中的元素信息和所述所識別模式預測子樹獨立性。
84.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括以下各者的操作: 處理第一網(wǎng)頁集合并搜集與所述第一網(wǎng)頁集合相關聯(lián)的網(wǎng)頁元素信息且對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別第一模式集合; 使用與所述第一網(wǎng)頁集合的所述所預測子樹獨立性相關聯(lián)的所述第一模式集合以并行地處理待再現(xiàn)的多個部分;以及 通過以連續(xù)方式搜集額外網(wǎng)頁元素信息并執(zhí)行機器分析以識別額外模式以補充所述第一模式集合而以動態(tài)方式連續(xù)地更新所述第一模式集合。
85.根據(jù)權利要求84所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括處理第二網(wǎng)頁集合并搜集網(wǎng)頁元素信息以識別第二模式集合且使用所述第二模式集合來更新所述第一模式集合的操作。
86.根據(jù)權利要求69所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行進一歩包括對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別在HTML譯碼中與網(wǎng)頁元素信息相關的布局獨立性中的模式的操作。
87.根據(jù)權利要求86所述的非暫時性計算機可讀存儲媒體,其中所述所存儲處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行操作,使得HTML譯碼包含指示并行處理能力的所述DOM樹的第一子樹,其中HTML譯碼還包含第二子樹,所述第二子樹關于所述第二子樹的所述并行處理能力靜默,且其中所述分類器基于所述網(wǎng)頁腳本中的元素信息預測網(wǎng)頁元素的所述第二子樹的子樹獨立性。
88.一種其上存儲有處理器可執(zhí)行指令的非暫時性計算機可讀存儲媒體,所述處理器可執(zhí)行指令經(jīng)配置以致使耦合到網(wǎng)絡的處理器服務器執(zhí)行包括以下各者的操作: 從連接到所述通信網(wǎng)絡的多個計算裝置接收網(wǎng)頁元素信息,其中所述網(wǎng)頁元素信息是由所述多個計算裝置在處理多個網(wǎng)頁時搜集; 對所述所搜集網(wǎng)頁元素信息執(zhí)行機器學習分析以識別與網(wǎng)頁元素信息相關的布局獨立性中的模式;以及 按以下格式將關于與網(wǎng)頁元素信息相關的布局獨立性中的所識別模式的信息發(fā)射到至少ー個計算裝置:使得所述至少一個計算裝置能夠訓練分類器以基于網(wǎng)頁中的元素信息預測子樹獨立性且使用所述 所預測子樹獨立性并行地處理待再現(xiàn)的網(wǎng)頁的多個部分。
【文檔編號】G06F17/20GK103443786SQ201280013524
【公開日】2013年12月11日 申請日期:2012年3月12日 優(yōu)先權日:2011年3月15日
【發(fā)明者】格奧爾基·C·卡斯卡沃, 阿德里安·L·D·桑普森, 王斌 申請人:高通股份有限公司