一種基于稀疏解析的索引信息存儲、查詢方法及存儲系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于稀疏解析的索引信息存儲、查詢方法及存儲系統(tǒng),所述存儲方法包含:步驟101)用于將獲得的索引內(nèi)容進(jìn)行快速稀疏化解析;步驟102)用于將快速稀疏化解析后的索引信息存儲在設(shè)定的存儲結(jié)構(gòu)中,所述的設(shè)定的存儲結(jié)構(gòu)為:存放多個不同倍速子文件的索引參數(shù),且與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放;其中,所述稀疏化解析得到的索引信息就是存儲結(jié)構(gòu)中的索引參數(shù)。所述步驟101)進(jìn)一步包含:步驟101-1)根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,所述索引頭信息中包含該索引內(nèi)容的總長度、描述信息、各子文件信息和幀索引信息;步驟101-2)根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取,并解析抽取部分的幀索引信息。
【專利說明】一種基于稀疏解析的索引信息存儲、查詢方法及存儲系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及流媒體服務(wù)器系統(tǒng)中索引信息存儲結(jié)構(gòu)設(shè)計、索引信息稀疏化解析、快速查詢及緩存技術(shù),具體本發(fā)明提供一種基于稀疏解析的索引信息存儲、查詢方法及存儲系統(tǒng)。
【背景技術(shù)】
[0002]作為輿論傳播的重要陣地,我國的廣播電視快速發(fā)展。在未來國家信息化基礎(chǔ)建設(shè)中,廣播電視網(wǎng)絡(luò)具有舉足輕重的地位和作用,我們國家提出了加快發(fā)展NGB (NextGeneration Broadcasting Network)的發(fā)展計劃。NGB業(yè)務(wù)多以流媒體形式展開,流媒體服務(wù)是其核心技術(shù)之一。流媒體系統(tǒng)中索引信息的快速處理、查詢和緩存直接影響流媒體服務(wù)系統(tǒng)的性能。為了提高流媒體服務(wù)系統(tǒng)的整體性能,需要解決索引信息的快速解析、查找和緩存。
[0003]由于流媒體服務(wù)系統(tǒng)內(nèi)存空間有限,很難將所有內(nèi)容的索引信息都直接緩存在內(nèi)存中。此時,可考慮將解析后的索引信息在內(nèi)存中的映像直接寫入磁盤進(jìn)行緩存,當(dāng)有用戶點播時再快速讀取出來,從而提高系統(tǒng)性能。從磁盤中讀寫索引信息相對于直接訪問內(nèi)存中的索引信息,磁盤I/o操作比較耗時。要達(dá)到上述目的,就要求解析后內(nèi)存中的索引信息盡量小,內(nèi)存空間連續(xù)。新奧特(北京)視頻技術(shù)有限公司申請的《一種支持TS流媒體文件幀精確定位的索引方法及系統(tǒng)》專利中公開了一種實現(xiàn)TS流媒體文件直接幀精確定位的索引方法,根據(jù)TS流媒體文件中的視音頻數(shù)據(jù)流的基本信息生成索引文件的基本結(jié)構(gòu)。這種方法只適用于直接從單個流媒體中生成索引信息,并不支持多個倍速子文件情況下索引信息的構(gòu)建、查詢及緩存。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于,為提聞流媒體服務(wù)系統(tǒng)的性能,提出一種索引/[目息聞效存儲結(jié)構(gòu),同時提出一種索引內(nèi)容稀疏化解析、快速查詢和緩存方法。
[0005]為實現(xiàn)上述目的,本發(fā)明提供了一種基于稀疏解析的索引信息存儲方法,所述方法包含:
[0006]步驟101)用于將獲得的索引內(nèi)容進(jìn)行快速稀疏化解析;
[0007]步驟102)用于將快速稀疏化解析后的索引信息存儲在設(shè)定的存儲結(jié)構(gòu)中,所述的設(shè)定的存儲結(jié)構(gòu)為:存放多個不同倍速子文件的索引參數(shù),且與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放;其中,所述稀疏化解析得到的索引信息就是存儲結(jié)構(gòu)中的索引參數(shù)。
[0008]上述步驟101)進(jìn)一步包含:
[0009]步驟101-1)根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,所述索引頭信息中包含該索引內(nèi)容的總長度、描述信息、各子文件信息和幀索引信息;
[0010]步驟101-2)根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取,并解析抽取部分的幀索引信息。
[0011]上述步驟102)之后還包含如下步驟:
[0012]使用內(nèi)存中索引信息結(jié)構(gòu)指針以及索引信息大小,將所述索引信息寫入磁盤中進(jìn)行緩存。
[0013]當(dāng)需要從磁盤中恢復(fù)索引信息映像時,首先從磁盤中讀出已緩存的索引信息到內(nèi)存中,所述索引信息結(jié)構(gòu)中包含其自身的結(jié)構(gòu)信息,因此流媒體服務(wù)系統(tǒng)可直接用來查詢。
[0014]基于上述存儲方法中定義的存儲方式本發(fā)明還提供了一種播放倍速切換查詢方法,所述查詢方法包含如下步驟:
[0015]步驟201)根據(jù)索引信息結(jié)構(gòu)中的索引信息,設(shè)切換前播放內(nèi)容的倍速Hi1、跳變時播放到的I幀序號P以及跳變后內(nèi)容的倍速Hi2、跳變后開始播放的I幀序號為q,根據(jù)式q= (Hi2Zm1)^p計算切換后的I幀序號;
[0016]步驟202)根據(jù)計算得到的I幀序號從索引信息結(jié)構(gòu)中查詢到該I幀在m2倍速子文件中的字節(jié)偏移,流媒體系統(tǒng)再從該字節(jié)偏移位置開始進(jìn)行流化,完成播放內(nèi)容的倍速切換。
[0017]基于上述方法,本發(fā)明還提供了一種基于稀疏解析的索引信息存儲系統(tǒng),所述系統(tǒng)包含:
[0018]稀疏化處理模塊,用于將獲得的索引內(nèi)容進(jìn)行快速稀疏化解析;
[0019]存儲驅(qū)動模塊,用于將快速稀疏化解析后的索引信息存儲在設(shè)定的存儲模塊中;
[0020]所述的存儲模塊的存儲結(jié)構(gòu)為:存放多個不同倍速子文件的索引參數(shù),且與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放。
[0021]上述稀疏化處理模塊進(jìn)一步包含:
[0022]索引頭信息獲取子模塊,用于根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,所述索引頭信息中包含該索引內(nèi)容的總長度、各子文件信息和幀索引信息;
[0023]采樣抽取子模塊,用于根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取,并解析抽取部分的幀索引信息得到每個子文件的基本信息,所述基本信息包含該子文件中的I幀、P幀和B幀的數(shù)量。
[0024]上述系統(tǒng)還包含:
[0025]緩存驅(qū)動模塊,用于使用內(nèi)存中索引信息結(jié)構(gòu)指針以及索引信息大小,將所述索引信息寫入磁盤中進(jìn)行緩存。
[0026]當(dāng)需要從磁盤中恢復(fù)索引信息映像時,首先從磁盤中讀出已緩存的索引信息到內(nèi)存中,所述索引信息結(jié)構(gòu)中包含其自身的結(jié)構(gòu)信息,因此流媒體服務(wù)系統(tǒng)可直接用來查詢。
[0027]本發(fā)明的優(yōu)點在于,本發(fā)明提出的索引信息存儲結(jié)構(gòu)所占用內(nèi)存連續(xù),連續(xù)的內(nèi)存空間對應(yīng)該索引信息的內(nèi)存映像可快速寫入磁盤。同時采取稀疏化解析方法,減小了索引信息占用的內(nèi)存空間,采用幀存儲序號的關(guān)聯(lián)關(guān)系的快速查詢可大減少索引信息的查詢時間。另外,由于索引信息存儲結(jié)構(gòu)中除了存儲索引信息外還包含該結(jié)構(gòu)本身的結(jié)構(gòu)信息,因此流媒體服務(wù)系統(tǒng)可快速地讀取緩存在磁盤中的索引信息映像到內(nèi)存直接使用。
【專利附圖】
【附圖說明】
[0028]圖1為本發(fā)明的索引內(nèi)容稀疏化解析示意圖;[0029]圖2為本發(fā)明的解析流程圖;
[0030]圖3為本發(fā)明的索引信息查詢示意圖;
[0031]圖4為本發(fā)明的索引內(nèi)容緩存和恢復(fù)示意圖。
【具體實施方式】
[0032]下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)的說明。
[0033]本發(fā)明提供一種流媒體系統(tǒng)中索引信息管理方法:索引信息采用同倍速連續(xù)存儲結(jié)構(gòu),其內(nèi)存映像可直接磁盤存儲;對視頻的原始索引信息進(jìn)行稀疏化處理,減少信息空間大??;基于幀存儲序號的關(guān)聯(lián)關(guān)系,進(jìn)行不同倍速播放切換的定位;
[0034]上述索引信息的存儲結(jié)構(gòu)為:包含多個不同倍速子文件的索引參數(shù),與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放。
[0035]上述方案包括但不僅限于對1、B、P幀索引信息按照各不同子文件的倍速比值進(jìn)行采樣抽取。
[0036]上述方案基于切換前播放內(nèi)容的倍速值ml、已播放到的I幀序號P以及切換后內(nèi)容的倍速值m2,根據(jù)公式q=(m2/ml)*p計算切換后的I幀序號q,再根據(jù)該I幀序號從索引信息結(jié)構(gòu)中查詢到對應(yīng)I幀的字節(jié)偏移。
[0037]綜上所述,本發(fā)明提出一種索引信息高效存儲結(jié)構(gòu),該結(jié)構(gòu)包含多個不同倍速子文件的索引參數(shù),與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放。
[0038]本發(fā)明提出一種索引內(nèi)容稀疏化解析:在完成索引頭信息和VOD資產(chǎn)信息的解析后,根據(jù)已經(jīng)解析得到的子文件數(shù)量依次解析得到每個子文件的基本信息,每個子文件基本信息中都包括該子文件中I幀、P幀、B幀的數(shù)量。在解析索引信息時,由于隨著點播內(nèi)容碼率及內(nèi)容時間的增加,其I幀數(shù)量越來越大,如果全部存儲原始索引內(nèi)容中的I幀、P幀和B幀索引信息,將導(dǎo)致索引信息結(jié)構(gòu)占用過大的內(nèi)存空間。因此,本發(fā)明方法采取稀疏化的方法,可根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取。解析抽取部分幀索引信息,保證索引信息可用性的同時減小其占用的內(nèi)存空間。
[0039]基于幀存儲序號的關(guān)聯(lián)關(guān)系,索引信息結(jié)構(gòu)快速查詢方法,包含:流媒體服務(wù)系統(tǒng)中最常見的查詢?yōu)閮?nèi)容播放倍速切換查詢,即在不同的倍速文件之間進(jìn)行切換前后的I幀字節(jié)偏移查詢。根據(jù)索引信息結(jié)構(gòu)中的索引信息,設(shè)切換前播放內(nèi)容的倍速%、跳變時播放到的I幀序號P以及跳變后內(nèi)容的倍速Hi2、跳變后開始播放的I幀序號為q,根據(jù)式q=(m2/Hi1)*?可計算切換后的I幀序號,再根據(jù)I幀序號可從索引信息結(jié)構(gòu)中查詢到該I幀在叫倍速子文件中的字節(jié)偏移。流媒體系統(tǒng)再從該字節(jié)偏移位置開始進(jìn)行流化,完成播放內(nèi)容的倍速切換。
[0040] 本發(fā)明提出一種index索引信息的快速緩存與映像恢復(fù)方法,包含:流媒體服務(wù)系統(tǒng)中,根據(jù)點播內(nèi)容時長及內(nèi)容碼率的不同,索引內(nèi)容大小不同,它們之間成正比例關(guān)系。根據(jù)統(tǒng)計,一個播放時長為62分鐘、碼率為7.5Mbps的點播內(nèi)容,其I幀數(shù)量為3700個,index索引內(nèi)容大小為3.5M字節(jié),解析完后的索引信息占用的內(nèi)存空間為512K字節(jié)左右,如果考慮不存儲B幀和P幀的索引信息,則解析后的索引信息占用空間為100K字節(jié)左右。同時,索引信息在內(nèi)存中占用空間連續(xù),使用內(nèi)存中索引信息結(jié)構(gòu)指針以及索引信息大小,可將其快速地寫入磁盤中,達(dá)到緩存的目的。[0041]當(dāng)需要從磁盤中恢復(fù)索引信息映像時,首先從磁盤中讀出已緩存的索引信息到內(nèi)存中,由于該信息結(jié)構(gòu)中包含其自身的結(jié)構(gòu)信息,因此流媒體服務(wù)系統(tǒng)可直接用來查詢。
[0042]本發(fā)明首先提出一種高效的索引信息存儲結(jié)構(gòu)。在獲得索引內(nèi)容后進(jìn)行快速稀疏化解析,并將得到的索引信息存儲在該結(jié)構(gòu)中,提供快速查詢;同時可以將該結(jié)構(gòu)的內(nèi)存映像快速地緩存到硬件設(shè)備中,并可以快速地從硬件設(shè)備映射到內(nèi)存映像,以達(dá)到索引信息緩存的目的。
[0043]本發(fā)明提出一種索引內(nèi)容稀疏化解析和快速查詢方法,根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣,抽取部分幀索引信息解析,保證索引信息可用性的同時減小其占用的內(nèi)存空間。圖1為本發(fā)明的一種稀疏化方法實施例,針對1、±2、±4、±8、±16、土32倍速(其中正倍速表示快進(jìn)文件,負(fù)的倍速表示快退文件)的播放子文件,其在索引內(nèi)容中的幀索引按照1:2:4:8:16:32的比例解析抽取。其它合適的稀疏化方法也同樣適用。
[0044]如圖2為本發(fā)明的索引內(nèi)容解析模塊的具體實施框圖,根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,頭信息中包含該索引內(nèi)容的總長度、各子文件信息、幀索引信息及其他可用信息;根據(jù)已經(jīng)解析得到的子文件數(shù)量依次解析得到每個子文件的基本信息,每個子文件基本信息中都包括該子文件中I幀、P幀、B幀的數(shù)量。在解析索引信息時,由于隨著點播內(nèi)容碼率及內(nèi)容時間的增加,其I幀數(shù)量越來越大,如果全部存儲原始索引內(nèi)容中的I幀、P幀和B幀索引信息,將導(dǎo)致索引信息結(jié)構(gòu)占用過大的內(nèi)存空間。因此,在解析索引信息過程中采取稀疏化的方法減小其大小。
[0045]如圖3為索引信息查詢方法,主要包括NPT時間查詢、子文件信息查詢、幀字節(jié)偏移查詢等。對于播放內(nèi) 容的切換查詢,即在不同的倍速文件之間進(jìn)行切換前后的I幀字節(jié)偏移查詢,根據(jù)索引信息結(jié)構(gòu)中的索引信息,設(shè)切換前播放內(nèi)容的倍速m1、
[0046]跳變時播放到的I幀序號P以及跳變后內(nèi)容的倍速m2、跳變后開始播放的I幀序號為q,根據(jù)式Q=Oii2Ai1)*?可計算切換后的I幀序號,再根據(jù)I幀序號可從索引信息結(jié)構(gòu)中查詢到該I幀在m2倍速子文件中的字節(jié)偏移。流媒體系統(tǒng)再從該字節(jié)偏移位置開始進(jìn)行流化,完成播放內(nèi)容的倍速切換。
[0047]如圖4為索引信息快速緩存與恢復(fù)方法。主要包括索引信息結(jié)構(gòu)的分配和釋放,以及快速緩存與恢復(fù)。由于同倍速子文件的幀索引信息連續(xù)存放,因此可直接索引信息的內(nèi)存映像直接寫入磁盤達(dá)到緩存的目的。在流媒體系統(tǒng)需要該索引信息時直接從磁盤讀入內(nèi)存就可直接進(jìn)行查詢。
[0048]總之,本發(fā)明提供了一種流媒體系統(tǒng)中索引信息管理方法,所述方法包含:設(shè)計一種內(nèi)存占用連續(xù)的index信息存儲數(shù)據(jù)結(jié)構(gòu),一種index內(nèi)容稀疏化解析和快速查詢的方法。從index內(nèi)容解析得到最終的index索引信息,將索引信息存儲在該數(shù)據(jù)結(jié)構(gòu)中,可進(jìn)行快速查詢、內(nèi)存映像快速緩存與恢復(fù),從而提高流媒體服務(wù)系統(tǒng)性能。
[0049]最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種基于稀疏解析的索引信息存儲方法,所述方法包含: 步驟101)用于將獲得的索引內(nèi)容進(jìn)行快速稀疏化解析; 步驟102)用于將快速稀疏化解析后的索引信息存儲在設(shè)定的存儲結(jié)構(gòu)中,所述的設(shè)定的存儲結(jié)構(gòu)為:存放多個不同倍速子文件的索引參數(shù),且與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放;其中,所述稀疏化解析得到的索引信息為存儲結(jié)構(gòu)中存儲的索引參數(shù)。
2.根據(jù)權(quán)利要求1所述的基于稀疏解析的索引信息存儲方法,其特征在于,所述步驟101)進(jìn)一步包含: 步驟101-1)根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,所述索引頭信息中包含該索引內(nèi)容的總長度、描述信息、各子文件信息和幀索引信息; 步驟101-2)根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取,并解析抽取部分的幀索引信息。
3.根據(jù)權(quán)利要求1所述的基于稀疏解析的索引信息存儲方法,其特征在于,所述步驟102)之后還包含如下步驟: 使用內(nèi)存中索引信息結(jié)構(gòu)指針以及索引信息大小,將所述索引信息寫入磁盤中進(jìn)行緩存。
4.根據(jù)權(quán)利要求3所述的基于稀疏解析的索引信息存儲方法,其特征在于,當(dāng)需要從磁盤中恢復(fù)索引信息映像時,首先從磁盤中讀出已緩存的索引信息到內(nèi)存中,所述索引信息結(jié)構(gòu)中包含其自身的結(jié)構(gòu)信息。
5.一種播放倍速切換查詢方法,該方法基于權(quán)利要求1的索引信息存儲方法存儲的索引信息進(jìn)行查詢,所述查詢方法包含如下步驟: 步驟201)根據(jù)索引信息結(jié)構(gòu)中的索引信息,設(shè)切換前播放內(nèi)容的倍速m1、跳變時播放到的I幀序號P以及跳變后內(nèi)容的倍速m2、跳變后開始播放的I幀序號為q,根據(jù)式q=(m2/Hi1) *p計算切換后的I幀序號; 步驟202)根據(jù)計算得到的I幀序號從索引信息結(jié)構(gòu)中查詢到該I幀在m2倍速子文件中的字節(jié)偏移,流媒體系統(tǒng)再從該字節(jié)偏移位置開始進(jìn)行流化,完成播放內(nèi)容的倍速切換。
6.一種基于稀疏解析的索引信息存儲系統(tǒng),所述系統(tǒng)包含: 稀疏化處理模塊,用于將獲得的索引內(nèi)容進(jìn)行快速稀疏化解析; 存儲驅(qū)動模塊,用于將快速稀疏化解析后的索引信息存儲在設(shè)定的存儲模塊中; 所述的存儲模塊的存儲結(jié)構(gòu)為:存放多個不同倍速子文件的索引參數(shù),且與同一個倍速播放相關(guān)的所有幀描述信息為連續(xù)存放。
7.根據(jù)權(quán)利要求6所述的基于稀疏解析的索引信息存儲系統(tǒng),其特征在于,所述稀疏化處理模塊進(jìn)一步包含: 索引頭信息獲取子模塊,用于根據(jù)Index內(nèi)容的結(jié)構(gòu)規(guī)范,首先獲得索引頭信息,所述索引頭信息中包含該索引內(nèi)容的總長度、各子文件信息和幀索引信息; 采樣抽取子模塊,用于根據(jù)各子文件播放倍速的比值進(jìn)行幀索引信息的采樣抽取,并解析抽取部分的幀索引信息得到每個子文件的基本信息,所述基本信息包含該子文件中的I幀、P幀和B幀的數(shù)量。
8.根據(jù)權(quán)利要求6所述的基于稀疏解析的索引信息存儲系統(tǒng),其特征在于,所述系統(tǒng)還包含: 緩存驅(qū)動模塊,用于使用內(nèi)存中索引信息結(jié)構(gòu)指針以及索引信息大小,將所述索引信息寫入磁盤中進(jìn)行緩存。
9.根據(jù)權(quán)利要求8所述的基于稀疏解析的索引信息存儲系統(tǒng),其特征在于,當(dāng)需要從磁盤中恢復(fù)索引信息映像時,首先從磁盤中讀出已緩存的索引信息到內(nèi)存中,所述索引信息結(jié)構(gòu)中包含其自 身的結(jié)構(gòu)信息,因此流媒體服務(wù)系統(tǒng)可直接用來查詢。
【文檔編號】G06F17/30GK103942216SQ201310022000
【公開日】2014年7月23日 申請日期:2013年1月21日 優(yōu)先權(quán)日:2013年1月21日
【發(fā)明者】倪宏, 李軍, 李明哲, 陳君 申請人:中國科學(xué)院聲學(xué)研究所, 北京海力匯通數(shù)字系統(tǒng)技術(shù)有限公司