国产精品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>

      頁(yè)面異步渲染方法及裝置與流程

      文檔序號(hào):11063355閱讀:581來(lái)源:國(guó)知局
      頁(yè)面異步渲染方法及裝置與制造工藝

      本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種頁(yè)面異步渲染方法及裝置。



      背景技術(shù):

      隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,越來(lái)越多的用戶通過(guò)網(wǎng)絡(luò)獲取信息。用戶可以在終端上安裝瀏覽器,然后通過(guò)瀏覽器向服務(wù)器請(qǐng)求信息,服務(wù)器向?yàn)g覽器發(fā)送請(qǐng)求的信息,瀏覽器打開(kāi)頁(yè)面展示接收到的信息,其中,瀏覽器打開(kāi)頁(yè)面的過(guò)程就是渲染頁(yè)面的過(guò)程。

      通常,一個(gè)頁(yè)面會(huì)包括多個(gè)區(qū)塊,區(qū)塊之間采用異步渲染的方式,并且一個(gè)區(qū)塊進(jìn)行渲染時(shí)可能需要依賴另一個(gè)區(qū)塊的區(qū)塊信息。如圖1所示為一個(gè)頁(yè)面的結(jié)構(gòu)示意圖,該頁(yè)面包括區(qū)塊A和區(qū)塊B,區(qū)塊B還包括一個(gè)子區(qū)塊,區(qū)塊B需要依賴區(qū)塊A的區(qū)塊信息完成對(duì)子區(qū)塊的渲染,下面說(shuō)明該頁(yè)面的異步渲染過(guò)程:區(qū)塊A和區(qū)塊B分別從服務(wù)器獲取各自的區(qū)塊信息并進(jìn)行渲染,區(qū)塊A將自身的區(qū)塊信息發(fā)送給區(qū)塊B,區(qū)塊B繼續(xù)根據(jù)區(qū)塊A的區(qū)塊信息對(duì)子區(qū)塊進(jìn)行渲染,從而完成整個(gè)頁(yè)面的渲染。為了及時(shí)獲取區(qū)塊A的區(qū)塊信息,區(qū)塊B需要定期輪詢區(qū)塊A,檢測(cè)到區(qū)塊A獲取區(qū)塊信息后,從區(qū)塊A獲取區(qū)塊A的區(qū)塊信息,然后根據(jù)區(qū)塊A的區(qū)塊信息完成渲染。

      上述頁(yè)面異步渲染方法中,區(qū)塊B需要定期輪詢區(qū)塊A來(lái)檢測(cè)區(qū)塊A是否接收到區(qū)塊信息,這就會(huì)過(guò)多消耗中央處理器(Central Processing Unit,CPU)資源,影響整個(gè)頁(yè)面渲染效率。



      技術(shù)實(shí)現(xiàn)要素:

      本申請(qǐng)實(shí)施例提供一種頁(yè)面異步渲染方法及裝置,用以解決相關(guān)技術(shù)中存在的過(guò)多消耗CPU資源,影響整個(gè)頁(yè)面渲染效率的問(wèn)題。

      根據(jù)本申請(qǐng)實(shí)施例,提供一種頁(yè)面異步渲染方法,包括:

      分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      保存接收到的區(qū)塊信息;

      監(jiān)控是否已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      若已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,則將所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      具體的,保存接收到的區(qū)塊信息,具體包括:

      確定數(shù)據(jù)變量中是否已保存接收到的區(qū)塊信息;

      若數(shù)據(jù)變量中未保存接收到的區(qū)塊信息,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新數(shù)量變量,并將接收到的區(qū)塊信息保存在所述數(shù)據(jù)變量中。

      具體的,監(jiān)控是否已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,具體包括:

      獲取所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      確定所述數(shù)量變量的數(shù)值是否等于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      若所述數(shù)量變量的數(shù)值等于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      若所述數(shù)量變量的數(shù)值小于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定未保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      具體的,將所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,具體包括:

      組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合;

      將所述區(qū)塊信息集合分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊。

      具體的,組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合,具體包括:

      獲取所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      隨機(jī)組合或者按照接收區(qū)塊信息的時(shí)間先后順序組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合。

      具體的,以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染,具體包括:

      以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊確定自身區(qū)塊是否完成渲染;

      對(duì)于已完成渲染的區(qū)塊,則忽略接收到的所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      對(duì)于未完成渲染的區(qū)塊,則接收所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從所述當(dāng) 前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      根據(jù)本申請(qǐng)實(shí)施例,還提供一種頁(yè)面異步渲染方法,包括:

      分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊;

      將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染。

      具體的,確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊,具體包括:

      獲取區(qū)塊信息與區(qū)塊的關(guān)聯(lián)關(guān)系表;

      從所述關(guān)聯(lián)關(guān)系表中查找包括每個(gè)區(qū)塊信息的表項(xiàng);

      從查找到的表項(xiàng)中獲取每個(gè)區(qū)塊信息對(duì)應(yīng)的區(qū)塊。

      根據(jù)本申請(qǐng)實(shí)施例,還提供一種頁(yè)面異步渲染裝置,包括:

      接收單元,用于分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      保存單元,用于保存接收到的區(qū)塊信息;

      監(jiān)控單元,用于監(jiān)控是否已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      發(fā)送單元,用于若已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,則將所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      具體的,所述保存單元,用于保存接收到的區(qū)塊信息,具體用于:

      確定數(shù)據(jù)變量中是否已保存接收到的區(qū)塊信息;

      若數(shù)據(jù)變量中未保存接收到的區(qū)塊信息,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新數(shù)量變量,并將接收到的區(qū)塊信息保存在所述數(shù)據(jù)變量中。

      具體的,所述監(jiān)控單元,用于監(jiān)控是否已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,具體用于:

      獲取所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      確定所述數(shù)量變量的數(shù)值是否等于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      若所述數(shù)量變量的數(shù)值等于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      若所述數(shù)量變量的數(shù)值小于所述當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定未保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      具體的,所述發(fā)送單元,用于將所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,具體用于:

      組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合;

      將所述區(qū)塊信息集合分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊。

      具體的,所述發(fā)送單元,用于組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合,具體用于:

      獲取所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      隨機(jī)組合或者按照接收區(qū)塊信息的時(shí)間先后順序組合所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到所述當(dāng)前頁(yè)面的區(qū)塊信息集合。

      具體的,所述發(fā)送單元,用于以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染,具體用于:

      以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊確定自身區(qū)塊是否完成渲染;

      對(duì)于已完成渲染的區(qū)塊,則忽略接收到的所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      對(duì)于未完成渲染的區(qū)塊,則接收所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      根據(jù)本申請(qǐng)實(shí)施例,還提供一種頁(yè)面異步渲染裝置,包括:

      接收單元,用于分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      確定單元,用于確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊;

      發(fā)送單元,用于將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染。

      具體的,所述確定單元,用于確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊,具體用于:

      獲取區(qū)塊信息與區(qū)塊的關(guān)聯(lián)關(guān)系表;

      從所述關(guān)聯(lián)關(guān)系表中查找包括每個(gè)區(qū)塊信息的表項(xiàng);

      從查找到的表項(xiàng)中獲取每個(gè)區(qū)塊信息對(duì)應(yīng)的區(qū)塊。

      本申請(qǐng)實(shí)施例提供一種頁(yè)面異步渲染方法及裝置,分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;保存接收到的區(qū)塊信息;監(jiān)控是否已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;若已保存所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,則將所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。該方案中,無(wú)需一個(gè)區(qū)塊對(duì)另一個(gè)區(qū)塊定期輪詢,而是直接將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,由于當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都能接收到當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從而確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      附圖說(shuō)明

      此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:

      圖1為相關(guān)技術(shù)中一個(gè)頁(yè)面的結(jié)構(gòu)示意圖;

      圖2為本申請(qǐng)實(shí)施例中一種頁(yè)面異步渲染方法的流程圖;

      圖3為本申請(qǐng)實(shí)施例中S22的流程圖;

      圖4為本申請(qǐng)實(shí)施例中S23的流程圖;

      圖5為本申請(qǐng)實(shí)施例中S24的流程圖;

      圖6為本申請(qǐng)實(shí)施例中另一種頁(yè)面異步渲染方法的流程圖;

      圖7為本申請(qǐng)實(shí)施例中再一種頁(yè)面異步渲染方法的流程圖;

      圖8為本申請(qǐng)實(shí)施例中一種頁(yè)面異步渲染裝置的結(jié)構(gòu)示意圖;

      圖9為本申請(qǐng)實(shí)施例中另一種頁(yè)面異步渲染裝置的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      為了使本申請(qǐng)所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合 附圖和實(shí)施例,對(duì)本申請(qǐng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本申請(qǐng),并不用于限定本申請(qǐng)。

      為了解決相關(guān)技術(shù)中存在的過(guò)多消耗CPU資源,影響整個(gè)頁(yè)面渲染效率的問(wèn)題,本申請(qǐng)實(shí)施例提供一種頁(yè)面異步渲染方法,該方法可以但不限于應(yīng)用在終端設(shè)置的瀏覽器中,該方法的流程如圖2所示,包括如下步驟:

      S21:分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的。

      終端上設(shè)置的瀏覽器可以同時(shí)打開(kāi)多個(gè)頁(yè)面,當(dāng)前正在顯示的頁(yè)面為當(dāng)前頁(yè)面。

      當(dāng)前頁(yè)面可能包括多個(gè)區(qū)塊,每個(gè)區(qū)塊可以單獨(dú)向服務(wù)器請(qǐng)求各自的區(qū)塊信息,每個(gè)區(qū)塊接收到服務(wù)器反饋的區(qū)塊信息后對(duì)自身區(qū)塊進(jìn)行渲染,并將接收到的區(qū)塊信息發(fā)送給瀏覽器。

      S22:保存接收到的區(qū)塊信息。

      瀏覽器接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,并進(jìn)行保存。

      S21和S22兩個(gè)步驟的實(shí)現(xiàn)方式可以靈活設(shè)置,可以是實(shí)時(shí)的,即接收到當(dāng)前頁(yè)面包括的一個(gè)區(qū)塊發(fā)送的區(qū)塊信息就會(huì)保存一個(gè);也可以是非實(shí)時(shí)的,即接收到設(shè)定個(gè)數(shù)的區(qū)塊信息后再保存。

      S23:監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      以設(shè)定周期監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,其中,設(shè)定周期可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如,設(shè)定為1秒、5秒、10秒等等。

      S21與S23沒(méi)有嚴(yán)格的先后順序,兩個(gè)步驟可以同時(shí)執(zhí)行,也可以先后執(zhí)行。

      S24:若已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,則將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      瀏覽器需要監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,若未保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,說(shuō)明瀏覽器未獲取到當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊進(jìn)行渲染所需要的區(qū)塊信息,還需要繼續(xù)執(zhí)行S23進(jìn)行監(jiān)控;若已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,說(shuō)明瀏覽器已獲取到當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊進(jìn)行渲染所需要的區(qū)塊信息,則可以將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊確定自身區(qū)塊是否完成渲染,對(duì)于在S21之前已完成渲染的區(qū)塊,則忽略接收到的當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;對(duì)于在S21之前未完成渲染的區(qū)塊, 則接收當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染,從而實(shí)現(xiàn)對(duì)整個(gè)頁(yè)面的異步渲染。

      該方案中,無(wú)需一個(gè)區(qū)塊對(duì)另一個(gè)區(qū)塊定期輪詢,而是直接將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,由于當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都能接收到當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從而確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      下面詳細(xì)介紹上述頁(yè)面異步渲染方法的每個(gè)步驟。

      具體的,上述S22中的保存接收到的區(qū)塊信息的實(shí)現(xiàn)過(guò)程,如圖3所示,具體包括以下步驟:

      S221:確定數(shù)據(jù)變量中是否已保存接收到的區(qū)塊信息。

      S222:若數(shù)據(jù)變量中未保存接收到的區(qū)塊信息,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新數(shù)量變量,并將接收到的區(qū)塊信息保存在數(shù)據(jù)變量中。

      可以設(shè)置兩個(gè)變量來(lái)保存接收到的區(qū)塊信息,即數(shù)量變量(data)和數(shù)據(jù)變量(state),data標(biāo)識(shí)接收到的區(qū)塊信息的數(shù)量,state保存接收到的區(qū)塊信息。

      在保存接收到的區(qū)塊信息時(shí),首先確定state中是否保存接收到的區(qū)塊信息,若未保存,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新data,并將接收到的區(qū)塊信息保存在state中,例如,在接收到區(qū)塊信息時(shí),若區(qū)塊信息的數(shù)量為1,則將data增加1,若區(qū)塊信息的數(shù)量為5,則將data增加5,同時(shí)將接收到的區(qū)塊信息保存在state中。

      當(dāng)然保存接收到的區(qū)塊信息的方式有很多種,其他方式這里不再贅述。

      具體的,上述S23中的監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息的實(shí)現(xiàn)過(guò)程,如圖4所示,具體包括以下步驟:

      S231:獲取當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量。

      當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量是一定的,獲取的方式有多種,既可以從服務(wù)器獲取,也可以從當(dāng)前頁(yè)面的屬性信息中獲取,還可以直接統(tǒng)計(jì)當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量。

      S232:確定數(shù)量變量的數(shù)值是否等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,若數(shù)量變量的數(shù)值等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則執(zhí)行S233;若數(shù)量變量的數(shù)值小于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則執(zhí)行S234。

      S233:確定已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      S234:確定未保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      區(qū)塊信息的保存方式不同時(shí),確定是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息的方式也可能不同,若采用數(shù)量變量標(biāo)識(shí)接收到的區(qū)塊信息的數(shù)量,可以根據(jù)數(shù)量變量的數(shù)值是否等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量來(lái)確定是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,若數(shù)量變量的數(shù)值等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;若數(shù)量變量的數(shù)值小于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定未保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      具體的,上述S24中的將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊的實(shí)現(xiàn)過(guò)程,如圖5所示,具體包括以下步驟:

      S241:組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合。

      將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊時(shí),可以首先組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合。具體實(shí)現(xiàn)過(guò)程為,首先獲取當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,然后隨機(jī)組合或者按照接收區(qū)塊信息的時(shí)間先后順序組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合。

      S242:將區(qū)塊信息集合分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊。

      將S241中得到的當(dāng)前頁(yè)面的區(qū)塊信息集合發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,從而便于當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從該區(qū)塊信息集合中獲取需要的區(qū)塊信息完成渲染,進(jìn)而保證當(dāng)前頁(yè)面順利完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      本申請(qǐng)實(shí)施例還提供另一種頁(yè)面異步渲染方法,該方法以圖1所示的頁(yè)面進(jìn)行異步渲染為例進(jìn)行說(shuō)明,該方法可以但不限于應(yīng)用在終端上設(shè)置的瀏覽器中,流程如圖6所示,具體包括以下步驟:

      S61:分別接收區(qū)塊A和區(qū)塊B發(fā)送的各自的區(qū)塊信息。

      區(qū)塊A和區(qū)塊B的區(qū)塊信息是區(qū)塊A和區(qū)塊B分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送給瀏覽器的。

      S62:確定state中是否已保存接收到的區(qū)塊信息;若state中未保存接收到的區(qū)塊信息,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新data,并將接收到的區(qū)塊信息保存在state中。

      在保存區(qū)塊A的區(qū)塊信息或者區(qū)塊B的區(qū)塊信息后,若data當(dāng)前的數(shù)值為0,則將data的數(shù)值更新為1;若data的數(shù)值為1,則將data的數(shù)值更新為2;并將接收到區(qū)塊信息保存在state中。

      S63:獲取當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量。

      由于當(dāng)前頁(yè)面包括兩個(gè)區(qū)塊,所以該數(shù)量為2。

      S64:確定數(shù)量變量的數(shù)值是否等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,若數(shù)量變量的數(shù)值等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則執(zhí)行S65;若數(shù)量變量的數(shù)值小于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則執(zhí)行S66。

      S65:確定已保存區(qū)塊A和區(qū)塊B的區(qū)塊信息,執(zhí)行S67。

      S66:確定未保存區(qū)塊A和區(qū)塊B的區(qū)塊信息,執(zhí)行S64。

      S67:獲取區(qū)塊A和區(qū)塊B的區(qū)塊信息,然后隨機(jī)組合區(qū)塊A和區(qū)塊B的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合。

      S68:將區(qū)塊信息集合分別發(fā)送給區(qū)塊A和區(qū)塊B,以使區(qū)塊A和區(qū)塊B從當(dāng)前頁(yè)面的區(qū)塊信息集合中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      由于區(qū)塊A僅根據(jù)自身的區(qū)塊信息就可以完成渲染,在S61之前區(qū)塊A已完成渲染,因此區(qū)塊A接收到區(qū)塊信息集合后無(wú)需再對(duì)自身區(qū)塊進(jìn)行渲染;而區(qū)塊B不僅需要自身的區(qū)塊信息,還需要區(qū)塊A的區(qū)塊信息,因此,在S61之前區(qū)塊B僅完成部分渲染,那么在接收到區(qū)塊信息集合后,還需要從區(qū)塊信息集合中獲取區(qū)塊A的區(qū)塊信息,并根據(jù)區(qū)塊A的區(qū)塊信息對(duì)子區(qū)塊進(jìn)行渲染,從而完成整個(gè)當(dāng)前頁(yè)面的渲染。

      該方案中,無(wú)需區(qū)塊B對(duì)定期輪詢區(qū)塊A,而是直接組合區(qū)塊A的區(qū)塊信息和區(qū)塊B的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合,然后將區(qū)塊信息集合發(fā)送給區(qū)塊A和區(qū)塊B,由于區(qū)塊A和區(qū)塊B都能接收到區(qū)塊信息集合,從而確保區(qū)塊A和區(qū)塊B都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊B無(wú)需定期輪詢區(qū)塊A,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供再一種頁(yè)面異步渲染方法,該方法可以但不限于應(yīng)用在終端設(shè)置的瀏覽器中,該方法的流程如圖7所示,具體包括以下步驟:

      S71:分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的。

      終端上設(shè)置的瀏覽器可以同時(shí)打開(kāi)多個(gè)頁(yè)面,當(dāng)前正在顯示的頁(yè)面為當(dāng)前頁(yè)面。

      當(dāng)前頁(yè)面可以包括很多區(qū)塊,每個(gè)區(qū)塊可以單獨(dú)向服務(wù)器請(qǐng)求各自的區(qū)塊信息,每個(gè)區(qū)塊接收到服務(wù)器反饋的區(qū)塊信息后對(duì)自身區(qū)塊進(jìn)行渲染,并將接收到的區(qū)塊信息發(fā)送給瀏覽器。

      S72:確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊。

      由于當(dāng)前頁(yè)面包括的區(qū)塊是一定的,可以預(yù)先建立區(qū)塊信息與區(qū)塊的關(guān)聯(lián)關(guān)系,在接 收到區(qū)塊信息后,獲取該關(guān)聯(lián)關(guān)系表,從該關(guān)聯(lián)關(guān)系表中查找包括每個(gè)區(qū)塊信息的表項(xiàng),從查找到的表項(xiàng)中獲取每個(gè)區(qū)塊信息對(duì)應(yīng)的區(qū)塊。參見(jiàn)圖1所示的頁(yè)面,可以關(guān)聯(lián)區(qū)塊A的區(qū)塊信息與區(qū)塊B,在接收到區(qū)塊A的區(qū)塊信息后,從而確定區(qū)塊A的區(qū)塊信息關(guān)聯(lián)的區(qū)塊為區(qū)塊B。

      S73:將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染。

      繼續(xù)沿用上例,區(qū)塊B接收到區(qū)塊A的區(qū)塊信息后,可以根據(jù)區(qū)塊A的區(qū)塊信息完成對(duì)自身區(qū)塊的渲染,進(jìn)而實(shí)現(xiàn)整個(gè)頁(yè)面的異步渲染。

      該方案中,無(wú)需一個(gè)區(qū)塊對(duì)另一個(gè)區(qū)塊定期輪詢,而是分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊,然后將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染,由于直接存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給對(duì)應(yīng)的區(qū)塊,也就確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都能獲取到完成渲染需要的所有區(qū)塊信息,從而確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供一種頁(yè)面異步渲染裝置,該裝置與如圖2所示的頁(yè)面渲染方法相對(duì)應(yīng),可以但不限于設(shè)置在終端中,該裝置的結(jié)構(gòu)如8圖所示,包括接收單元81、保存單元82、監(jiān)控單元83和發(fā)送單元84。其中:

      上述接收單元81,用于分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      上述保存單元82,用于保存接收到的區(qū)塊信息;

      上述監(jiān)控單元83,用于監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      上述發(fā)送單元84,用于若已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,則將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,以使當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      該方案中,無(wú)需一個(gè)區(qū)塊對(duì)另一個(gè)區(qū)塊定期輪詢,而是直接將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,由于當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都能接收到當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從而確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資 源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      具體的,上述保存單元82,用于保存接收到的區(qū)塊信息,具體用于:

      確定數(shù)據(jù)變量中是否已保存接收到的區(qū)塊信息;

      若數(shù)據(jù)變量中未保存接收到的區(qū)塊信息,則根據(jù)接收到的區(qū)塊信息的數(shù)量更新數(shù)量變量,并將接收到的區(qū)塊信息保存在數(shù)據(jù)變量中。

      具體的,上述監(jiān)控單元83,用于監(jiān)控是否已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,具體用于:

      獲取當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      確定數(shù)量變量的數(shù)值是否等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量;

      若數(shù)量變量的數(shù)值等于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定已保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      若數(shù)量變量的數(shù)值小于當(dāng)前頁(yè)面包括的區(qū)塊的數(shù)量,則確定未保存當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息。

      具體的,上述發(fā)送單元84,用于將當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊,具體用于:

      組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合;

      將區(qū)塊信息集合分別發(fā)送給當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊。

      具體的,上述發(fā)送單元84,用于組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合,具體用于:

      獲取當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      隨機(jī)組合或者按照接收區(qū)塊信息的時(shí)間先后順序組合當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,得到當(dāng)前頁(yè)面的區(qū)塊信息集合。

      具體的,上述發(fā)送單元84,用于以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染,具體用于:

      以使所述當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊確定自身區(qū)塊是否完成渲染;

      對(duì)于已完成渲染的區(qū)塊,則忽略接收到的所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息;

      對(duì)于未完成渲染的區(qū)塊,則接收所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息,從所述當(dāng)前頁(yè)面包括的所有區(qū)塊的區(qū)塊信息中獲取需要的區(qū)塊信息,并完成對(duì)自身區(qū)塊的渲染。

      基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供另一種頁(yè)面異步渲染裝置,該裝置與圖7所示的頁(yè)面渲染方法相對(duì)應(yīng),可以但不限于設(shè)置在終端中,該裝置的結(jié)構(gòu)如圖9所示,包括接收單元91、確定單元92和發(fā)送單元93,其中:

      上述接收單元91,用于分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,各個(gè)區(qū)塊的區(qū)塊信息是對(duì)應(yīng)區(qū)塊分別從服務(wù)器獲取的,并根據(jù)獲取的區(qū)塊信息對(duì)自身區(qū)塊進(jìn)行渲染后發(fā)送的;

      上述確定單元92,用于確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊;

      上述發(fā)送單元93,用于將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染。

      該方案中,無(wú)需一個(gè)區(qū)塊對(duì)另一個(gè)區(qū)塊定期輪詢,而是分別接收當(dāng)前頁(yè)面包括的各個(gè)區(qū)塊發(fā)送的各自的區(qū)塊信息,確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊,然后將存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給關(guān)聯(lián)的區(qū)塊,以使接收到區(qū)塊信息的區(qū)塊完成對(duì)自身區(qū)塊的渲染,由于直接存在關(guān)聯(lián)區(qū)塊的區(qū)塊信息發(fā)送給對(duì)應(yīng)的區(qū)塊,也就確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都能獲取到完成渲染需要的所有區(qū)塊信息,從而確保當(dāng)前頁(yè)面包括的每個(gè)區(qū)塊都可以順利完成渲染,進(jìn)而確保整個(gè)當(dāng)前頁(yè)面完成異步渲染,由于區(qū)塊無(wú)需定期輪詢,從而節(jié)省了CPU資源,提高了整個(gè)當(dāng)前頁(yè)面的渲染效率。

      具體的,上述確定單元92,用于確定接收到的每個(gè)區(qū)塊信息關(guān)聯(lián)的區(qū)塊,具體用于:

      獲取區(qū)塊信息與區(qū)塊的關(guān)聯(lián)關(guān)系表;

      從所述關(guān)聯(lián)關(guān)系表中查找包括每個(gè)區(qū)塊信息的表項(xiàng);

      從查找到的表項(xiàng)中獲取每個(gè)區(qū)塊信息對(duì)應(yīng)的區(qū)塊。

      上述說(shuō)明示出并描述了本申請(qǐng)的優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請(qǐng)并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本申請(qǐng)的精神和范圍,則都應(yīng)在本申請(qǐng)所附權(quán)利要求的保護(hù)范圍內(nèi)。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1