專利名稱:一種數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),特別涉及一種數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)。
背景技術(shù):
對象輪播(ObjectCarousel,0C)是數(shù)字電視系統(tǒng)中基于DSM_CC(DigitalStorage Media-Command&Control)協(xié)議的,需要對 DSM-CC U-U(User toUser)對象(目錄、文件、 流、流事件)進(jìn)行周期性廣播的數(shù)據(jù)廣播業(yè)務(wù)。0C主要用于下載靜態(tài)數(shù)據(jù)文件,支持 DVB-J(Digital Video Broadcasting-Java) > DVB-H(Digital Video Broadcasting-HTML) 應(yīng)用。基本應(yīng)用有陽光政務(wù),天氣預(yù)報(bào),出行旅游,股票,游戲等。一個(gè)典型的0C應(yīng)用系統(tǒng)中包括0C前端(即信息發(fā)布端,下文中簡稱為前端)和 0C終端(即信息接收端或信息請求端,下文中簡稱為終端)兩部分,當(dāng)0C應(yīng)用系統(tǒng)播發(fā)網(wǎng) 頁數(shù)據(jù)時(shí),現(xiàn)有的前端多采用將網(wǎng)頁數(shù)據(jù)按文件目錄進(jìn)行打包并發(fā)布的方式,所述網(wǎng)頁數(shù) 據(jù)在前端的存儲(chǔ)方式如圖1所示此時(shí),根目錄中包含主頁需要的所有文件和主頁下所有二級頁面對應(yīng)的目錄,且 每個(gè)二級頁面對應(yīng)于一個(gè)目錄;同時(shí),與根目錄類似,每個(gè)二級頁面對應(yīng)的目錄中包含該二 級頁面需要的所有文件和該二級頁面下所有三級頁面對應(yīng)的目錄,且每個(gè)三級頁面對應(yīng)于 一個(gè)目錄;進(jìn)一步地,每個(gè)三級頁面對應(yīng)的目錄中,包含該三級頁面需要的所有文件和該三 級頁面下所有四級頁面對應(yīng)的目錄;如此類推,視網(wǎng)頁層級的數(shù)量,對于比較復(fù)雜的大型網(wǎng) 站,可能包含有第四、第五級甚至更多級頁面,相應(yīng)地,各級頁面對應(yīng)的目錄的組成結(jié)構(gòu)均 與前文所述的根目錄或二、三級頁面對應(yīng)的目錄類似,不再一一贅述。在這種數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)下,所述將網(wǎng)頁數(shù)據(jù)按文件目錄進(jìn)行打包并發(fā)布的方式為 將一個(gè)文件目錄下的所有文件打包在同一個(gè)數(shù)據(jù)包當(dāng)中,或者如果一個(gè)文件目錄下的所有 文件較多無法容納在一個(gè)數(shù)據(jù)包中時(shí),將所述文件打包在連續(xù)的多個(gè)數(shù)據(jù)包當(dāng)中。且在該 過程中,將該目錄的目錄結(jié)構(gòu)打包為目錄對象,而將該目錄下的具體文件數(shù)據(jù)打包為文件 對象,容易理解,此時(shí)的目錄對象和文件對象表示的是兩種不同的數(shù)據(jù)類型,所述的目錄對 象相當(dāng)于該目錄的索引,而文件對象則是該目錄中實(shí)際包含的數(shù)據(jù)內(nèi)容。按照這種方式將所有網(wǎng)頁數(shù)據(jù)打包成數(shù)據(jù)包之后向終端進(jìn)行發(fā)送,終端按照包序 號從小到大的順序依次接收各個(gè)數(shù)據(jù)包中的目錄對象,直到建立所述網(wǎng)頁的完整目錄結(jié) 構(gòu);之后,根據(jù)瀏覽器所要加載的網(wǎng)頁,接收到當(dāng)前頁面所需的數(shù)據(jù)后,顯示成為頁面,之后 進(jìn)一步接收當(dāng)前頁面下的所有下一級頁面需要的文件數(shù)據(jù)并保存在終端的緩存當(dāng)中。例如 在圖1中,如果打開的當(dāng)前頁面為二級目錄tv_msdt所對應(yīng)的二級頁面,則瀏覽器打開該頁 面之后,終端進(jìn)一步接收該頁面下的所有下一級頁面需要的數(shù)據(jù)并進(jìn)行緩存——即接收并 緩存圖1中三級目錄tv_cc和tv_yc所對應(yīng)的頁面數(shù)據(jù),而不包括所述三級目錄下的任何 一個(gè)四級目錄中的頁面數(shù)據(jù)(例如三級目錄tv_cc中的四級目錄tv_st下的頁面數(shù)據(jù))。同時(shí),由于實(shí)際應(yīng)用中的終端緩存大小有限,因此一般采用優(yōu)先替換最久不使用 數(shù)據(jù)的更新策略——即,當(dāng)緩存存滿之后,緩存中閑置時(shí)間最長的數(shù)據(jù)在需要進(jìn)行緩存更
6新或有新的緩存數(shù)據(jù)進(jìn)入時(shí),將被最先清除或替換。可見,上述網(wǎng)頁數(shù)據(jù)在前端的存儲(chǔ)方式、以及將其傳送到終端時(shí)的打包發(fā)送方式 簡單易行,具有良好的通用性。但是這種方法也有一定的局限性首先,終端在啟動(dòng)0C并且已經(jīng)獲取到所有的服務(wù)器起始消息和下載指示消息后 時(shí),需要首先建立該網(wǎng)頁完整的目錄結(jié)構(gòu)。這是因?yàn)闉g覽器是通過頁面文件的名稱在0C終 端中查找該文件以進(jìn)行頁面顯示的,而所述文件所在的數(shù)據(jù)包并不直接包含所述文件的名 稱,所有的頁面文件的名稱都存儲(chǔ)于該文件所在數(shù)據(jù)包中的目錄對象數(shù)據(jù)中,而采用目前 的打包方式,0C終端在下載數(shù)據(jù)之前只知道根目錄所在的數(shù)據(jù)包(大多數(shù)情況下前端打包 數(shù)據(jù)都含有多級目錄),而根目錄以下的各級子目錄的目錄對象卻分散在各級子目錄打包 所形成的數(shù)據(jù)包中,因此要建立完整的目錄樹必須先請求根目錄對象所在的數(shù)據(jù)包,再依 次請求從下載指示消息中解析出的各級子目錄對應(yīng)的包序號,以通過這些數(shù)據(jù)包獲取相應(yīng) 的子目錄對象,直至最終建立完整的目錄樹結(jié)構(gòu)為止??梢?,這種通過盲檢方式建立目錄樹 的方法精確度不高且費(fèi)時(shí)費(fèi)力。另一方面,除了層級較高的主頁和二級網(wǎng)頁以外,通常的三、四級及以下層級的頁 面內(nèi)容都具有一定的關(guān)聯(lián)性或近似性,在網(wǎng)頁設(shè)計(jì)的時(shí)候一般也會(huì)包含一些相同或相似的 背景圖片等文件,從而現(xiàn)有技術(shù)中將每個(gè)頁面的所有文件都單獨(dú)保存在該頁面對應(yīng)的目錄 當(dāng)中的方式,就會(huì)使得這些具有關(guān)聯(lián)性或近似性的頁面所對應(yīng)的目錄中包含有一些重復(fù)的 文件,不僅無謂占用了前端的存儲(chǔ)空間,還會(huì)使得終端在請求數(shù)據(jù)時(shí)反復(fù)接收到重復(fù)數(shù)據(jù), 從而實(shí)質(zhì)上降低了終端的有效下載速度。
發(fā)明內(nèi)容
本發(fā)明提供了一種數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng),使得終端能夠更加快速獲取完整的目 錄結(jié)構(gòu)和提高網(wǎng)頁數(shù)據(jù)傳輸?shù)挠行?。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種數(shù)據(jù)傳輸?shù)姆椒?,用于由前端和終端組成的對象輪播系統(tǒng),所述前端采用目 錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),并根據(jù)終端的請求將所請求部分的數(shù)據(jù)打包傳輸 給終端;所述前端將同屬于一個(gè)二級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相 同部分的文件數(shù)據(jù)作為共用文件統(tǒng)一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中,當(dāng)所述對象 輪播系統(tǒng)進(jìn)入對象輪播模式后,該方法包括終端向前端請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹 結(jié)構(gòu);確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前端請求獲取所述當(dāng)前請求打開 的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所 述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的 文件數(shù)據(jù);之后等待瀏覽器的下一次請求。一種數(shù)據(jù)傳輸?shù)南到y(tǒng),包括用于對象輪播的前端和終端所述前端,采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),且將同屬于一個(gè)二級 頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作為共用文件統(tǒng) 一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中,當(dāng)所述系統(tǒng)進(jìn)入對象輪播模式后,根據(jù)終端的請求將所請求部分的數(shù)據(jù)打包傳輸給終端;所述終端,向前端請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的 目錄樹結(jié)構(gòu);響應(yīng)瀏覽器的請求,確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前端請求 獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存 所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到 的所述下級頁面對應(yīng)的文件數(shù)據(jù);之后等待瀏覽器的下一次請求。由上述的技術(shù)方案可見,本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng),終端通過 識別和獲取前端設(shè)置的目錄樹類型的數(shù)據(jù)包,能夠快速獲取和建立完整的目錄樹結(jié)構(gòu),并 提高后續(xù)數(shù)據(jù)請求的準(zhǔn)確性和有效性;同時(shí),前端通過將同屬于一個(gè)二級頁面的所有三級 及三級以下頁面對應(yīng)的共用數(shù)據(jù)保存在所述二級頁面對應(yīng)的二級目錄中,能夠避免該二級 頁面下的各三級及以下頁面對應(yīng)的三級目錄中分別保存所述的共用數(shù)據(jù),從而減小前端保 存網(wǎng)頁數(shù)據(jù)時(shí)占用的存儲(chǔ)空間,避免了終端在請求數(shù)據(jù)時(shí)反復(fù)接收到這些重復(fù)數(shù)據(jù),因此 提高了終端的有效下載速度。
圖1為現(xiàn)有技術(shù)中網(wǎng)頁數(shù)據(jù)在前端的存儲(chǔ)方式的示意圖;圖2為本發(fā)明實(shí)施例中網(wǎng)頁數(shù)據(jù)在前端的存儲(chǔ)方式的示意圖;圖3為本發(fā)明實(shí)施例中數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒淌疽鈭D;圖4為本發(fā)明實(shí)施例中數(shù)據(jù)傳輸?shù)南到y(tǒng)的組成結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例, 對本發(fā)明進(jìn)一步詳細(xì)說明。首先,本發(fā)明對網(wǎng)頁數(shù)據(jù)在前端的存儲(chǔ)方式進(jìn)行修改,修改后的網(wǎng)頁數(shù)據(jù)存儲(chǔ)方 式如圖2所示此時(shí),根目錄中包含主頁需要的所有文件和主頁下所有二級頁面對應(yīng)的目錄,且 每個(gè)二級頁面對應(yīng)于一個(gè)目錄,這部分與現(xiàn)有技術(shù)相同;接下來,對于每個(gè)二級頁面對應(yīng)的 目錄,該目錄中則包含該二級頁面需要的所有文件、該二級頁面下所有下級頁面(比如三 級、四級或者更多下級頁面)的背景文件,以及該二級頁面下所有三級頁面對應(yīng)的目錄;再 接下來,每個(gè)三級頁面對應(yīng)的目錄中,包含該三級頁面需要的除該級頁面的背景文件以外 的所有文件,以及該級頁面下所有四級頁面對應(yīng)的目錄,視網(wǎng)頁層級的數(shù)量,接下來的各級 網(wǎng)頁均如此類推。即,所述修改后的網(wǎng)頁數(shù)據(jù)存儲(chǔ)方式與現(xiàn)有技術(shù)的差別在于現(xiàn)有技術(shù) 中,一個(gè)二級頁面以下的每個(gè)下級頁面均對應(yīng)于一個(gè)唯一的目錄,且該下級頁面對應(yīng)的全 部文件數(shù)據(jù)都保存在該目錄當(dāng)中;而本發(fā)明實(shí)施例中,則將同屬于一個(gè)二級頁面的所有三 級及三級以下頁面的文件數(shù)據(jù)中的背景文件統(tǒng)一保存在該二級頁面對應(yīng)的目錄(即保存 在二級目錄)當(dāng)中,而不是分別保存在各級頁面所對應(yīng)的目錄當(dāng)中。以圖2為例,圖2為采用本發(fā)明實(shí)施例的方法對圖1所示的網(wǎng)頁數(shù)據(jù)在前端進(jìn)行 保存的數(shù)據(jù)結(jié)構(gòu)示意圖,在圖1中,對于二級目錄tv_msdt,該目錄中包含tv_cc和tv_yc兩 個(gè)三級目錄,且三級目錄tv_cc中進(jìn)一步包含一個(gè)四級目錄tv_st ;假設(shè)所述的tv_CC、tv_yc和tv_cc中均包含有相同的背景文件tm_bg. gif,當(dāng)采用圖1所示的現(xiàn)有技術(shù)的網(wǎng)頁數(shù) 據(jù)存儲(chǔ)方式時(shí),在三級目錄tv_CC、tv_yC以及四級目錄tv_st當(dāng)中,分別各保存有一個(gè)tm_ bg. gif ;而比照圖1和圖2可知,當(dāng)采用本發(fā)明實(shí)施例中的存儲(chǔ)方法時(shí),則是將所述的tm_ bg. gif文件統(tǒng)一保存在二級目錄tv_msdt (即三級目錄tv_cc、tv_yc以及四級目錄tv_st 共同隸屬的二級目錄)當(dāng)中。由于網(wǎng)頁背景圖片一般占據(jù)較大的存儲(chǔ)空間,因此,采用上述方式進(jìn)行網(wǎng)頁數(shù)據(jù) 的存儲(chǔ),能夠減小前端保存數(shù)據(jù)時(shí)需要的存儲(chǔ)空間;同時(shí),如果需要在二級頁面下增加新的 頁面內(nèi)容時(shí),只需要相應(yīng)增加新的三級或以下目錄及相應(yīng)的文字內(nèi)容即可,不需要再在每 個(gè)目錄中重復(fù)保存同樣的背景圖片文件,從而能夠進(jìn)一步減小前端保存的網(wǎng)頁數(shù)據(jù)所占用 的存儲(chǔ)空間。此外,需要特別指出的是,上面是以背景文件為例進(jìn)行的說明,而實(shí)際上,對于任 何同屬于一個(gè)二級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同的文件數(shù)據(jù) (下文中簡稱為共用文件數(shù)據(jù)),都完全可以采用相同的方法進(jìn)行保存。接下來,與現(xiàn)有技術(shù)中單純按照目錄結(jié)構(gòu)將各個(gè)目錄中的所有文件數(shù)據(jù)進(jìn)行打包 不同,本發(fā)明還對前端在向終端發(fā)送網(wǎng)頁數(shù)據(jù)時(shí)的打包方式進(jìn)行了改進(jìn),下面進(jìn)行詳細(xì)說 明在對前端保存的網(wǎng)頁數(shù)據(jù)進(jìn)行打包時(shí),預(yù)先設(shè)置不同的包類型,包括目錄樹類 型、主頁文件類型、二級頁面類型、共用文件類型、三級及以下頁面類型共5種,以下分別具 體解釋目錄樹類型,是指該類型的包中只包含有用以建立網(wǎng)頁目錄樹結(jié)構(gòu)的數(shù)據(jù)—— 比如,從根目錄開始直到最下級網(wǎng)頁對應(yīng)的目錄,各級目錄中包含的子目錄名稱及該目錄 中相應(yīng)包含的文件名稱;主頁文件類型,是指該類型的包中只包含所有用于建立主頁的數(shù) 據(jù)——即前端的根目錄下存儲(chǔ)的所有網(wǎng)頁數(shù)據(jù);二級頁面類型,是指該類型的包中只包含 所有用于建立二級頁面的數(shù)據(jù)——即二級目錄下存儲(chǔ)的除共用文件以外的所有網(wǎng)頁數(shù)據(jù); 共用文件類型,是指該類型的包中只包含共用文件數(shù)據(jù)——即二級目錄下存儲(chǔ)的三級及以 下頁面的文件數(shù)據(jù)中相同的文件數(shù)據(jù);三級及以下頁面類型,則是指該類型的包中只包含 所有用于建立三級或以下頁面的數(shù)據(jù)——即三級及以下目錄中存儲(chǔ)的所有網(wǎng)頁數(shù)據(jù)。容易理解,對于由多級網(wǎng)頁構(gòu)成的一組完整的網(wǎng)頁結(jié)構(gòu),該組網(wǎng)頁的目錄樹結(jié)構(gòu) 和主頁都是唯一確定的,而主頁下包含的二級網(wǎng)頁、以及從二級網(wǎng)頁開始的每個(gè)當(dāng)前級別 網(wǎng)頁所包含的下一級網(wǎng)頁都可以是一個(gè)或者多個(gè),因此,對于上述的包類型而言,前端對于 每個(gè)二級頁面類型的包進(jìn)行打包時(shí),除了該包中包含的文件數(shù)據(jù)外,還需要進(jìn)一步在包頭 標(biāo)識出該包中的數(shù)據(jù)屬于所述主頁的哪一個(gè)二級頁面,同理,對于共用文件類型的包來說, 打包時(shí)也同樣需要在其包頭中標(biāo)識出該包中的數(shù)據(jù)屬于哪個(gè)二級頁面下的共用文件,而對 于三級及以下頁面類型的包來說,打包時(shí)則需要在其包頭中標(biāo)識出該包中的數(shù)據(jù)屬于哪個(gè) 二級頁面下的那個(gè)三級或以下頁面。至于具體的標(biāo)識方法,既可以采用數(shù)字編碼的方式進(jìn) 行,也可以根據(jù)各級網(wǎng)頁所在目錄的名稱進(jìn)行區(qū)分,具體方法本發(fā)明實(shí)施例中不做限定,本 領(lǐng)域技術(shù)人員可以采用現(xiàn)有技術(shù)中常用的各種目錄結(jié)構(gòu)標(biāo)識方式,此處不再一一贅述。同時(shí)需要指出的是,如果網(wǎng)頁結(jié)構(gòu)比較復(fù)雜,比如包含4級或者更多層級的網(wǎng)頁 時(shí),還可以相應(yīng)地增加包類型,比如將所述的三級及以下頁面類型進(jìn)一步細(xì)分為三級頁面類型、四級頁面類型、五級頁面類型等等,同時(shí),還需要在這些類型的包頭中相應(yīng)地標(biāo)識出 該包中的數(shù)據(jù)在目錄樹中對應(yīng)的具體分支,以便終端接收數(shù)據(jù)時(shí)能夠根據(jù)這些標(biāo)識對接收 到的網(wǎng)頁數(shù)據(jù)按照其在前端的存儲(chǔ)結(jié)構(gòu)進(jìn)行組合復(fù)原。在前文介紹的前端保存網(wǎng)頁數(shù)據(jù)所采用的數(shù)據(jù)結(jié)構(gòu)和前端對網(wǎng)頁數(shù)據(jù)進(jìn)行打包 所采用的方式的基礎(chǔ)上,本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸?shù)姆椒ǖ木唧w流程如圖3所示,當(dāng) 0C應(yīng)用系統(tǒng)進(jìn)入對象輪播模式后,所述方法包括步驟301 終端向前端請求獲取前端打包得到的所有數(shù)據(jù)包的包頭信息,根據(jù)包 頭中的識別信息識別包類型;步驟302 獲取被識別為目錄樹類型和主頁文件類型的數(shù)據(jù)包,建立目錄樹結(jié)構(gòu) 并緩存主頁文件數(shù)據(jù);容易理解,現(xiàn)有技術(shù)中按照數(shù)據(jù)包編號順序接收,直到接收到目錄對象所在的數(shù) 據(jù)包時(shí)才能夠建立完整的目錄結(jié)構(gòu),而步驟302中通過獲取被識別為目錄樹類型的數(shù)據(jù) 包,能夠避免現(xiàn)有技術(shù)的盲檢方式,提高數(shù)據(jù)請求的準(zhǔn)確性和目的性,從而能夠更加快速地 獲取完整的目錄結(jié)構(gòu)。同時(shí),獲取主頁文件數(shù)據(jù)并緩存,有助于后續(xù)步驟中請求打開主頁時(shí)的快速響應(yīng), 因此有助于提高瀏覽器打開主頁的速度。步驟303 判斷瀏覽器當(dāng)前請求打開的頁面所屬的層級,如果是主頁,則執(zhí)行步驟 304 ;如果是二級頁面,則執(zhí)行步驟305 ;如果是三級及以下頁面,則執(zhí)行步驟306 ;其中,所述判斷瀏覽器當(dāng)前請求打開的頁面所屬的層級的方法包括根據(jù)瀏覽器當(dāng)前請求打開的頁面所包含的文件數(shù)據(jù),通過判斷所述文件數(shù)據(jù)在目 錄樹中對應(yīng)的具體分支得出所述當(dāng)前請求打開的頁面所屬的網(wǎng)頁層級。步驟304 判斷緩存中是否存在與主頁對應(yīng)的主頁面類型的數(shù)據(jù)包,如果不存在, 則請求獲取主頁文件類型的數(shù)據(jù)包,使用獲取的數(shù)據(jù)包顯示該請求打開的頁面并緩存;如 果存在,則使用緩存中保存的數(shù)據(jù)包顯示該請求打開的頁面,同時(shí),獲取所有二級頁面類型 的數(shù)據(jù)包并進(jìn)行緩存,返回步驟303等待瀏覽器的下一次請求;步驟305 判斷緩存中是否存在當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型 的數(shù)據(jù)包,如果不存在,則獲取當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型的數(shù)據(jù)包, 接收完成后緩存接收到的數(shù)據(jù)并顯示該請求打開的頁面;如果存在,則直接使用緩存中保 存的數(shù)據(jù)包顯示該請求打開的頁面;同時(shí),獲取該二級頁面下的所有三級及以下頁面所對 應(yīng)的三級及以下頁面類型的數(shù)據(jù)包并緩存,返回步驟303等待瀏覽器的下一次請求;步驟306 判斷緩存中是否存在當(dāng)前請求打開的三級及以下頁面所對應(yīng)的三級及 以下頁面類型的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面所屬的二級頁面所對應(yīng)的共 用文件類型的數(shù)據(jù)包,如果任一類型的數(shù)據(jù)包不存在,則獲取該類型的數(shù)據(jù)包,接收完成后 緩存接收到的數(shù)據(jù)并使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都存在,則 直接使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都不存在,則獲取該兩種類 型的數(shù)據(jù)包,接收完成后緩存接收到的數(shù)據(jù)并使用所述兩種類型的數(shù)據(jù)包顯示該請求打開 的頁面;之后,返回步驟303等待瀏覽器的下一次請求。其中,所述步驟303 306中,緩存更新策略可以使用與現(xiàn)有技術(shù)相同的最久不使 用則替換的原則,這樣,前一次打開的頁面文件數(shù)據(jù)及其下級頁面文件數(shù)據(jù)都將被保存在
10緩存當(dāng)中,從而能夠保證當(dāng)前后兩次請求打開的為相鄰層次的網(wǎng)頁(比如前一次為主頁、 接下來為二級網(wǎng)頁)時(shí),瀏覽器不需要等待終端下載相應(yīng)的文件數(shù)據(jù)就能夠直接通過緩存 中的文件數(shù)據(jù)進(jìn)行頁面顯示。需要指出的是,當(dāng)使用現(xiàn)有技術(shù)的緩存更新策略時(shí),由于終端的緩存有限(通常 能夠用于網(wǎng)頁顯示的緩存只有1 5兆字節(jié)),而播發(fā)網(wǎng)頁數(shù)據(jù)時(shí)的一次0C的字節(jié)數(shù)可能 會(huì)有幾十兆字節(jié)甚至更大,因此,已經(jīng)緩存的數(shù)據(jù)可能會(huì)由于緩存空間有限而被新接收的 需要緩存的數(shù)據(jù)“沖掉”。為了避免這種情況的出現(xiàn),以進(jìn)一步提高打開頁面的速度,較佳 地,可以對緩存更新策略進(jìn)行優(yōu)化,將終端的緩存劃分為特殊緩存隊(duì)列和一般緩存隊(duì)列兩 部分,且分別使用不同的緩存更新策略特殊緩存隊(duì)列,用于專門存放一次0C過程中的主頁文件數(shù)據(jù),且在一次0C過程中 不釋放、不替換一即,一旦將主頁文件數(shù)據(jù)保存到特殊緩存隊(duì)列中,除非本次0C過程結(jié)束 (比如瀏覽器請求獲取其它主頁的文件數(shù)據(jù)),否則一直將所述主頁文件數(shù)據(jù)保存在該特 殊緩存隊(duì)列當(dāng)中;一般緩存隊(duì)列,用于存放除主頁文件數(shù)據(jù)以外的其它所有數(shù)據(jù),且更新方式與現(xiàn) 有技術(shù)相同——即,最久不使用則替換。通過使用優(yōu)化后的緩存更新策略,一方面,可以保證無論在什么情況下,都能夠由 當(dāng)前所在的網(wǎng)頁快速打開并返回主頁面(通常各級網(wǎng)頁的每個(gè)頁面上都會(huì)有返回主頁的 鏈接,因此實(shí)際應(yīng)用時(shí)往往需要反復(fù)打開并顯示主頁);另一方面,又能夠同時(shí)保證當(dāng)前后 兩次請求打開的為相鄰層次的網(wǎng)頁時(shí),瀏覽器不需要等待終端下載相應(yīng)的文件數(shù)據(jù)就能夠 直接通過緩存中的文件數(shù)據(jù)進(jìn)行頁面顯示??梢?,使用所述優(yōu)化后的緩存更新策略能夠提 高打開頁面的速度。同時(shí),使用優(yōu)化后的緩存更新策略時(shí),由于所述特殊緩存隊(duì)列中始終保存有主頁 文件數(shù)據(jù),因此,此時(shí)的步驟304就不必進(jìn)行所述的判斷,從而可以進(jìn)一步簡化為使用緩 存中保存的數(shù)據(jù)包顯示該請求打開的頁面并緩存,同時(shí),獲取所有二級頁面類型的數(shù)據(jù)包 并進(jìn)行緩存,返回步驟303等待瀏覽器的下一次請求。由上述可見,本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸?shù)姆椒?,終端通過識別和獲取前端設(shè) 置的目錄樹類型的數(shù)據(jù)包,能夠快速獲取和建立完整的目錄樹結(jié)構(gòu),并提高后續(xù)數(shù)據(jù)請求 的準(zhǔn)確性和有效性;同時(shí),前端通過將同屬于一個(gè)二級頁面的所有三級及三級以下頁面對 應(yīng)的共用數(shù)據(jù)保存在所述二級頁面對應(yīng)的二級目錄中,能夠避免該二級頁面下的各三級及 以下頁面對應(yīng)的三級目錄中分別保存所述的共用數(shù)據(jù),從而減小前端保存網(wǎng)頁數(shù)據(jù)時(shí)占用 的存儲(chǔ)空間,避免了終端在請求數(shù)據(jù)時(shí)反復(fù)接收到這些重復(fù)數(shù)據(jù),因此提高了終端的有效 下載速度。本發(fā)明實(shí)施例還同時(shí)提供一種數(shù)據(jù)傳輸?shù)南到y(tǒng),其組成結(jié)構(gòu)如圖4所示,包括用 于對象輪播的前端410和終端420 所述前端410,采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),且將同屬于一個(gè)二 級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作為共用文件 統(tǒng)一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中,當(dāng)所述系統(tǒng)進(jìn)入對象輪播模式后,根據(jù)終端 420的請求將所請求部分的數(shù)據(jù)打包傳輸給終端420 ;所述終端420,向前端410請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹結(jié)構(gòu);響應(yīng)瀏覽器的請求,確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前 端410請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述 頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩 存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù);之后等待瀏覽器的下一次請求。
其中,所述前端410包括網(wǎng)頁數(shù)據(jù)保存模塊411和打包傳輸模塊412 ;網(wǎng)頁數(shù)據(jù)保存模塊411,用于采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),且同 屬于一個(gè)二級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作 為共用文件統(tǒng)一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中;打包傳輸模塊412,用于在當(dāng)所述系統(tǒng)進(jìn)入對象輪播模式后,根據(jù)終端420的請 求將其所請求部分的數(shù)據(jù)打包傳輸給終端420 ;打包形成的數(shù)據(jù)包的類型包括目錄樹類 型、主頁文件類型、二級頁面類型、共用文件類型、和三級及以下頁面類型共5種;其中,前 端410將保存的目錄樹結(jié)構(gòu)數(shù)據(jù)打包為目錄樹類型的數(shù)據(jù)包;將根目錄下的全部數(shù)據(jù)打包 為主頁文件類型的數(shù)據(jù)包;每個(gè)二級頁面對應(yīng)的全部數(shù)據(jù)打包為一組二級頁面類型的數(shù)據(jù) 包,且一組二級頁面類型數(shù)據(jù)包的包數(shù)量為一個(gè)或多個(gè);每個(gè)三級及三級以下目錄中的所 有文件數(shù)據(jù)打包為一組三級及以下頁面類型數(shù)據(jù)包、每個(gè)二級目錄中的共用文件打包為一 組共用文件類型數(shù)據(jù)包,且同屬于一個(gè)二級頁面下的多組三級及以下頁面類型數(shù)據(jù)包對應(yīng) 于一組共用文件類型數(shù)據(jù)包。同時(shí),所述終端420包括預(yù)處理模塊421、當(dāng)前頁面層級確定模塊422和數(shù)據(jù)請求 模塊423 ;預(yù)處理模塊421,用于向前端410請求獲取前端410打包得到的所有數(shù)據(jù)包的包頭 信息,根據(jù)包頭中的識別信息識別包類型,獲取其中識別為目錄樹類型的數(shù)據(jù)包,根據(jù)該目 錄樹類型的數(shù)據(jù)包建立目錄樹結(jié)構(gòu);當(dāng)前頁面層級確定模塊422,用于響應(yīng)瀏覽器的請求,根據(jù)瀏覽器當(dāng)前請求打開的 頁面所包含的文件數(shù)據(jù),通過判斷所述文件數(shù)據(jù)在已建立的目錄樹結(jié)構(gòu)中對應(yīng)的具體分支 得出所述當(dāng)前請求打開的頁面所屬的網(wǎng)頁層級并通知數(shù)據(jù)請求模塊423 ;數(shù)據(jù)請求模塊423,用于根據(jù)當(dāng)前頁面層級確定模塊422通知的所述當(dāng)前請求打 開的頁面所屬的網(wǎng)頁層級,向前端410請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù) 據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁 面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)。所述預(yù)處理模塊421,進(jìn)一步用于在根據(jù)包頭中的識別信息識別包類型之后,同時(shí) 獲取其中識別為目錄樹類型的數(shù)據(jù)包和主頁文件類型的數(shù)據(jù)包,根據(jù)該目錄樹類型的數(shù)據(jù) 包建立目錄樹結(jié)構(gòu),并緩存請求得到的主頁文件類型的數(shù)據(jù)包。所述數(shù)據(jù)請求模塊423包括第一處理單元4231、第二處理單元4232和第三處理單 元 4233 ;第一處理單元4231,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為主頁時(shí),判斷緩存中是否存在與主頁對應(yīng)的主頁文件類型的數(shù)據(jù)包,如果不 存在,則向前端410請求獲取主頁文件類型的數(shù)據(jù)包,使用獲取的數(shù)據(jù)包顯示該請求打開 的頁面并緩存;如果存在,則使用緩存中保存的數(shù)據(jù)包顯示該請求打開的頁面;之后,請求 獲取所有二級頁面對應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存;
12
第二處理單元4232,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為二級頁面時(shí),判斷緩存中是否存在當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁 面類型的數(shù)據(jù)包,如果不存在,則向前端410請求獲取當(dāng)前請求打開的二級頁面所對應(yīng)的 二級頁面類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)包緩存并利用所述數(shù)據(jù)包顯示該請求打開的二級 頁面;如果存在,則直接使用緩存的數(shù)據(jù)包顯示該請求打開的二級頁面;之后,請求獲取當(dāng) 前請求打開的二級頁面下的所有三級及以下頁面類型的數(shù)據(jù)包和共用文件類型的數(shù)據(jù)包, 并將接收到的數(shù)據(jù)包緩存;第三處理單元4233,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為三級及以下頁面時(shí),判斷緩存中是否存在當(dāng)前請求打開的三級及以下頁面所 對應(yīng)的三級及以下頁面類型的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面對應(yīng)的共用文 件類型的數(shù)據(jù)包,如果其中一種類型的數(shù)據(jù)包不存在,則向前端410請求獲取該類型的數(shù) 據(jù)包,將接收到的數(shù)據(jù)緩存后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都 存在,則直接使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都不存在,則向前端 410請求獲取該兩種類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存后,使用所述兩種類型的數(shù)據(jù)包顯 示該請求打開的頁面。需要指出的是,該系統(tǒng)的緩存更新策略可以使用與現(xiàn)有技術(shù)相同的最久不使用則 替換的原則,這樣,前一次打開的頁面文件數(shù)據(jù)及其下級頁面文件數(shù)據(jù)都將被保存在緩存 當(dāng)中,從而能夠保證當(dāng)前后兩次請求打開的為相鄰層次的網(wǎng)頁(比如前一次為主頁、接下 來為二級網(wǎng)頁)時(shí),瀏覽器不需要等待終端下載相應(yīng)的文件數(shù)據(jù)就能夠直接通過緩存中的 文件數(shù)據(jù)進(jìn)行頁面顯示。然而,使用現(xiàn)有技術(shù)的這種緩存更新策略時(shí),由于終端的緩存有限 (通常能夠用于網(wǎng)頁顯示的緩存只有1 5兆字節(jié)),而播發(fā)網(wǎng)頁數(shù)據(jù)時(shí)的一次0C的字節(jié) 數(shù)可能會(huì)有幾十兆字節(jié)甚至更大,因此,已經(jīng)緩存的數(shù)據(jù)可能會(huì)由于緩存空間有限而被新 接收的需要緩存的數(shù)據(jù)“沖掉”。為了避免這種情況的出現(xiàn),以進(jìn)一步提高打開頁面的速度, 較佳地,還可以對緩存更新策略進(jìn)行優(yōu)化,此時(shí),所述終端420中進(jìn)一步包括緩存更新策略模塊424,用于將終端420的緩存配置為特殊緩存隊(duì)列和一般緩存 隊(duì)列兩部分,其中,所述特殊緩存隊(duì)列用于保存主頁文件類型的數(shù)據(jù)包,且保存后在一次對 象輪播過程中不更新;所述一般緩存隊(duì)列用于保存除主頁文件類型以外的其它類型的數(shù)據(jù) 包,且在一次對象輪播過程中采用最久不使用則替換的更新策略。相應(yīng)地,此時(shí)的所述數(shù)據(jù)請求模塊423則包括第一處理單元4231,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為主頁時(shí),使用特殊緩存隊(duì)列中保存的主頁文件類型的數(shù)據(jù)包顯示該請求打開 的頁面;請求獲取所有二級頁面對應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包保存 到一般緩存隊(duì)列當(dāng)中;第二處理單元4232,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為二級頁面時(shí),判斷一般緩存隊(duì)列中是否存在當(dāng)前請求打開的二級頁面所對應(yīng) 的二級頁面類型的數(shù)據(jù)包,如果不存在,則向前端410請求獲取當(dāng)前請求打開的二級頁面 所對應(yīng)的二級頁面類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)包緩存到一般緩存隊(duì)列中并利用所述數(shù) 據(jù)包顯示該請求打開的二級頁面;如果存在,則直接使用所述二級頁面類型的數(shù)據(jù)包顯示 該請求打開的二級頁面;之后,請求獲取當(dāng)前請求打開的二級頁面下的所有三級及以下頁面類型的數(shù)據(jù)包和共用文件類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存到一般緩存隊(duì)列中;第三處理單元4233,用于在當(dāng)前頁面層級確定模塊422確定當(dāng)前請求打開的頁面 所屬的層級為三級及以下頁面時(shí),判斷一般緩存隊(duì)列中是否存在當(dāng)前請求打開的三級及以 下頁面所對應(yīng)的三級及以下頁面類型的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面對應(yīng) 的共用文件類型的數(shù)據(jù)包,如果其中一種類型的數(shù)據(jù)包不存在,則向前端410請求獲取該 類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存到一般緩存隊(duì)列中后,使用所述兩種類型的數(shù)據(jù)包顯 示該請求打開的頁面;如果都存在,則直接使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的 頁面;如果都不存在,則向前端410請求獲取該兩種類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存到 一般緩存隊(duì)列中后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面。由上述可見,本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸?shù)南到y(tǒng),終端通過識別和獲取前端設(shè) 置的目錄樹類型的數(shù)據(jù)包,能夠快速獲取和建立完整的目錄樹結(jié)構(gòu),并提高后續(xù)數(shù)據(jù)請求 的準(zhǔn)確性和有效性;同時(shí),前端通過將同屬于一個(gè)二級頁面的所有三級及三級以下頁面對 應(yīng)的共用數(shù)據(jù)保存在所述二級頁面對應(yīng)的二級目錄中,能夠避免該二級頁面下的各三級及 以下頁面對應(yīng)的三級目錄中分別保存所述的共用數(shù)據(jù),從而減小前端保存網(wǎng)頁數(shù)據(jù)時(shí)占用 的存儲(chǔ)空間,避免了終端在請求數(shù)據(jù)時(shí)反復(fù)接收到這些重復(fù)數(shù)據(jù),因此提高了終端的有效 下載速度。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
一種數(shù)據(jù)傳輸?shù)姆椒?,用于由前端和終端組成的對象輪播系統(tǒng),所述前端采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),并根據(jù)終端的請求將所請求部分的數(shù)據(jù)打包傳輸給終端;其特征在于,所述前端將同屬于一個(gè)二級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作為共用文件統(tǒng)一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中,當(dāng)所述對象輪播系統(tǒng)進(jìn)入對象輪播模式后,該方法包括終端向前端請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹結(jié)構(gòu);確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù);之后等待瀏覽器的下一次請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端向前端請求獲取網(wǎng)頁的目錄樹 結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹結(jié)構(gòu)的方法包括終端向前端請求獲取前端打包得到的所有數(shù)據(jù)包的包頭信息,根據(jù)包頭中的識別信息 識別包類型;所述數(shù)據(jù)包的類型包括目錄樹類型、主頁文件類型、二級頁面類型、共用文 件類型、和三級及以下頁面類型共5種;其中,前端保存的目錄樹結(jié)構(gòu)數(shù)據(jù)打包為目錄樹類 型的數(shù)據(jù)包;根目錄下的全部數(shù)據(jù)打包為主頁文件類型的數(shù)據(jù)包;每個(gè)二級頁面對應(yīng)的全 部數(shù)據(jù)打包為一組二級頁面類型的數(shù)據(jù)包,且一組二級頁面類型數(shù)據(jù)包的包數(shù)量為一個(gè)或 多個(gè);每個(gè)三級及三級以下目錄中的所有文件數(shù)據(jù)打包為一組三級及以下頁面類型數(shù)據(jù) 包、每個(gè)二級目錄中的共用文件打包為一組共用文件類型數(shù)據(jù)包,且同屬于一個(gè)二級頁面 下的多組三級及以下頁面類型數(shù)據(jù)包對應(yīng)于一組共用文件類型數(shù)據(jù)包;獲取其中識別為目錄樹類型的數(shù)據(jù)包,根據(jù)該目錄樹類型的數(shù)據(jù)包建立目錄樹結(jié)構(gòu)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定瀏覽器當(dāng)前請求打開的頁面所 屬的層級的方法包括根據(jù)瀏覽器當(dāng)前請求打開的頁面所包含的文件數(shù)據(jù),通過判斷所述文件數(shù)據(jù)在已建立 的目錄樹結(jié)構(gòu)中對應(yīng)的具體分支得出所述當(dāng)前請求打開的頁面所屬的網(wǎng)頁層級。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述終端向前端請求獲取網(wǎng)頁的目錄樹 結(jié)構(gòu)的同時(shí),該方法還包括終端向前端請求獲取主頁文件類型的數(shù)據(jù)包;所述終端根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹結(jié)構(gòu)的同時(shí),該方法還包括終端將 請求得到的主頁文件類型的數(shù)據(jù)包進(jìn)行緩存。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)確定瀏覽器當(dāng)前請求打開的頁面所屬 的層級為主頁時(shí),所述向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請 求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁 面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)的方法包括判斷緩存中是否存在與主頁對應(yīng)的主頁文件類型的數(shù)據(jù)包,如果不存在,則向前端請 求獲取主頁文件類型的數(shù)據(jù)包,使用獲取的數(shù)據(jù)包顯示該請求打開的頁面并緩存;如果存 在,則使用緩存中保存的數(shù)據(jù)包顯示該請求打開的頁面;請求獲取所有二級頁面對應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)確定瀏覽器當(dāng)前請求打開的頁面所屬的層級為二級頁面時(shí),所述向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根 據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下 級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)的方法包括判斷緩存中是否存在當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型的數(shù)據(jù)包,如果 不存在,則向前端請求獲取當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型的數(shù)據(jù)包,將 接收到的數(shù)據(jù)包緩存并利用所述數(shù)據(jù)包顯示該請求打開的二級頁面;如果存在,則直接使 用緩存的數(shù)據(jù)包顯示該請求打開的二級頁面;請求獲取當(dāng)前請求打開的二級頁面下的所有三級及以下頁面類型的數(shù)據(jù)包和共用文 件類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)確定瀏覽器當(dāng)前請求打開的頁面所屬 的層級為三級及以下頁面時(shí),所述向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù) 據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁 面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)的方法包 括判斷緩存中是否存在當(dāng)前請求打開的三級及以下頁面所對應(yīng)的三級及以下頁面類型 的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面對應(yīng)的共用文件類型的數(shù)據(jù)包,如果其中一 種類型的數(shù)據(jù)包不存在,則向前端請求獲取該類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存后,使用 所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都存在,則直接使用所述兩種類型的 數(shù)據(jù)包顯示該請求打開的頁面;如果都不存在,則向前端請求獲取該兩種類型的數(shù)據(jù)包,將 接收到的數(shù)據(jù)緩存后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面。
8.根據(jù)權(quán)利要求4至7中任一項(xiàng)所述的方法,其特征在于,終端設(shè)置特殊緩存隊(duì)列和一 般緩存隊(duì)列,所述特殊緩存隊(duì)列保存主頁文件類型的數(shù)據(jù)包,且保存后在一次對象輪播過 程中不更新;所述一般緩存隊(duì)列保存除主頁文件類型以外的其它類型的數(shù)據(jù)包,且在一次 對象輪播過程中采用最久不使用則替換的更新策略。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,當(dāng)確定瀏覽器當(dāng)前請求打開的頁面所屬 的層級為主頁時(shí),所述向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請 求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁 面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)的方法包括使用特殊緩存隊(duì)列中保存的主頁文件類型的數(shù)據(jù)包顯示該請求打開的頁面;請求獲取所有二級頁面對應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包保存到一 般緩存隊(duì)列當(dāng)中。
10.一種數(shù)據(jù)傳輸?shù)南到y(tǒng),包括用于對象輪播的前端和終端,其特征在于所述前端,采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),且將同屬于一個(gè)二級頁面 的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作為共用文件統(tǒng)一保 存在該二級頁面對應(yīng)的二級目錄當(dāng)中,當(dāng)所述系統(tǒng)進(jìn)入對象輪播模式后,根據(jù)終端的請求 將所請求部分的數(shù)據(jù)打包傳輸給終端;所述終端,向前端請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄 樹結(jié)構(gòu);響應(yīng)瀏覽器的請求,確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前端請求獲取 所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所 述下級頁面對應(yīng)的文件數(shù)據(jù);之后等待瀏覽器的下一次請求。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述前端包括網(wǎng)頁數(shù)據(jù)保存模塊,用于采用目錄樹結(jié)構(gòu)方式保存網(wǎng)頁對應(yīng)的文件數(shù)據(jù),且同屬于一 個(gè)二級頁面的所有三級及三級以下頁面對應(yīng)的文件數(shù)據(jù)中相同部分的文件數(shù)據(jù)作為共用 文件統(tǒng)一保存在該二級頁面對應(yīng)的二級目錄當(dāng)中;打包傳輸模塊,用于在當(dāng)所述系統(tǒng)進(jìn)入對象輪播模式后,根據(jù)終端的請求將其所請求 部分的數(shù)據(jù)打包傳輸給終端;打包形成的數(shù)據(jù)包的類型包括目錄樹類型、主頁文件類型、 二級頁面類型、共用文件類型、和三級及以下頁面類型共5種;其中,前端將保存的目錄樹 結(jié)構(gòu)數(shù)據(jù)打包為目錄樹類型的數(shù)據(jù)包;將根目錄下的全部數(shù)據(jù)打包為主頁文件類型的數(shù)據(jù) 包;每個(gè)二級頁面對應(yīng)的全部數(shù)據(jù)打包為一組二級頁面類型的數(shù)據(jù)包,且一組二級頁面類 型數(shù)據(jù)包的包數(shù)量為一個(gè)或多個(gè);每個(gè)三級及三級以下目錄中的所有文件數(shù)據(jù)打包為一 組三級及以下頁面類型數(shù)據(jù)包、每個(gè)二級目錄中的共用文件打包為一組共用文件類型數(shù)據(jù) 包,且同屬于一個(gè)二級頁面下的多組三級及以下頁面類型數(shù)據(jù)包對應(yīng)于一組共用文件類型 數(shù)據(jù)包。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述終端包括預(yù)處理模塊,用于向前端請求獲取前端打包得到的所有數(shù)據(jù)包的包頭信息,根據(jù)包頭 中的識別信息識別包類型,獲取其中識別為目錄樹類型的數(shù)據(jù)包,根據(jù)該目錄樹類型的數(shù) 據(jù)包建立目錄樹結(jié)構(gòu);當(dāng)前頁面層級確定模塊,用于響應(yīng)瀏覽器的請求,根據(jù)瀏覽器當(dāng)前請求打開的頁面所 包含的文件數(shù)據(jù),通過判斷所述文件數(shù)據(jù)在已建立的目錄樹結(jié)構(gòu)中對應(yīng)的具體分支得出所 述當(dāng)前請求打開的頁面所屬的網(wǎng)頁層級并通知數(shù)據(jù)請求模塊;數(shù)據(jù)請求模塊,用于根據(jù)當(dāng)前頁面層級確定模塊通知的所述當(dāng)前請求打開的頁面所屬 的網(wǎng)頁層級,向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的 數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的 文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述預(yù)處理模塊進(jìn)一步用于在根據(jù)包頭中的識別信息識別包類型之后,同時(shí)獲取其中識別為目錄樹類 型的數(shù)據(jù)包和主頁文件類型的數(shù)據(jù)包,根據(jù)該目錄樹類型的數(shù)據(jù)包建立目錄樹結(jié)構(gòu),并緩 存請求得到的主頁文件類型的數(shù)據(jù)包。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述數(shù)據(jù)請求模塊包括第一處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級為 主頁時(shí),判斷緩存中是否存在與主頁對應(yīng)的主頁文件類型的數(shù)據(jù)包,如果不存在,則向前端 請求獲取主頁文件類型的數(shù)據(jù)包,使用獲取的數(shù)據(jù)包顯示該請求打開的頁面并緩存;如果 存在,則使用緩存中保存的數(shù)據(jù)包顯示該請求打開的頁面;之后,請求獲取所有二級頁面對 應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存;第二處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級為 二級頁面時(shí),判斷緩存中是否存在當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型的數(shù)據(jù) 包,如果不存在,則向前端請求獲取當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)包緩存并利用所述數(shù)據(jù)包顯示該請求打開的二級頁面;如果存在,則 直接使用緩存的數(shù)據(jù)包顯示該請求打開的二級頁面;之后,請求獲取當(dāng)前請求打開的二級 頁面下的所有三級及以下頁面類型的數(shù)據(jù)包和共用文件類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù) 包緩存;第三處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級為 三級及以下頁面時(shí),判斷緩存中是否存在當(dāng)前請求打開的三級及以下頁面所對應(yīng)的三級及 以下頁面類型的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面對應(yīng)的共用文件類型的數(shù)據(jù) 包,如果其中一種類型的數(shù)據(jù)包不存在,則向前端請求獲取該類型的數(shù)據(jù)包,將接收到的數(shù) 據(jù)緩存后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都存在,則直接使用所 述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都不存在,則向前端請求獲取該兩種類 型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面。
15.根據(jù)權(quán)利要求12或13所述的系統(tǒng),其特征在于,所述終端中進(jìn)一步包括緩存更新 策略模塊,用于將終端的緩存配置為特殊緩存隊(duì)列和一般緩存隊(duì)列兩部分,其中,所述特殊 緩存隊(duì)列用于保存主頁文件類型的數(shù)據(jù)包,且保存后在一次對象輪播過程中不更新;所述 一般緩存隊(duì)列用于保存除主頁文件類型以外的其它類型的數(shù)據(jù)包,且在一次對象輪播過程 中采用最久不使用則替換的更新策略。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述數(shù)據(jù)請求模塊包括第一處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級為 主頁時(shí),使用特殊緩存隊(duì)列中保存的主頁文件類型的數(shù)據(jù)包顯示該請求打開的頁面;請求 獲取所有二級頁面對應(yīng)的二級頁面類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包保存到一般緩存隊(duì) 列當(dāng)中;第二處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級為 二級頁面時(shí),判斷一般緩存隊(duì)列中是否存在當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面類 型的數(shù)據(jù)包,如果不存在,則向前端請求獲取當(dāng)前請求打開的二級頁面所對應(yīng)的二級頁面 類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)包緩存到一般緩存隊(duì)列中并利用所述數(shù)據(jù)包顯示該請求打 開的二級頁面;如果存在,則直接使用所述二級頁面類型的數(shù)據(jù)包顯示該請求打開的二級 頁面;之后,請求獲取當(dāng)前請求打開的二級頁面下的所有三級及以下頁面類型的數(shù)據(jù)包和 共用文件類型的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包緩存到一般緩存隊(duì)列中;第三處理單元,用于在當(dāng)前頁面層級確定模塊確定當(dāng)前請求打開的頁面所屬的層級 為三級及以下頁面時(shí),判斷一般緩存隊(duì)列中是否存在當(dāng)前請求打開的三級及以下頁面所對 應(yīng)的三級及以下頁面類型的數(shù)據(jù)包或該當(dāng)前請求打開的三級及以下頁面對應(yīng)的共用文件 類型的數(shù)據(jù)包,如果其中一種類型的數(shù)據(jù)包不存在,則向前端請求獲取該類型的數(shù)據(jù)包,將 接收到的數(shù)據(jù)緩存到一般緩存隊(duì)列中后,使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁 面;如果都存在,則直接使用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面;如果都不存 在,則向前端請求獲取該兩種類型的數(shù)據(jù)包,將接收到的數(shù)據(jù)緩存到一般緩存隊(duì)列中后,使 用所述兩種類型的數(shù)據(jù)包顯示該請求打開的頁面。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)傳輸?shù)姆椒?,用于由前端和終端組成的對象輪播系統(tǒng)終端向前端請求獲取網(wǎng)頁的目錄樹結(jié)構(gòu),根據(jù)請求得到的數(shù)據(jù)建立網(wǎng)頁的目錄樹結(jié)構(gòu);確定瀏覽器當(dāng)前請求打開的頁面所屬的層級,向前端請求獲取所述當(dāng)前請求打開的頁面對應(yīng)的文件數(shù)據(jù),根據(jù)請求得到的數(shù)據(jù)顯示所述頁面并緩存所述數(shù)據(jù);請求獲取所述當(dāng)前請求打開的頁面的下級頁面對應(yīng)的文件數(shù)據(jù),緩存請求得到的所述下級頁面對應(yīng)的文件數(shù)據(jù);之后等待瀏覽器的下一次請求。本發(fā)明同時(shí)公開了一種數(shù)據(jù)傳輸?shù)南到y(tǒng)。本發(fā)明提供的數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng),能夠減小前端保存網(wǎng)頁數(shù)據(jù)時(shí)占用的存儲(chǔ)空間,避免了終端在請求數(shù)據(jù)時(shí)反復(fù)接收到重復(fù)數(shù)據(jù),從而提高了終端的有效下載速度。
文檔編號H04L29/08GK101848231SQ20101012900
公開日2010年9月29日 申請日期2010年3月8日 優(yōu)先權(quán)日2010年3月8日
發(fā)明者楊匯源, 王文博 申請人:深圳市同洲電子股份有限公司