數(shù)據(jù)處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,特別是在線視頻服務(wù)的快速增長(zhǎng),用戶對(duì)寬帶的需求越來越大。Web Cache(網(wǎng)絡(luò)緩存)技術(shù)在現(xiàn)有網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上,可以實(shí)現(xiàn)資源的本地化讀取,從而達(dá)到優(yōu)化網(wǎng)絡(luò)寬帶、提高網(wǎng)絡(luò)服務(wù)質(zhì)量、增強(qiáng)網(wǎng)絡(luò)信息可用性和提高網(wǎng)絡(luò)靈活性的目的。Web Cache技術(shù)主要用于緩存HTTP (Hypertext transfer protocol,超文本傳輸協(xié)議)對(duì)象。
[0003]現(xiàn)有技術(shù)中,Web Cache技術(shù)通過在磁盤上建立多級(jí)目錄,以系統(tǒng)文件的方式,對(duì)HTTP對(duì)象進(jìn)行存儲(chǔ)。但是,由于現(xiàn)有存儲(chǔ)方式在查找HTTP對(duì)象時(shí),需要逐一查詢各級(jí)目錄,頻繁訪問系統(tǒng)文件,因此查找速度較慢。另外,現(xiàn)有存儲(chǔ)方式以多級(jí)目錄的形式存儲(chǔ)HTTP對(duì)象,占用空間較大。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種數(shù)據(jù)處理方法及裝置,以解決緩存數(shù)據(jù)查找速度較慢、占用空間較大的問題。
[0005]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種數(shù)據(jù)處理方法,包括:
[0006]建立用于存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu),其中所述索引信息包括緩存地址和過期時(shí)間;
[0007]根據(jù)所述索引結(jié)構(gòu)中索引信息的過期時(shí)間,周期性地判斷各個(gè)數(shù)據(jù)是否已經(jīng)過期;
[0008]若數(shù)據(jù)已經(jīng)過期,則根據(jù)所述數(shù)據(jù)的緩存地址,在本地?cái)?shù)據(jù)緩存中查找到所述數(shù)據(jù),并刪除所述數(shù)據(jù)。
[0009]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種數(shù)據(jù)處理裝置,包括:
[0010]第一建立單元,用于建立存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu),其中所述索引結(jié)構(gòu)包括緩存地址和過期時(shí)間;
[0011]判斷單元,與所述第一建立單元連接,用于根據(jù)所述索引結(jié)構(gòu)中索引信息的過期時(shí)間,周期性地判斷各個(gè)數(shù)據(jù)是否已經(jīng)過期;
[0012]操作單元,與所述判斷單元連接,用于在判斷數(shù)據(jù)已經(jīng)過期時(shí),根據(jù)所述數(shù)據(jù)的緩存地址,在本地?cái)?shù)據(jù)緩存中查找到所述數(shù)據(jù),并刪除所述數(shù)據(jù)。
[0013]本發(fā)明實(shí)施例中,緩存服務(wù)器通過建立用于存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu),將數(shù)據(jù)與索引信息分開存儲(chǔ),可以提高數(shù)據(jù)的查找速度;通過根據(jù)索引結(jié)構(gòu)中索引信息的過期時(shí)間,刪除已經(jīng)過期的數(shù)據(jù),可以釋放數(shù)據(jù)存儲(chǔ)空間,提高存儲(chǔ)空間利用率。
【附圖說明】
[0014]圖1是本發(fā)明數(shù)據(jù)處理方法的一個(gè)實(shí)施例流程圖;
[0015]圖2是本發(fā)明最小堆索引結(jié)構(gòu)的一個(gè)實(shí)施例框圖;
[0016]圖3是本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例流程圖;
[0017]圖4是本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例流程圖;
[0018]圖5是本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例流程圖;
[0019]圖6是本發(fā)明數(shù)據(jù)處理裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0020]圖7是本發(fā)明數(shù)據(jù)處理裝置的一個(gè)實(shí)施例框圖;
[0021]圖8是本發(fā)明數(shù)據(jù)處理裝置的另一個(gè)實(shí)施例框圖。
【具體實(shí)施方式】
[0022]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
[0023]現(xiàn)有技術(shù)中,緩存服務(wù)器通過在磁盤上建立多級(jí)目錄,以系統(tǒng)文件的方式,對(duì)數(shù)據(jù)進(jìn)行緩存,數(shù)據(jù)查找速度較慢,且占用空間較大。本發(fā)明實(shí)施例中,緩存服務(wù)器通過建立索引結(jié)構(gòu),將數(shù)據(jù)和索引信息分開存儲(chǔ),可以提高數(shù)據(jù)的查找速度。
[0024]參見圖1,為本發(fā)明數(shù)據(jù)處理方法的一個(gè)實(shí)施例流程圖,該實(shí)施例從緩存服務(wù)器側(cè)進(jìn)行描述,包括以下步驟:
[0025]步驟101、建立用于存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu),其中該索引信息包括緩存地址和過期時(shí)間。
[0026]本實(shí)施例中,每一數(shù)據(jù)與至少一條索引信息相對(duì)應(yīng),每條索引信息包括至少一個(gè)緩存地址和至少一個(gè)過期時(shí)間。緩存服務(wù)器根據(jù)緩存地址可以定位數(shù)據(jù)在服務(wù)器磁盤中的存儲(chǔ)位置,根據(jù)過期時(shí)間可以判斷數(shù)據(jù)的生命周期是否結(jié)束。
[0027]步驟102、根據(jù)索引結(jié)構(gòu)中索引信息的過期時(shí)間,周期性地判斷各個(gè)數(shù)據(jù)是否已經(jīng)過期。
[0028]步驟103、若數(shù)據(jù)已經(jīng)過期,則根據(jù)該數(shù)據(jù)的緩存地址,在本地?cái)?shù)據(jù)緩存中查找到該數(shù)據(jù),并刪除該數(shù)據(jù)。
[0029]在本實(shí)施例中,在判斷各個(gè)數(shù)據(jù)是否已經(jīng)過期時(shí),若當(dāng)前時(shí)間超過數(shù)據(jù)的過期時(shí)間,則表示該數(shù)據(jù)已經(jīng)過期,否則表示數(shù)據(jù)未過期。
[0030]由上述實(shí)施例可見,緩存服務(wù)器通過建立用于存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu),將數(shù)據(jù)與索引信息分開存儲(chǔ),可以提高數(shù)據(jù)的查找速度;通過根據(jù)索引結(jié)構(gòu)中索引信息的過期時(shí)間,刪除已經(jīng)過期的數(shù)據(jù),可以釋放數(shù)據(jù)存儲(chǔ)空間,提高存儲(chǔ)空間利用率。
[0031]進(jìn)一步地,該方法還可以包括:若數(shù)據(jù)已經(jīng)過期,則從索引結(jié)構(gòu)中刪除已經(jīng)過期的數(shù)據(jù)的索引信息。緩存服務(wù)器通過將已經(jīng)過期的數(shù)據(jù)的索引信息從索引結(jié)構(gòu)中刪除,可以進(jìn)一步提高數(shù)據(jù)的查找速度。
[0032]進(jìn)一步地,索引結(jié)構(gòu)中的索引信息可以按照過期時(shí)間的先后順序進(jìn)行排列。例如,該索引結(jié)構(gòu)可以為最小堆索引結(jié)構(gòu),其以節(jié)點(diǎn)的形式來存儲(chǔ)各條索引信息,每條索引信息包括至少一個(gè)緩存地址和至少一個(gè)過期時(shí)間。最小堆索引結(jié)構(gòu)中各個(gè)節(jié)點(diǎn)按照過期時(shí)間的先后順序,以二叉樹的形式進(jìn)行排列,從根節(jié)點(diǎn)到各級(jí)子節(jié)點(diǎn),節(jié)點(diǎn)的過期時(shí)間逐漸靠后。節(jié)點(diǎn)的過期時(shí)間越靠前則表示對(duì)應(yīng)數(shù)據(jù)的生命周期將越快結(jié)束。當(dāng)索引結(jié)構(gòu)為最小堆索引結(jié)構(gòu)時(shí),緩存服務(wù)器可以從最小堆索引結(jié)構(gòu)的根節(jié)點(diǎn)開始,依次判斷各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)是否已經(jīng)過期,當(dāng)確定其中一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)未過期時(shí)結(jié)束判斷流程。
[0033]參見圖2,為最小堆索引結(jié)構(gòu)的一個(gè)實(shí)施例框圖。在該最小堆索引結(jié)構(gòu)中,根節(jié)點(diǎn)210的過期時(shí)間比一級(jí)子節(jié)點(diǎn)220和230的過期時(shí)間靠前,其表示相比于一級(jí)子節(jié)點(diǎn)220和230,根節(jié)點(diǎn)210的生命周期將越快結(jié)束;一級(jí)子節(jié)點(diǎn)220的過期時(shí)間比二級(jí)子節(jié)點(diǎn)240和250的過期時(shí)間靠前,其表示相比于二級(jí)子節(jié)點(diǎn)240和250,一級(jí)子節(jié)點(diǎn)220的生命周期將越快結(jié)束。緩存服務(wù)器通過將索引結(jié)構(gòu)中的索引信息按照過期時(shí)間的先后順序進(jìn)行排列,可以快速查找到并刪除已經(jīng)過期的數(shù)據(jù),提高釋放數(shù)據(jù)存儲(chǔ)空間的效率。
[0034]進(jìn)一步地,建立索引結(jié)構(gòu)的過程包括:在啟動(dòng)系統(tǒng)時(shí),將磁盤中的索引信息加載至存儲(chǔ)索引結(jié)構(gòu)的區(qū)域(如內(nèi)存)中;再將該區(qū)域中的索引信息按照過期時(shí)間的先后順序進(jìn)行排列,從而建立索引結(jié)構(gòu)。
[0035]進(jìn)一步地,各個(gè)數(shù)據(jù)可以采用文件的形式存儲(chǔ)在緩存服務(wù)器的磁盤中,索引結(jié)構(gòu)可以存儲(chǔ)在緩存服務(wù)器的內(nèi)存中。緩存服務(wù)器通過將各個(gè)數(shù)據(jù)以單個(gè)文件的形式存儲(chǔ)在其磁盤中,可以防止系統(tǒng)在退出或者出現(xiàn)故障重啟時(shí)造成的數(shù)據(jù)丟失;通過將索引結(jié)構(gòu)存儲(chǔ)在內(nèi)存中,可以減少磁盤的輸入/輸出端口的訪問壓力,提高數(shù)據(jù)查找速度。
[0036]參見圖3,為本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例流程圖,該實(shí)施例從緩存服務(wù)器側(cè)進(jìn)行描述,其與圖1所示實(shí)施例的區(qū)別在于,索引信息還可以包括數(shù)據(jù)的文件名,且在建立用于存儲(chǔ)各個(gè)數(shù)據(jù)的索引信息的索引結(jié)構(gòu)之后,還包括以下步驟:
[0037]步驟301、接收客戶端發(fā)送的數(shù)據(jù)請(qǐng)求報(bào)文,該數(shù)據(jù)請(qǐng)求報(bào)文包括客戶端所請(qǐng)求的數(shù)據(jù)的文件名。
[0038]步驟302、將數(shù)據(jù)請(qǐng)求報(bào)文中的文件名與索引信息中的文件名進(jìn)行匹配,確定客戶端所請(qǐng)求的數(shù)據(jù)的索引信息。
[0039]在本實(shí)施例中,在將數(shù)據(jù)請(qǐng)求報(bào)文中的文件名與索引信息中的文件名進(jìn)行匹配時(shí),若數(shù)據(jù)請(qǐng)求報(bào)文中的文件名與索引信息中的文件名相同,則確定該索引信息為客戶端所請(qǐng)求的數(shù)據(jù)的索引信息。
[