瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法及裝置。所述方法包括:根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。本實(shí)施例提供的技術(shù)方案,能夠減少隨機(jī)讀取磁盤的尋道操作,避免缺頁(yè)現(xiàn)象的發(fā)生,優(yōu)化冷啟動(dòng)瀏覽器時(shí)的界面展現(xiàn)效果。
【專利說(shuō)明】瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]目前,在終端啟動(dòng)瀏覽器的方式可分為冷啟動(dòng)方式和熱啟動(dòng)方式。所謂瀏覽器冷啟動(dòng),即為在開(kāi)啟終端設(shè)備后首次啟動(dòng)瀏覽器;所謂瀏覽器熱啟動(dòng),即為在終端設(shè)備上啟動(dòng)并關(guān)閉瀏覽器后,再次啟動(dòng)瀏覽器。
[0003]在現(xiàn)有技術(shù)中,瀏覽器冷啟動(dòng)的過(guò)程,主要是通過(guò)磁盤I/O讀寫的方式讀取瀏覽器運(yùn)行的各種數(shù)據(jù)文件并打開(kāi),以支持瀏覽器的運(yùn)行功能。
[0004]但是,現(xiàn)有瀏覽器冷啟動(dòng)過(guò)程存在啟動(dòng)過(guò)程慢,耗費(fèi)資源多,用戶在看到瀏覽器窗口前需要較長(zhǎng)時(shí)間等待的缺陷。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法及裝置,以加快瀏覽器啟動(dòng)速度,減少資源浪費(fèi),優(yōu)化冷啟動(dòng)瀏覽器時(shí)的界面展現(xiàn)效果。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法,該方法包括:
[0007]根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;
[0008]根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
[0009]第二方面,本發(fā)明實(shí)施例還提供了一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置,該裝置包括:
[0010]磁盤讀取單元,用于根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;
[0011]內(nèi)存讀取單元,用于根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
[0012]本發(fā)明實(shí)施例通過(guò)對(duì)磁盤的連續(xù)讀取,預(yù)加載數(shù)據(jù)文件到內(nèi)存中,可以減少隨機(jī)讀取磁盤的尋道操作,從而能夠減少發(fā)生缺頁(yè)的現(xiàn)象,節(jié)省加載數(shù)據(jù)文件的時(shí)間,也減少了對(duì)磁盤讀取資源的占用,能改善瀏覽器冷啟動(dòng)速度,改善界面加載效果。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1是本發(fā)明實(shí)施例一提供一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法的流程示意圖;
[0014]圖2是本發(fā)明實(shí)施例二提供一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法的流程示意圖;
[0015]圖3是本發(fā)明實(shí)施例三提供的一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0016]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0017]實(shí)施例一
[0018]圖1是本發(fā)明實(shí)施例一提供一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法的流程示意圖,該方法可以由瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置來(lái)執(zhí)行,所述裝置由軟件實(shí)現(xiàn),可以作為瀏覽器程序的子程序,在瀏覽器主程序的調(diào)用下對(duì)冷啟動(dòng)過(guò)程進(jìn)行控制。在此情況下,所述子程序作為用于驅(qū)動(dòng)瀏覽器的程序,被內(nèi)嵌在瀏覽器程序中,即本實(shí)施例中的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法由瀏覽器執(zhí)行。當(dāng)然,所述裝置也可以為獨(dú)立于瀏覽器程序的輔助程序,例如作為操作系統(tǒng)中的程序,監(jiān)測(cè)瀏覽器的冷啟動(dòng)進(jìn)程,從而對(duì)冷啟動(dòng)過(guò)程進(jìn)行控制。在此情況下,所述輔助程序作為用于驅(qū)動(dòng)瀏覽器的程序,被置備在瀏覽器程序之外,即本實(shí)施例中的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法由獨(dú)立于瀏覽器之外的軟件產(chǎn)品執(zhí)行。參見(jiàn)圖1,該瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法具體包括如下操作:
[0019]110、根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中。
[0020]其中,瀏覽器的啟動(dòng)指示即為對(duì)瀏覽器進(jìn)行冷啟動(dòng)的指示,該操作指示例如可以是對(duì)終端界面顯示的瀏覽器圖標(biāo)的雙擊操作,也可以是其他調(diào)用或者打開(kāi)瀏覽器的指示。在本實(shí)施例中,瀏覽器的數(shù)據(jù)文件指的是用于啟動(dòng)瀏覽器所需的數(shù)據(jù)文件。通常,瀏覽器的數(shù)據(jù)文件包括用于生成瀏覽器內(nèi)核(即渲染引擎)的數(shù)據(jù)文件、用于構(gòu)建瀏覽器框架的數(shù)據(jù)文件、用于設(shè)置瀏覽器界面顯示屬性的數(shù)據(jù)文件、用于在瀏覽器界面中插入擴(kuò)展控件的數(shù)據(jù)文件、對(duì)應(yīng)于在瀏覽器界面中導(dǎo)航頁(yè)的數(shù)據(jù)文件,等等。例如,瀏覽器的數(shù)據(jù)文件可包括:Framework, dll、Browserlogic.dll、Firstskin.dll、libxml2.dll、libeay32.dll、objectfactory.dll 和 bdcommon.dll 等文件。
[0021]在本實(shí)施例中,瀏覽器所在終端設(shè)備的磁盤上預(yù)先存儲(chǔ)有瀏覽器的數(shù)據(jù)文件。其中,磁盤即為終端的硬盤存儲(chǔ)器;所述數(shù)據(jù)文件的數(shù)量可以是一個(gè)或多個(gè),并且數(shù)據(jù)文件可被切分為連續(xù)的多個(gè)分片數(shù)據(jù),分散存儲(chǔ)在磁盤的不同磁道位置上。
[0022]在獲取到瀏覽器的啟動(dòng)指示之后,可從所述起始存儲(chǔ)位置開(kāi)始,按照存儲(chǔ)順序依次讀取各個(gè)分片數(shù)據(jù),并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中,直到終止存儲(chǔ)位置為止。
[0023]舉例來(lái)說(shuō),在本實(shí)施例中可以根據(jù)數(shù)據(jù)存儲(chǔ)速度來(lái)設(shè)定每次讀取數(shù)據(jù)的容量大小,當(dāng)然也可以是預(yù)先設(shè)定的某個(gè)固定值,例如為50MB ;對(duì)讀取到的數(shù)據(jù)文件的保存過(guò)程可采用緩存機(jī)制。其中,數(shù)據(jù)存儲(chǔ)速度指的是在內(nèi)存中存儲(chǔ)瀏覽器的數(shù)據(jù)文件的速度。此處將讀取到的數(shù)據(jù)文件進(jìn)行保存,是為了方便后續(xù)熱啟動(dòng)瀏覽器時(shí),可以直接讀取內(nèi)存中所保存的瀏覽器的啟動(dòng)文件,而不用再次執(zhí)行順序讀取磁盤的操作。
[0024]在現(xiàn)有技術(shù)中,在接收到瀏覽器的啟動(dòng)指示后,會(huì)以間斷的方式讀取磁盤上存儲(chǔ)的瀏覽器的數(shù)據(jù)文件,并將其保存至內(nèi)存。其中,所述讀取過(guò)程具體是:如果在啟動(dòng)瀏覽器時(shí)讀取內(nèi)存數(shù)據(jù)發(fā)現(xiàn)存在缺頁(yè)(即內(nèi)存中未存儲(chǔ)有當(dāng)前啟動(dòng)瀏覽器所需的某個(gè)數(shù)據(jù)文件或某個(gè)數(shù)據(jù)文件中的部分?jǐn)?shù)據(jù))現(xiàn)象,則會(huì)通過(guò)磁盤尋道操作對(duì)磁盤進(jìn)行讀取操作,以獲取缺頁(yè)數(shù)據(jù),并將其加載到內(nèi)存中進(jìn)行數(shù)據(jù)處理。
[0025]因此,在內(nèi)存讀取數(shù)據(jù)時(shí)頻繁發(fā)生的缺頁(yè)現(xiàn)象將觸發(fā)多次的磁盤讀取,而每次的磁盤讀取需要進(jìn)行磁盤內(nèi)尋道操作,這樣,會(huì)使得瀏覽器的數(shù)據(jù)文件的加載過(guò)程并不是連續(xù)的,而是隨機(jī)跳動(dòng)的,后續(xù)對(duì)缺頁(yè)數(shù)據(jù)的尋道操作,會(huì)耗費(fèi)大量的時(shí)間和資源,造成浪費(fèi)。而在本實(shí)施例中,以順序讀取的方式,將瀏覽器的數(shù)據(jù)文件預(yù)先連續(xù)地保存至內(nèi)存中,以供后續(xù)使用,可以減少缺頁(yè)現(xiàn)象,因此也就避免了后續(xù)通過(guò)磁盤尋道來(lái)讀取缺頁(yè)數(shù)據(jù)的操作,節(jié)省了時(shí)間與資源。
[0026]舉例來(lái)說(shuō),從磁盤進(jìn)行數(shù)據(jù)的讀取操作可以在獲取啟動(dòng)指示之后立即執(zhí)行,也可以在從內(nèi)存中讀取數(shù)據(jù)時(shí)發(fā)生第一次缺頁(yè)的情況下被觸發(fā)執(zhí)行。
[0027]120、根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
[0028]在將瀏覽器的數(shù)據(jù)文件保存在內(nèi)存中之后,需要根據(jù)內(nèi)存中所存儲(chǔ)的這些數(shù)據(jù)文件來(lái)啟動(dòng)瀏覽器。
[0029]本發(fā)明實(shí)施例中,優(yōu)選是將瀏覽器啟動(dòng)過(guò)程劃分成至少兩個(gè)階段,按照每個(gè)階段對(duì)數(shù)據(jù)文件的需求,分階段讀取對(duì)應(yīng)的數(shù)據(jù)文件,并在讀取數(shù)據(jù)文件后立即執(zhí)行以呈現(xiàn)給用戶。
[0030]在現(xiàn)有技術(shù)中,采用“在將實(shí)現(xiàn)瀏覽器所需業(yè)務(wù)功能的所有數(shù)據(jù)文件均讀取后,再打開(kāi)瀏覽器界面,并運(yùn)行相關(guān)功能”的方案,會(huì)使得將瀏覽器渲染至終端界面的過(guò)程耗時(shí)較長(zhǎng)。例如,為增加用戶黏性,通常會(huì)將大量的第三方開(kāi)發(fā)者提供的業(yè)務(wù)功能耦合在瀏覽器的啟動(dòng)過(guò)程中,如果要待瀏覽器的全部數(shù)據(jù)文件加載完畢之后,才運(yùn)行啟動(dòng)階段,將瀏覽器呈現(xiàn)給用戶,則會(huì)導(dǎo)致瀏覽器的展示速度下降,需要用戶等待較長(zhǎng)時(shí)間才可看到瀏覽器框架。
[0031]本發(fā)明實(shí)施例優(yōu)選在根據(jù)內(nèi)存中所存儲(chǔ)的數(shù)據(jù)文件來(lái)啟動(dòng)瀏覽器時(shí),按啟動(dòng)階段的需求從內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。其中,所述需求可以是基于啟動(dòng)階段中各數(shù)據(jù)文件的必要的執(zhí)行順序、重要程度、功能分類和/或容量大小等因素來(lái)確定。其中,所述容量大小是對(duì)數(shù)據(jù)文件存儲(chǔ)量的計(jì)量大小,例如為1K、2M、或2G等。
[0032]舉例而言,如果分兩個(gè)階段按需加載瀏覽器的情況,則在第一啟動(dòng)階段根據(jù)需求所查找的數(shù)據(jù)文件可至少包括加載瀏覽器框架和導(dǎo)航頁(yè)所需的全部數(shù)據(jù)文件(即為啟動(dòng)瀏覽器所必需的數(shù)據(jù)文件),例如可以包括內(nèi)存中存儲(chǔ)的用于生成瀏覽器內(nèi)核的數(shù)據(jù)文件、用于構(gòu)建瀏覽器框架的數(shù)據(jù)文件和對(duì)應(yīng)于在瀏覽器界面中導(dǎo)航頁(yè)的數(shù)據(jù)文件。優(yōu)先運(yùn)行這些數(shù)據(jù)文件來(lái)實(shí)現(xiàn)對(duì)瀏覽器的初步啟動(dòng)。在第二啟動(dòng)階段根據(jù)需求所查找的數(shù)據(jù)文件包括對(duì)第一啟動(dòng)階段構(gòu)建的瀏覽器進(jìn)行優(yōu)化所需的部分或全部數(shù)據(jù)文件(即為啟動(dòng)瀏覽器非必需的數(shù)據(jù)文件),例如可具體包括用于設(shè)置瀏覽器界面顯示屬性的數(shù)據(jù)文件以及用于在瀏覽器界面中插入擴(kuò)展控件的數(shù)據(jù)文件和/或其他數(shù)據(jù)文件。第二啟動(dòng)階段的功能需求可以是:rich edit延遲加載,靜態(tài)鏈接crt、dll合并,object factory信息字節(jié)重排,精簡(jiǎn)資源,皮膚包分類,zip資源按需解壓縮,圖片壓縮,去沙箱,菜單精簡(jiǎn)中的任意種組合。運(yùn)行在第二啟動(dòng)階段根據(jù)需求得到的數(shù)據(jù)文件可對(duì)之前初步啟動(dòng)后的瀏覽器進(jìn)行優(yōu)化。
[0033]本實(shí)施例提供的技術(shù)方案,通過(guò)對(duì)磁盤的連續(xù)讀取,預(yù)加載數(shù)據(jù)文件到內(nèi)存中,可以減少隨機(jī)讀取磁盤的尋道操作,從而能夠減少發(fā)生缺頁(yè)的現(xiàn)象,節(jié)省加載數(shù)據(jù)文件的時(shí)間,也減少了對(duì)磁盤讀取資源的占用,能改善瀏覽器冷啟動(dòng)速度,改善界面加載效果。
[0034]實(shí)施例二
[0035]圖2是本發(fā)明實(shí)施例二提供一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法的流程示意圖。本實(shí)施例在上述實(shí)施例一的基礎(chǔ)上,提供一種優(yōu)選實(shí)施例。本實(shí)施例參見(jiàn)圖2,該瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法包括如下操作:
[0036]210、根據(jù)獲取到的瀏覽器的啟動(dòng)指示,遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件,將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;
[0037]220、基于各啟動(dòng)階段的順序,根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)數(shù)據(jù)文件的需求,從內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段;
[0038]230、在根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段之后,將下一個(gè)啟動(dòng)階段更新為當(dāng)前啟動(dòng)階段;返回執(zhí)行操作220,直到遍歷完畢所有的啟動(dòng)階段。
[0039]上述操作210對(duì)應(yīng)于實(shí)施例一中的操作110,上述操作220和操作230對(duì)應(yīng)于實(shí)施例一中的操作120。
[0040]其中,瀏覽器的數(shù)據(jù)文件包括至少一個(gè)啟動(dòng)階段的數(shù)據(jù)文件。在本實(shí)施例中,可預(yù)先按照用戶需求以及各個(gè)數(shù)據(jù)文件之間必要的先后順序,將瀏覽器的啟動(dòng)階段劃分為多個(gè)啟動(dòng)階段。用戶需求可以是優(yōu)先呈現(xiàn)瀏覽器框架。優(yōu)選的,瀏覽器的啟動(dòng)階段至少分為框架啟動(dòng)階段和頁(yè)面啟動(dòng)階段。
[0041]所謂框架啟動(dòng)階段指的是瀏覽器框架的構(gòu)建與呈現(xiàn)階段;所謂頁(yè)面啟動(dòng)階段指的是在所呈現(xiàn)的瀏覽器框架中加載導(dǎo)航頁(yè)面的階段。所謂瀏覽器框架指的是瀏覽器中除插件、導(dǎo)航頁(yè)面和應(yīng)用附件之外的部分。在瀏覽器還包括各種插件和應(yīng)用附件的情況下,還可進(jìn)一步增加瀏覽器的優(yōu)化啟動(dòng)階段,該啟動(dòng)階段用于為已呈現(xiàn)的瀏覽器增加插件功能和應(yīng)用功能。其中,應(yīng)用附件指的是在瀏覽器中添加的用于實(shí)現(xiàn)特定業(yè)務(wù)的擴(kuò)展項(xiàng),例如位于瀏覽器界面中地址欄下面的截圖、游戲、翻譯、網(wǎng)銀等應(yīng)用??蚣軉?dòng)階段優(yōu)先于頁(yè)面啟動(dòng)階段,頁(yè)面啟動(dòng)階段優(yōu)先于優(yōu)化啟動(dòng)階段。
[0042]所謂遍歷瀏覽器的各啟動(dòng)階段,是指依次對(duì)所有啟動(dòng)階段中的每個(gè)啟動(dòng)階段均做一次且僅做一次訪問(wèn)。當(dāng)前被訪問(wèn)到的啟動(dòng)階段即為當(dāng)前遍歷到的啟動(dòng)階段。
[0043]在本實(shí)施例中,可預(yù)先將所有啟動(dòng)階段的數(shù)據(jù)文件存儲(chǔ)在磁盤的對(duì)應(yīng)磁道上,并記錄各啟動(dòng)階段的數(shù)據(jù)文件在磁盤上的存放位置。在獲取到瀏覽器的啟動(dòng)指示之后,遍歷瀏覽器的各啟動(dòng)階段,根據(jù)預(yù)先存儲(chǔ)的記錄信息,確定當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的起始位置,然后從該起始位置開(kāi)始順序讀取該啟動(dòng)階段的數(shù)據(jù)文件。
[0044]需要說(shuō)明的是,可以創(chuàng)建一個(gè)數(shù)據(jù)文件讀取線程,來(lái)執(zhí)行對(duì)各啟動(dòng)階段的數(shù)據(jù)文件的讀取操作;也可創(chuàng)建多個(gè)數(shù)據(jù)文件讀取線程,以并行的方式同時(shí)從磁盤讀取所有啟動(dòng)階段的數(shù)據(jù)文件。例如,可以為各啟動(dòng)階段分別創(chuàng)建一個(gè)數(shù)據(jù)文件讀取線程,然后同時(shí)啟動(dòng)這些線程,指示每個(gè)線程執(zhí)行對(duì)其相應(yīng)啟動(dòng)階段的數(shù)據(jù)文件的讀取操作。
[0045]優(yōu)選的,遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件,可具體包括:通過(guò)啟動(dòng)所創(chuàng)建的至少一個(gè)數(shù)據(jù)文件讀取線程,以并行處理的方式從瀏覽器的各啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取相應(yīng)啟動(dòng)階段的數(shù)據(jù)文件。
[0046]進(jìn)一步的,可以是待遍歷完畢瀏覽器的所有啟動(dòng)階段,并將讀取到的對(duì)應(yīng)于所有啟動(dòng)階段的數(shù)據(jù)文件保存至內(nèi)存之后,再根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)瀏覽器的數(shù)據(jù)文件的需求,從內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。為提高瀏覽器的加載速度,在最先要運(yùn)行的啟動(dòng)階段的數(shù)據(jù)文件已被全部保存在內(nèi)存當(dāng)中時(shí),可立即根據(jù)該數(shù)據(jù)文件運(yùn)行其相應(yīng)的啟動(dòng)過(guò)程;之后,在下一個(gè)要運(yùn)行的啟動(dòng)階段的數(shù)據(jù)文件已被全部保存在內(nèi)存當(dāng)中時(shí),可立即根據(jù)該數(shù)據(jù)文件運(yùn)行其相應(yīng)的啟動(dòng)過(guò)程;依次類推。
[0047]本實(shí)施例在根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)數(shù)據(jù)文件的需求,從內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件的基礎(chǔ)上,進(jìn)一步根據(jù)所需求的數(shù)據(jù)文件分階段來(lái)啟動(dòng)瀏覽器。例如可優(yōu)選啟動(dòng)比較重要的瀏覽器框架,而后才啟動(dòng)對(duì)瀏覽器中導(dǎo)航頁(yè)面的加載等。這樣,可以使得在瀏覽器并沒(méi)完全啟動(dòng)完畢之前,便可提供瀏覽器框架給用戶,加快瀏覽器在終端界面上的顯示過(guò)程。本實(shí)施例提供的技術(shù)方案,將瀏覽器的數(shù)據(jù)文件劃分為至少一個(gè)啟動(dòng)階段的數(shù)據(jù)文件,通過(guò)對(duì)磁盤的連續(xù)讀取,預(yù)加載各個(gè)啟動(dòng)階段的數(shù)據(jù)文件到內(nèi)存中,可以減少隨機(jī)讀取磁盤的尋道操作,還能夠減少發(fā)生缺頁(yè)的現(xiàn)象,從而節(jié)省加載數(shù)據(jù)文件的時(shí)間;并且,將瀏覽器啟動(dòng)劃分為多個(gè)階段,順序啟動(dòng),使得用戶不必等待全部數(shù)據(jù)文件加載完成即可看到打開(kāi)的瀏覽器框架,改善用戶體驗(yàn)。
[0048]實(shí)施例三
[0049]圖3是本發(fā)明實(shí)施例三提供的一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。參見(jiàn)圖3,該實(shí)現(xiàn)裝置的具體結(jié)構(gòu)如下:
[0050]磁盤讀取單元310,用于根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;
[0051]內(nèi)存讀取單元320,用于根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
[0052]進(jìn)一步的,所述瀏覽器的數(shù)據(jù)文件包括至少一個(gè)啟動(dòng)階段的數(shù)據(jù)文件;
[0053]所述磁盤讀取單元310,包括:
[0054]文件查找子單元3101,用于根據(jù)獲取到的瀏覽器的啟動(dòng)指示,遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件;
[0055]文件保存子單元3102,用于將讀取到的數(shù)據(jù)文件保存在內(nèi)存中;
[0056]則所述內(nèi)存讀取單元320,具體用于:
[0057]基于各啟動(dòng)階段的順序,根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段;
[0058]在根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段之后,將下一個(gè)啟動(dòng)階段更新為當(dāng)前啟動(dòng)階段,重復(fù)執(zhí)行所述從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段。
[0059]進(jìn)一步的,所述文件查找子單元3101,具體用于:
[0060]根據(jù)獲取到的瀏覽器的啟動(dòng)指示,通過(guò)啟動(dòng)所創(chuàng)建的至少一個(gè)數(shù)據(jù)文件讀取線程,以并行處理的方式從瀏覽器的各啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取相應(yīng)啟動(dòng)階段的數(shù)據(jù)文件。
[0061]進(jìn)一步的,所述瀏覽器的啟動(dòng)階段至少分為框架啟動(dòng)階段和頁(yè)面啟動(dòng)階段。
[0062]上述產(chǎn)品可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
[0063]注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【權(quán)利要求】
1.一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法,其特征在于,包括: 根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中; 根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
2.根據(jù)權(quán)利要求1所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法,其特征在于,所述瀏覽器的數(shù)據(jù)文件包括至少一個(gè)啟動(dòng)階段的數(shù)據(jù)文件; 從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,包括: 遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件; 則根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件,包括: 基于各啟動(dòng)階段的順序,根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段; 在根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段之后,將下一個(gè)啟動(dòng)階段更新為當(dāng)前啟動(dòng)階段,重復(fù)執(zhí)行所述從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段。
3.根據(jù)權(quán)利要求2所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法,其特征在于,遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件,包括: 通過(guò)啟動(dòng)所創(chuàng)建的至少一個(gè)數(shù)據(jù)文件讀取線程,以并行處理的方式從瀏覽器的各啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取相應(yīng)啟動(dòng)階段的數(shù)據(jù)文件。
4.根據(jù)權(quán)利要求2所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)方法,其特征在于,所述瀏覽器的啟動(dòng)階段至少分為框架啟動(dòng)階段和頁(yè)面啟動(dòng)階段。
5.一種瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置,其特征在于,包括: 磁盤讀取單元,用于根據(jù)獲取到的瀏覽器的啟動(dòng)指示,從瀏覽器的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取數(shù)據(jù)文件,并將讀取到的數(shù)據(jù)文件保存在內(nèi)存中; 內(nèi)存讀取單元,用于根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)所述數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取對(duì)應(yīng)的數(shù)據(jù)文件。
6.根據(jù)權(quán)利要求5所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置,其特征在于,所述瀏覽器的數(shù)據(jù)文件包括至少一個(gè)啟動(dòng)階段的數(shù)據(jù)文件; 所述磁盤讀取單元,包括: 文件查找子單元,用于根據(jù)獲取到的瀏覽器的啟動(dòng)指示,遍歷瀏覽器的各啟動(dòng)階段,從當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取當(dāng)前遍歷到的啟動(dòng)階段的數(shù)據(jù)文件; 文件保存子單元,用于將讀取到的數(shù)據(jù)文件保存在內(nèi)存中; 則所述內(nèi)存讀取單元,具體用于: 基于各啟動(dòng)階段的順序,根據(jù)瀏覽器啟動(dòng)過(guò)程對(duì)數(shù)據(jù)文件的需求,從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段; 在根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段之后,將下一個(gè)啟動(dòng)階段更新為當(dāng)前啟動(dòng)階段,重復(fù)執(zhí)行所述從所述內(nèi)存中查找并讀取當(dāng)前啟動(dòng)階段的數(shù)據(jù)文件,根據(jù)所讀取的數(shù)據(jù)文件運(yùn)行當(dāng)前啟動(dòng)階段。
7.根據(jù)權(quán)利要求6所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置,其特征在于,所述文件查找子單元,具體用于: 根據(jù)獲取到的瀏覽器的啟動(dòng)指示,通過(guò)啟動(dòng)所創(chuàng)建的至少一個(gè)數(shù)據(jù)文件讀取線程,以并行處理的方式從瀏覽器的各啟動(dòng)階段的數(shù)據(jù)文件在磁盤中的存儲(chǔ)位置開(kāi)始,順序讀取相應(yīng)啟動(dòng)階段的數(shù)據(jù)文件。
8.根據(jù)權(quán)利要求6所述的瀏覽器冷啟動(dòng)的實(shí)現(xiàn)裝置,其特征在于,所述瀏覽器的啟動(dòng)階段至少分為框架啟動(dòng)階段和頁(yè)面啟動(dòng)階段。
【文檔編號(hào)】G06F9/445GK104199684SQ201410397839
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年8月13日 優(yōu)先權(quán)日:2014年8月13日
【發(fā)明者】錢毅 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司