【技術實現步驟摘要】
本專利技術涉及計算機
,尤其涉及一種在用于多核瀏覽器的進程復用方法和多核瀏覽器。
技術介紹
現代瀏覽器為了解決瀏覽器資源在長時間使用后不能很好地釋放和安全性問題,大多數都使用了多進程模型。但是用戶的計算機硬件資源是有限的,為了讓瀏覽器在不同用戶計算機硬件配置下都能有較好的上網瀏覽器體驗,所以需要限制瀏覽器打開的進程的數量,防止出現類似操作系統中系統抖動的現象出現。這就產生了瀏覽器進程復用模型。例如谷歌的Chrome (全稱Google Chrome,是由谷歌公司開發的一款Web瀏覽工具)瀏覽器、世界之窗瀏覽器等都是用了多進程模型。同時存在混合模型用于用戶在瀏覽器中瀏覽Web頁面時分配特定的工作(渲染)進程或線程。在谷歌Chrome瀏覽器實現中使用了多進程模型。該模型在瀏覽器產生瀏覽器支持擴展解壓、安裝時使用獨立的工作進程;在瀏覽器瀏覽網頁需要渲染時,根據頁面需要的安全權限使用了獨立的渲染進程進行頁面內容解析及渲染;在擴展和擴展所需的插件運行時,為需要不同權限的擴展和插件使用獨立的擴展或插件進程;瀏覽器還為瀏覽器提示信息的內部頁面分配了不同的進程。由于谷歌Chrome瀏覽器原生只支持Webkit (WebKit是蘋果Mac OS X系統引擎框架版本的名稱,主要用于Safari, Dashboard, Mail和其他一些Mac OS X程序內核),所以在用戶瀏覽不支持Webkit或者說需要IE (Trident) (IE Internet Explorer,互聯網探索器;Trident,又稱為MSHTML,為Internet Explorer的排版引擎 ...
【技術保護點】
一種用于多核瀏覽器的進程復用方法,包括:預設瀏覽器側的最大進程數;在瀏覽器側發起對網頁的瀏覽請求,在所述多個瀏覽器內核中確定一適配渲染該請求網頁的第一瀏覽器內核;判斷當前已有進程數已達到所述最大進程數;查找到所述已有進程中使用第一瀏覽器內核進行渲染的進程;核實所述查找到的進程的權限是否與打開所述網頁所需的權限一致;使用權限相一致的所述進程中的頁面線程打開所述網頁;如果判斷當前已有進程數未達到所述瀏覽器側最大進程數時,新建一個使用第一瀏覽器內核的進程,打開所述網頁。
【技術特征摘要】
1.一種用于多核瀏覽器的進程復用方法,包括 預設瀏覽器側的最大進程數; 在瀏覽器側發起對網頁的瀏覽請求,在所述多個瀏覽器內核中確定一適配渲染該請求網頁的第一瀏覽器內核; 判斷當前已有進程數已達到所述最大進程數; 查找到所述已有進程中使用第一瀏覽器內核進行渲染的進程; 核實所述查找到的進程的權限是否與打開所述網頁所需的權限一致; 使用權限相一致的所述進程中的頁面線程打開所述網頁; 如果判斷當前已有進程數未達到所述瀏覽器側最大進程數時,新建一個使用第一瀏覽器內核的進程,打開所述網頁。2.如權利要求1所述方法,其特征在于,所述在所述多個瀏覽器內核中確定一適配渲染該請求網頁的第一瀏覽器內核包括 基于被請求的網頁的網址URL,查詢在瀏覽器側的網址與瀏覽器渲染內核之間的映射表; 從所述的多個瀏覽器內核中確定與被請求的網頁的網址相適配的瀏覽器內核進行所述網頁的渲染。3.如權利要求1所述方法,其特征在于,所述預設瀏覽器側的瀏覽器最大進程數步驟,依據運行所述瀏覽器的本地計算設備的硬件資源狀況設定瀏覽器側的瀏覽器最大進程數。4.如權利要求3所述方法,其特征在于,所述硬件資源狀況包括CPU性能、或顯卡性能、或內存性能、或任何前述兩者或三者的組合、或由任何前述兩者或三者以預定規則得到的綜合性能指數。5.如權利要求1所述方法,其特征在于,所述核實查找到的進程的權限是否與打開所述網頁所需的權限一致步驟,包括分別枚舉各所述已有進程中使用第一瀏覽器內核進行渲染的進程,當被枚舉的所述進程的權限與打開所述網頁所需的權限一致時,使用所述進程中的頁面線程打開所述網頁。6.如權利要求1所述方法,其特征在于,所述核實查找到的進程的權限是否與打開所述網頁所需的權限一致步驟,包括對以下任一權限或任何其中若干權限的組合進行核實 后臺運行權限; 訪問書簽權限; 訪問 chrome://favicon 權限; 訪問上下文菜單權限; 訪問cookie權限; 訪問 chrome, experimental. * 接口權限; 訪問geolocation接口權限; 訪問歷史記錄權限; 訪問chrome, idle模塊提供的接口權限; 訪問chrome, management模塊提供的接口權限; 訪問HTML5 notifications接口支持權限; 訪問標簽頁權限;無限Web存儲能力權限。7.如權利要求1所述方法,其特征在于,所述使用權限相一致的所述進程中的頁面線程打開所述網頁步驟,包括如果所述第一瀏覽器內核為Chrome瀏覽器的內核,在所述使用權限相一致的進程的線程池中的各線程中對網頁的瀏覽請求進行排隊,逐一等待所述線程池中的由繁忙狀態轉為空閑狀態的線程打開所述網頁。8.如權利要求1所述方法,其特征在于,所述使用權限相一致的所述進程中的頁面線程打開所述網頁步驟,包括如果所述第一瀏覽器內核為Chrome瀏覽器的內核,在所述使用權限相一致的進程的線程池中的各線程都處于繁忙狀態時,則通知瀏覽器主進程查找其他已有瀏覽器進程,確定另一個瀏覽器內核類型及權限與打開所述新網頁所需瀏覽器內核類型及權限相一致的已有進程,打開所述網頁。9.如權利要求1所述方法,其特征在于,所述使用權限相一致的所述進程中的頁面線程打開所述網頁步驟,包括如果所述第一瀏覽器內核為IE內核,且所述進程中的各線程都處于繁忙狀態,則在所述進程中新建線程,打開所述網頁,并在所述新線程打開所述網頁后在被關閉時再銷毀所述該新建的線程。10.如權利要求1所述方法,其特征在于,所述核實查找到的進程的權限是否與打開所述網頁所需的權限一致步驟,進一步包括核實到被查找到的一瀏覽器進程中的各線程都處于繁忙狀態;通知瀏覽器的主進程去核實所述查找到的其他進程的權限是否與打開所述網頁所需的權限一致且所述進程中有處于空閑狀態的線程,以便在...
【專利技術屬性】
技術研發人員:曹龍,任寰,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。