[發明專利]一種多線程異步渲染系統及方法有效
| 申請號: | 201410039871.4 | 申請日: | 2014-01-27 |
| 公開(公告)號: | CN103761317B | 公開(公告)日: | 2017-08-29 |
| 發明(設計)人: | 曾洋 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京德琦知識產權代理有限公司11018 | 代理人: | 閻敏,宋志強 |
| 地址: | 100080 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 異步 渲染 系統 方法 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種多線程異步渲染系統及方法。
背景技術
描述網頁頁面的文件包括頁面實例文件和頁面描述文件。其中,頁面實例文件是可擴展標記語言(XML,Extensible Markup Language)配置文件,用于描述頁面的區域的組成形成;一個頁面可對應多個布局,一個布局對應多個模塊。頁面描述文件用于描述頁面的組成部分,包括頭部(header)部分、主體內容區域(body)部分和底部(foot)部分。
由于瀏覽器無法直接識別頁面實例文件和頁面描述文件,因此需要渲染服務器首先將頁面實例文件轉換為瀏覽器能夠識別的文件形式,例如超文本標記語言(HTML,Hyper Text Mark-up Language)文件,這一轉換的過程稱為渲染;之后,渲染服務器將渲染完成的HTML文件發送至瀏覽器,由瀏覽器讀取HTML文件并顯示頁面。
目前渲染設備一般采用Velocity模板渲染引擎。Velocity模板渲染引擎采用單線程模式實現渲染,即按照布局的順序、依次對每個布局進行渲染,這種渲染方式耗時過長。
發明內容
本發明提供了一種多線程異步渲染系統,能夠多線程異步渲染頁面實例文件,節約渲染時間。
本發明還提供了一種多線程異步渲染方法,能夠多線程異步渲染頁面實例文件,節約渲染時間。
本發明的技術方案是這樣實現的:
一種多線程異步渲染系統,包括:
渲染引擎,用于解析頁面實例文件,將頁面實例文件劃分為多個頁面部分,針對每個頁面部分生成一個模擬標記,將所述模擬標記發送至瀏覽器設備;并針對每個頁面部分設定一個主進程鎖,多線程異步渲染所述每個頁面部分;當一個頁面部分渲染完畢后,釋放該頁面部分對應的主線程鎖,將渲染結果發送至瀏覽器設備;
瀏覽器設備,用于接收所述模擬標記;當接收到渲染結果時,查詢該渲染結果所對應的模擬標記,采用該渲染結果替換查找到的模擬標記,顯示該渲染結果。
上述系統中,渲染引擎還可以用于,加載頁面整體結構,將加載結果發送至瀏覽器設備;
瀏覽器設備還可以用于,顯示所述加載結果。
渲染引擎劃分的每個頁面部分可以為所述頁面實例文件中的一個布局。
渲染引擎針對每個布局生成的模擬標記中可以包含該布局的標識;并且,渲染引擎渲染每個布局時,該布局的渲染結果中可以包含該布局的標識;
瀏覽器設備查詢渲染結果所對應的模擬標記的方式可以為:當渲染結果中包含的布局標識與模擬標記中包含的布局標識相同時,查詢到該渲染結果與該模擬標記對應。
一種多線程異步渲染方法,包括:
解析頁面實例文件,將頁面實例文件劃分為多個頁面部分,針對每個頁面部分生成一個模擬標記,將所述模擬標記發送至瀏覽器設備;
針對每個頁面部分設定一個主進程鎖,多線程異步渲染所述每個頁面部分;當一個頁面部分渲染完畢后,釋放該頁面部分對應的主線程鎖,將渲染結果發送至瀏覽器設備;
瀏覽器設備接收到渲染結果時,查詢該渲染結果所對應的模擬標記,采用該渲染結果替換查找到的模擬標記,顯示該渲染結果。
上述方法中,解析頁面實例文件之前可以進一步包括:加載頁面整體結構,將加載結果發送至瀏覽器設備;瀏覽器設備顯示所述加載結果。
頁面實例文件劃分為多個頁面部分的方式可以為:將頁面實例文件中的每一個布局劃分為一個頁面部分。
針對每個布局生成的模擬標記中可以包含該布局的標識;
每個布局的渲染結果中可以包含該布局的標識;
查詢渲染結果所對應的模擬標記的方式可以為:當渲染結果中包含的布局標識與模擬標記中包含的布局標識相同時,查詢到該渲染結果與該模擬標記對應。
可見,本發明提出的多線程異步渲染系統和方法,能夠將頁面實例文件劃分為多個部分,對每個部分分別進行渲染及顯示,因此能夠節約渲染時間。
附圖說明
圖1為本發明提出的多線程異步渲染系統的結構示意圖;
圖2為本發明實施例一的實現流程圖;
圖3A為渲染顯示效果示意圖一;
圖3B為渲染顯示效果示意圖二。
具體實施方式
本發明能夠實現“模塊化”渲染,將頁面中的各個區域多線程異步地進行渲染,并不定時地分區呈現到瀏覽器,最大限度地釋放渲染引擎的渲染處理能力以及提升與瀏覽器的“交互”速度,顛覆了以往的頁面渲染技術模式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410039871.4/2.html,轉載請聲明來源鉆瓜專利網。





