專利名稱:管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法和設(shè)備,和一種用于記錄設(shè)計(jì)以執(zhí)行該相同的方法的程序的計(jì)算機(jī)可讀記錄介質(zhì);更具體地說(shuō),涉及一種方法,用于產(chǎn)生、存儲(chǔ)、刪除和更新通過(guò)分割用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)獲得的片段,并產(chǎn)生、存儲(chǔ)、刪除和更新與該片段相關(guān)聯(lián)的索引,和一種用于記錄設(shè)計(jì)以執(zhí)行該相同的方法的程序的計(jì)算機(jī)可讀記錄介質(zhì)。
背景技術(shù):
包含用于處理數(shù)字?jǐn)?shù)據(jù)的數(shù)字電路的數(shù)字裝置逐漸變得普及。數(shù)字裝置的例子包括計(jì)算機(jī)、打印機(jī)、掃描儀、尋呼機(jī)、數(shù)字照相機(jī)、傳真機(jī)、數(shù)字復(fù)印機(jī)、個(gè)人數(shù)字助理(PDA)、蜂窩式移動(dòng)電話、數(shù)字家庭電器、數(shù)字電話、數(shù)字投影機(jī)、家庭服務(wù)器、數(shù)字?jǐn)z像機(jī)、數(shù)字電視廣播接收機(jī)、數(shù)字衛(wèi)星廣播接收機(jī)、和機(jī)頂盒。
同時(shí),由數(shù)字裝置處理的數(shù)字?jǐn)?shù)據(jù)可以以各種程序語(yǔ)言表示。特別地,包括標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)、超文本標(biāo)記語(yǔ)言(HTML)和可擴(kuò)展標(biāo)記語(yǔ)言(XML)的標(biāo)記語(yǔ)言由于它們?cè)鰪?qiáng)的傳送結(jié)構(gòu)化信息的能力正在得到普及。關(guān)于標(biāo)記語(yǔ)言的詳細(xì)信息可以在http//www.w3.org或http//www.xml.com上找到。最通用的標(biāo)記語(yǔ)言是XML,其是正式的萬(wàn)維網(wǎng)聯(lián)盟(W3C)標(biāo)準(zhǔn),并且各種其它標(biāo)記語(yǔ)言預(yù)期在將來(lái)得到發(fā)展。
如圖1所示,以標(biāo)記語(yǔ)言為格式的數(shù)字?jǐn)?shù)據(jù)被劃分成結(jié)構(gòu)和內(nèi)容。例如,如圖2所示,數(shù)字?jǐn)?shù)據(jù)可以具有由根節(jié)點(diǎn)“TVAMain”10和子節(jié)點(diǎn)“ProgramDescription ”、“ProgramLocationTable”、“BroadcastEvent”11、“EventDescription”、“Serviceld”12、“PublishedTime”13、和“PublishedDuration”14組成的分級(jí)結(jié)構(gòu)。圖2示出了用作在Tv-Anytime論壇中用于廣播節(jié)目的元數(shù)據(jù)的數(shù)字?jǐn)?shù)據(jù)的分級(jí)結(jié)構(gòu)的一部分,該論壇是成立于1999年9月的私營(yíng)組織,致力于開(kāi)發(fā)在用戶環(huán)境如具有高存儲(chǔ)容量為個(gè)人所用的個(gè)人數(shù)字記錄機(jī)(PDR)提供視聽(tīng)功能和其他服務(wù)的規(guī)范。
當(dāng)處理用標(biāo)記語(yǔ)言寫(xiě)的并根據(jù)預(yù)定的協(xié)議作為格式的數(shù)字?jǐn)?shù)據(jù)時(shí),使用關(guān)于分級(jí)的結(jié)構(gòu)的信息數(shù)字裝置能得到更快的對(duì)想得到的內(nèi)容的存取。
因此,用標(biāo)記語(yǔ)言寫(xiě)的并具有根據(jù)預(yù)定的協(xié)議預(yù)先確定的格式的數(shù)字?jǐn)?shù)據(jù)能在各種符合該協(xié)議的數(shù)字裝置,如計(jì)算機(jī)、PDA和蜂窩式移動(dòng)電話中被有效地處理。
由于這些優(yōu)點(diǎn),用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)通常被用于具有卓越的計(jì)算能力的企業(yè)級(jí)系統(tǒng)和具有有限的計(jì)算能力的小型數(shù)字裝置。
用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)具有范圍從個(gè)人信息如電話號(hào)碼列表到用于描述和管理多媒體數(shù)據(jù)的元數(shù)據(jù)的廣泛的用途。有各種不同類型的具有不同內(nèi)容和結(jié)構(gòu)的數(shù)字?jǐn)?shù)據(jù)用于各種不同類型的應(yīng)用。
各種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的方法已經(jīng)被提出。例如,一個(gè)典型的用于存儲(chǔ)和獲取XML數(shù)據(jù)的方法是如圖3所示的節(jié)點(diǎn)編號(hào)方案。節(jié)點(diǎn)編號(hào)方案在[1]Chun Zhang,Jeffrey F.Naughton,Qiong Luo,David J.De Witt,和Guy M.Lohman“On Supporting Containment Queries in Relational DatabaseManagement Systems,”In Proc.of the 2001 ACM-SIGMOD conference,SantaBarbara,CA,USA,May 2001,[2]Quanzhong Li and Bongki Moon“Indexing andQuerying XML Data for Regular Path Expressions,”In Proc.of the 26th VLDBconference,Rome,Italy,Sep.2001,和[3]Torsten Grust“Accelerating XPathLocation Steps,”In Proceedings of the 2002 ACM-SIGMOD conference,pages109-120,Madison,Wisconsin,June 2002中被提出。
節(jié)點(diǎn)編號(hào)方案允許在XML文檔中的每個(gè)節(jié)點(diǎn)(元素或?qū)傩?被自然地映射到關(guān)系表中的元組。每一個(gè)元組被表示成結(jié)構(gòu)<doc_id,begin_pos,end_pos,level>。
這里,doc_id是文檔的ID,begin_pos和end_pos表示在文檔中關(guān)于節(jié)點(diǎn)的位置的信息,并且level表示節(jié)點(diǎn)離根節(jié)點(diǎn)的深度。例如,對(duì)應(yīng)于呈現(xiàn)在圖1的XML文檔中的ProgramInformation節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的元組可以被使用節(jié)點(diǎn)編號(hào)方案通過(guò)顯示在圖3中的樹(shù)的每一個(gè)節(jié)點(diǎn)表示。
在圖3中,由于所有的節(jié)點(diǎn)屬于同一個(gè)文檔,所以doc_id被設(shè)置為1,并且終端節(jié)點(diǎn)被用作指定父節(jié)點(diǎn)的文本值的特殊節(jié)點(diǎn)類型。
在節(jié)點(diǎn)編號(hào)方案中,兩個(gè)節(jié)點(diǎn)之間的祖先-后代和父-子關(guān)系在XPath語(yǔ)言和XQuery語(yǔ)言中被分別使用運(yùn)算符“//”和“/”表示,并且關(guān)系被通過(guò)比較每個(gè)元組的字段值確定。例如,如果節(jié)點(diǎn)“A”是節(jié)點(diǎn)“B”的祖先(即A//B),則節(jié)點(diǎn)“A”和“B”滿足條件“A.doc_id==B.doc_id,A.begin_pos<B.begin_pos,和A.end_pos>B.end_pos”。如果節(jié)點(diǎn)“A”是節(jié)點(diǎn)“B”的父(即A/B),則“A.level==B.level-1”被加到上面的條件中。
在XPath或XQuery語(yǔ)言中,結(jié)構(gòu)化連接可以使用上述條件被執(zhí)行以找到滿足表示為“A/B”或“A//B”的查詢的一對(duì)節(jié)點(diǎn)。
節(jié)點(diǎn)編號(hào)方案使普通的XML數(shù)據(jù)的存儲(chǔ)和獲取可以不需要與輸入數(shù)據(jù)相關(guān)的XML方案(schema)或文檔類型定義(DTD)的信息。但是,這個(gè)方案在具有有限的計(jì)算能力的小型數(shù)據(jù)裝置中存在一些缺點(diǎn)。用于處理路徑表達(dá)式以獲取XML數(shù)據(jù)的必需被執(zhí)行的連接的次數(shù)與路徑表達(dá)式的長(zhǎng)度相同。
由于在小型數(shù)字裝置中沒(méi)有足夠的內(nèi)存用于計(jì)算,所以輸入/輸出操作被頻繁產(chǎn)生,這可能導(dǎo)致重大的性能下降。在存儲(chǔ)XML數(shù)據(jù)時(shí)出現(xiàn)相同的結(jié)果。更新子節(jié)點(diǎn)可能導(dǎo)致更新父節(jié)點(diǎn),因此使更新操作效率低。
另一個(gè)用于存儲(chǔ)和獲取文檔的方法是屬性內(nèi)嵌技術(shù)。這個(gè)技術(shù)通過(guò)內(nèi)嵌一個(gè)或多個(gè)XML節(jié)點(diǎn)到一個(gè)單一的表中,不但防止由節(jié)點(diǎn)編號(hào)導(dǎo)致的過(guò)多的片段,而且允許使用給定的DTD或XML方案使關(guān)系數(shù)據(jù)庫(kù)被自動(dòng)實(shí)現(xiàn)。
關(guān)于屬性內(nèi)嵌的更多的信息,參見(jiàn)[Javavel Shanmugasundaram,KristinTufte,Chun Zhang,Gang He,David J.Dewitt,and Jeffrey F.Naughton“Relational Databases for Querying XML DocumentsLimitations andOpportunities,”In Proc.of the 25th VLDB conference,pages 302-314,Edinburgh,Scotland,Sep.1999]。
然而,和節(jié)點(diǎn)編號(hào)方案一樣,當(dāng)DTD中的很多的節(jié)點(diǎn)中的每一個(gè)具有多個(gè)基時(shí),屬性內(nèi)嵌需要大量的計(jì)算。此外,由于該方法對(duì)XML數(shù)據(jù)的方案(DTD)非常敏感,所以節(jié)點(diǎn)屬性的改變導(dǎo)致數(shù)據(jù)庫(kù)的重建。
因此,需要一種用于有效管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的方法。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種方法和設(shè)備,用于有效地管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù);和一種計(jì)算機(jī)可讀記錄介質(zhì),用于記錄設(shè)計(jì)以執(zhí)行該方法的程序。
本發(fā)明的另一個(gè)目的是提供一種方法和設(shè)備,用于有效地為用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)生成索引;和一種記錄介質(zhì),用于存儲(chǔ)設(shè)計(jì)以執(zhí)行該索引方法的程序。
本發(fā)明的一方面提供一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的設(shè)備,包含數(shù)據(jù)提供器,用于提供按預(yù)定節(jié)點(diǎn)組分割的具有用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的片段;存儲(chǔ)單元,用于存儲(chǔ)片段和用于在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符;和數(shù)據(jù)處理器,用于在請(qǐng)求數(shù)據(jù)時(shí)從存儲(chǔ)單元獲取包含請(qǐng)求的數(shù)據(jù)的片段并提供該片段。
該裝置可以進(jìn)一步包含片段管理單元,用于分析由數(shù)據(jù)提供器提供的片段并存儲(chǔ)該片段和用于在逐個(gè)片段的基礎(chǔ)上在存儲(chǔ)單元中區(qū)分片段的標(biāo)識(shí)符。
當(dāng)分析的片段比先前存儲(chǔ)在存儲(chǔ)單元中的數(shù)據(jù)新時(shí),片段管理單元可以更新包含先前存儲(chǔ)的數(shù)據(jù)的片段。
同時(shí),該設(shè)備也可以進(jìn)一步包含索引管理單元,用于分析數(shù)據(jù)提供器提供的片段,產(chǎn)生相應(yīng)于數(shù)據(jù)的索引,并在存儲(chǔ)單元中在逐個(gè)索引的基礎(chǔ)上存儲(chǔ)產(chǎn)生的索引。
該數(shù)據(jù)提供器可以進(jìn)一步為片段提供索引。
另外,該設(shè)備可以進(jìn)一步包含索引管理單元,用于分析由數(shù)據(jù)提供器提供的索引,并存儲(chǔ)該索引和用于在數(shù)據(jù)存儲(chǔ)單元中在逐個(gè)索引的基礎(chǔ)上區(qū)分索引的標(biāo)識(shí)符。
當(dāng)分析的索引比先前存儲(chǔ)在存儲(chǔ)單元中的索引新時(shí),索引管理單元可以更新相應(yīng)的索引。
另外,數(shù)據(jù)提供器可以選擇性地提供在接收的數(shù)字廣播流中的分段的數(shù)據(jù)。
該設(shè)備可以進(jìn)一步包含元數(shù)據(jù)瀏覽器,用于解析由數(shù)據(jù)處理器提供的片段并將其輸出。
本發(fā)明的另一個(gè)方面提供一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法,包含提供按預(yù)定的節(jié)點(diǎn)組分割的具有用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的片段;分析片段并存儲(chǔ)片段和用于在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符;以及在請(qǐng)求數(shù)據(jù)時(shí),從存儲(chǔ)單元獲取包含被請(qǐng)求的數(shù)據(jù)的片段并將其輸出。
該方法可以進(jìn)一步包含當(dāng)分析的片段比先前存儲(chǔ)的新時(shí),更新相應(yīng)的先前存儲(chǔ)的片段。
另外,該方法可以進(jìn)一步包含分析提供的片段,產(chǎn)生相應(yīng)于數(shù)據(jù)的索引并存儲(chǔ)產(chǎn)生的索引。
該方法可以進(jìn)一步包含提供片段的索引。
該方法可以進(jìn)一步包含分析提供的索引并存儲(chǔ)該索引和用于在逐個(gè)索引的基礎(chǔ)上區(qū)分索引的標(biāo)識(shí)符。
當(dāng)被分析的索引比先前存儲(chǔ)的索引新時(shí),該方法可以進(jìn)一步包含更新相應(yīng)的先前存儲(chǔ)的索引。
該方法也可以進(jìn)一步包含在接收的數(shù)字廣播流中選擇性地提供分段的數(shù)據(jù)。
該方法可以進(jìn)一步包含分析提供的片段并將其輸出。
一種計(jì)算機(jī)可讀的記錄介質(zhì),用于記錄被建造以執(zhí)行上述方法的程序。
通過(guò)參照附圖對(duì)本發(fā)明的示例性的實(shí)施例的詳細(xì)描述,本發(fā)明的上述及其它特點(diǎn)和優(yōu)點(diǎn)將變得更清楚,其中圖1是典型的用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的示例性的圖表;圖2示出了用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的基本結(jié)構(gòu);圖3示出了使用傳統(tǒng)的節(jié)點(diǎn)編號(hào)方案用于存儲(chǔ)用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法;圖4是用于解釋用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的分段的概念性的圖表;圖5示出了根據(jù)本發(fā)明的實(shí)施例管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的概念;圖6示出了使用圖5所描述的數(shù)據(jù)管理概念管理圖1的數(shù)字?jǐn)?shù)據(jù)的概念;圖7是根據(jù)本發(fā)明的實(shí)施例管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的數(shù)字裝置的方框圖;圖8A到8C是示出根據(jù)本發(fā)明的實(shí)施例管理和獲取數(shù)據(jù)的方法的流程圖;圖9顯示了在普通電子節(jié)目指南(EPG)應(yīng)用中的網(wǎng)格狀指南屏幕;圖10是顯示分段的元數(shù)據(jù)的傳輸?shù)母拍钚詧D表;和圖11是根據(jù)本發(fā)明的另一個(gè)實(shí)施例用于處理用標(biāo)記語(yǔ)言寫(xiě)的元數(shù)據(jù)的數(shù)字廣播接收裝置的方框圖。
具體實(shí)施例方式
通過(guò)參考下面對(duì)示例性實(shí)施例和附圖的詳細(xì)描述,可以更容易地理解本發(fā)明的優(yōu)點(diǎn)及特點(diǎn)和實(shí)現(xiàn)本發(fā)明的方法。然而,本發(fā)明可以以多種不同的形式實(shí)施,不應(yīng)被解釋為局限于在此提出的實(shí)施例。更確切地說(shuō),提供這些實(shí)施例是為了公開(kāi)充分和完全,并且充分地給本領(lǐng)域的技術(shù)人員傳達(dá)本發(fā)明的概念,并且本發(fā)明將只由所附的權(quán)利要求限定。全文中相同的標(biāo)號(hào)始終表示相同的部件。
現(xiàn)將參考附圖對(duì)根據(jù)本發(fā)明的例證性的實(shí)施例的有效地管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法和裝置進(jìn)行詳細(xì)描述。
在說(shuō)明本發(fā)明的示例性的實(shí)現(xiàn)之前,將首先描述分段的概念。分段是指將用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)分割成較小的片段。本發(fā)明基本上以片段管理數(shù)字?jǐn)?shù)據(jù)。用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的分段策略可以由用于處理數(shù)字?jǐn)?shù)據(jù)的數(shù)字裝置或用于在多個(gè)數(shù)字裝置(下文稱作“域”)中發(fā)送和接收預(yù)定數(shù)字?jǐn)?shù)據(jù)的協(xié)議確定。
現(xiàn)將參照?qǐng)D4對(duì)分段的概念做簡(jiǎn)要地描述。如圖1和2所示的以標(biāo)記語(yǔ)言為格式的數(shù)字?jǐn)?shù)據(jù)被分成多個(gè)樹(shù)結(jié)構(gòu),其每一個(gè)被稱為片段。
例如,如果數(shù)字?jǐn)?shù)據(jù)被分塊成具有父節(jié)點(diǎn)TVAMain和預(yù)定的子節(jié)點(diǎn)(片段TVAMain)的樹(shù)結(jié)構(gòu),具有父節(jié)點(diǎn)ProgramInformation Table和在該父節(jié)點(diǎn)之下的子節(jié)點(diǎn)(片段ProgramInformation)的樹(shù)結(jié)構(gòu)、和具有父節(jié)點(diǎn)BroadcastEvent和在該父節(jié)點(diǎn)之下的子節(jié)點(diǎn)(片段BroadcastEvent)的樹(shù)結(jié)構(gòu),每一個(gè)被分塊的樹(shù)結(jié)構(gòu)當(dāng)作一個(gè)片段。
分段是用于管理或傳送大量數(shù)字?jǐn)?shù)據(jù)的有用的技術(shù)。例如,如果數(shù)字?jǐn)?shù)據(jù)被分塊為多個(gè)組織成相互可區(qū)分的片段,則可能只需獨(dú)立地存取或傳送所需的片段。
在域中的用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的分級(jí)結(jié)構(gòu)被劃分成一組片段或片段類型。片段類型可以是另一片段類型的子。盡管在圖4中數(shù)字?jǐn)?shù)據(jù)被分割成以上三種片段類型TVAMain、ProgramInformation和BroadcastEvent,但是分割的方法和片段的數(shù)量由特定域的分段策略任意地確定的。
同時(shí),由于每個(gè)片段可以被獨(dú)立地更新,所以屬于不同片段的兩個(gè)節(jié)點(diǎn)之間可以不再存在父-子關(guān)系。因此,當(dāng)對(duì)用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)分段時(shí)為了維持兩個(gè)節(jié)點(diǎn)之間的父-子關(guān)系,分段策略被設(shè)計(jì)成使得該兩個(gè)節(jié)點(diǎn)屬于相同的片段類型,或IDREF節(jié)點(diǎn)類型被使用以允許一個(gè)節(jié)點(diǎn)指向另一個(gè)節(jié)點(diǎn)。
數(shù)字?jǐn)?shù)據(jù)的分段對(duì)于存取用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)更有用,更具體地說(shuō),是存取包含在數(shù)字?jǐn)?shù)據(jù)中的預(yù)定節(jié)點(diǎn)。
為了實(shí)現(xiàn)這個(gè),首先,分段策略被用于找到包含期望的節(jié)點(diǎn)的片段,然后直接地存取適當(dāng)?shù)墓?jié)點(diǎn)。因此,為了得到需要的信息,可能只需對(duì)相關(guān)的片段而不是對(duì)所有的數(shù)字?jǐn)?shù)據(jù)進(jìn)行操作。
同時(shí),在可擴(kuò)展標(biāo)記語(yǔ)言(XML)的情況中,萬(wàn)維網(wǎng)聯(lián)盟(W3C)定義的XML路徑語(yǔ)言(XPath)可以被用于標(biāo)記包含在分段的數(shù)字?jǐn)?shù)據(jù)中的預(yù)定節(jié)點(diǎn)。這里,XPath是一種用于描述在XML文檔中到節(jié)點(diǎn)的路徑的語(yǔ)法。更具體地講,通過(guò)指定a)從數(shù)字?jǐn)?shù)據(jù)的根節(jié)點(diǎn)到包含相關(guān)節(jié)點(diǎn)的片段的父節(jié)點(diǎn)的絕對(duì)路徑,和b)從相關(guān)片段的父節(jié)點(diǎn)到相關(guān)節(jié)點(diǎn)的相對(duì)路徑,XPath被用于指出包含在片段中的相關(guān)的節(jié)點(diǎn)。
為了標(biāo)識(shí)分段的數(shù)字?jǐn)?shù)據(jù),使用絕對(duì)或相對(duì)路徑的指示方法可以被使用。例如,在每個(gè)片段中父節(jié)點(diǎn)的絕對(duì)路徑可以被用于標(biāo)識(shí)每個(gè)片段。除了使用Xpath確定絕對(duì)路徑之外,當(dāng)絕對(duì)路徑具有固定模式時(shí),絕對(duì)路徑可以根據(jù)預(yù)定的映射規(guī)則被以代碼表示。例如,如圖2和4中所示的片段BroadcastEvent可以使用XPath表示成“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”,相同的片段根據(jù)映射規(guī)則被表示成“FF01”。在這種情況下,片段類型BroadcastEvent可以被標(biāo)識(shí)為“FF01”。
現(xiàn)將對(duì)根據(jù)本發(fā)明的優(yōu)選的實(shí)施例的數(shù)據(jù)管理結(jié)構(gòu)進(jìn)行描述。
在這個(gè)實(shí)施例中,分段的數(shù)字?jǐn)?shù)據(jù)被在以下如表1所示的關(guān)系表中管理<表1>
表1包含每個(gè)片段的fragment_id、fragment_type、fragment_version和fragment_content。
這里,fragment_id表示每個(gè)片段的標(biāo)識(shí)符,用于在傳輸網(wǎng)絡(luò)或數(shù)據(jù)庫(kù)中區(qū)分片段;fragment_type表示相關(guān)片段的類型;fragment_version表示片段的版本;fragment_content表示存儲(chǔ)分段的數(shù)字?jǐn)?shù)據(jù)的倉(cāng)庫(kù)。在這種情況下,數(shù)字?jǐn)?shù)據(jù)可以被以文本或解析的形式存儲(chǔ)在片段中。
使用關(guān)系表管理分段的數(shù)據(jù)允許數(shù)字裝置有效地存取期望的信息而不需要處理所有的數(shù)字?jǐn)?shù)據(jù)。更具體地說(shuō),獲得存取期望的信息的第一步是使用先前描述的分段策略識(shí)別包含期望的信息的片段類型。
當(dāng)找到多個(gè)相同片段類型的片段時(shí),核對(duì)片段版本以選擇片段的最新版本。然后核對(duì)選擇的片段的片段內(nèi)容以獲得期望的信息。如果片段內(nèi)容是未解析的文本形式,則期望的信息可以通過(guò)在內(nèi)容上執(zhí)行解析被提取。
現(xiàn)將對(duì)根據(jù)本發(fā)明的一個(gè)優(yōu)選的實(shí)施例的數(shù)字?jǐn)?shù)據(jù)的索引結(jié)構(gòu)進(jìn)行描述。
為獲取滿足某種條件的片段,最好為在搜索條件下頻繁被涉及的節(jié)點(diǎn)生成索引,然后參照索引而不是檢查所有片段的內(nèi)容。
鍵值是節(jié)點(diǎn)值的索引可以為片段類型生成。例如,在圖1的XML文檔中,如果其鍵值是“類型”節(jié)點(diǎn)值的索引為片段類型ProgramInformation生成,則可能獲取屬于特定類型的節(jié)目的信息。
因此,值得為數(shù)字?jǐn)?shù)據(jù)提供索引結(jié)構(gòu)以允許對(duì)數(shù)字?jǐn)?shù)據(jù)有效地獲取和存取。
用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)中的節(jié)點(diǎn)可以被用作用于索引的鍵。例如,在圖2中,“PublishedTime”可以被用作用于索引的鍵。
如上所述,為了指定鍵,包含與該鍵相對(duì)應(yīng)的節(jié)點(diǎn)的片段的絕對(duì)路徑和在片段中的相對(duì)路徑可以被使用。
參照?qǐng)D2和圖4,如果“PublishedTime”被用作鍵,關(guān)于該鍵的信息可以被指定為a)包含節(jié)點(diǎn)“PublishedTime”的片段“BroadcastEvent”的絕對(duì)路徑“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”,和b)在片段“BroadcastEvent”中的節(jié)點(diǎn)“PublishedTime”的相對(duì)路徑“EventDescription/PublishedTime”。
總之,為了對(duì)用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)進(jìn)行有效的管理,值得將數(shù)據(jù)分段并以如上所述構(gòu)造的關(guān)系表管理片段。另外,最好提供索引結(jié)構(gòu)以對(duì)分段的數(shù)字?jǐn)?shù)據(jù)進(jìn)行有效的存取。
用于索引結(jié)構(gòu)中的鍵可以是包含在相應(yīng)片段中的節(jié)點(diǎn),并且使用索引結(jié)構(gòu)允許對(duì)包含期望的內(nèi)容的片段直接存取。此外,包含與鍵相對(duì)應(yīng)的節(jié)點(diǎn)的片段的絕對(duì)路徑和在片段中的相對(duì)路徑可以被用作關(guān)于鍵的信息。
除了使用XPath指定絕對(duì)和相對(duì)路徑作為關(guān)于鍵的信息外,當(dāng)絕對(duì)和相對(duì)路徑具有固定模式時(shí),絕對(duì)和相對(duì)路徑可以被以根據(jù)預(yù)定的映射規(guī)則的代碼來(lái)表示。例如,“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”和“EventDescription/PublishedTime”也可以分別由根據(jù)映射規(guī)則的“FF01”和“AA01”來(lái)表示。
根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的索引結(jié)構(gòu)在圖5中示出。
參照?qǐng)D5,基于標(biāo)記語(yǔ)言的數(shù)據(jù)的總體結(jié)構(gòu)包含四個(gè)組件IndexDictionary 100、IndexKeyfield 200、索引300a或300b和片段400。
如上所述,片段400是在其中存儲(chǔ)分段的數(shù)字?jǐn)?shù)據(jù)的關(guān)系表,包含fragment_id、fragment_type、fragment_version和fragment_content。
為了執(zhí)行索引,索引結(jié)構(gòu)包括IndexDictionary 100、IndexKeyfield 200和索引300a或300b。
多個(gè)形成索引300a或300b的條目中的每一個(gè)包含字段key_value、fragment_id、fragment_type和fragment_version。鍵值可以包含多個(gè)被定義為一個(gè)或多個(gè)字段的子鍵值。字段fragment_id和fragment_version與在片段400中它們的對(duì)應(yīng)字段相同。片段的索引可以用眾所周知的索引技術(shù)例如B-tree生成。
由于數(shù)據(jù)庫(kù)可以包含一個(gè)或多個(gè)索引,兩個(gè)附加的數(shù)據(jù)結(jié)構(gòu)可以被提供用作指定每一個(gè)索引。
IndexDictionary 100描述關(guān)于每一個(gè)索引的信息,并包含index_id、index_version、fragment_type、num_key_field和key_field_id。
這里,index_id是索引的ID,index_version是索引的版本,num_key_field是包含在鍵中的字段(節(jié)點(diǎn))的數(shù)量,和key_field_id是鍵字段的ID。IndexKeyfield 200指定在索引300a或300b中關(guān)于鍵字段的信息并包含key_field_id、key_field_path和key_field_type。key_field_id是鍵字段的ID,key_field_path是從包含相關(guān)鍵字段的片段到在標(biāo)記語(yǔ)言數(shù)據(jù)結(jié)構(gòu)中的相關(guān)鍵字段的相對(duì)路徑,和key_field_type是在數(shù)據(jù)庫(kù)中的鍵字段的類型。在另一個(gè)實(shí)施例中,鍵字段的從根節(jié)點(diǎn)到在標(biāo)記語(yǔ)言數(shù)據(jù)結(jié)構(gòu)中的相關(guān)鍵字段的絕對(duì)路徑可以被用作key_field_path。
下面將參照?qǐng)D8描述用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的方法。
圖6示出使用根據(jù)本發(fā)明的實(shí)施例的圖5中的數(shù)據(jù)管理結(jié)構(gòu)的圖1中的數(shù)字?jǐn)?shù)據(jù)的管理。
在這個(gè)例證性的實(shí)施例中,描述了圖1中的數(shù)字?jǐn)?shù)據(jù)的索引信息,其中鍵是包含在片段“ProgramInformation”中的類型并且鍵值是新聞。
IndexDictionary 100包含關(guān)于索引300的信息,其中與片段類型“ProgramInformation”相關(guān)的索引的index_id是1并且index_version是2。IndexKeyfield 200也包含作為關(guān)于索引300的鍵字段信息的key_field_id和num_key_field。在這個(gè)實(shí)施例中,由于類型具有一個(gè)鍵字段,num_key_field是1,并且key_field_id是“7”。
IndexKeyfield 200描述關(guān)于“類型”的鍵字段的信息。例如,key_field_id是“7”,key_field_path是“BasicDescription/Genre”,并且key_field_type是“字符串”。
如圖6所示的索引300的條目具有“類型”鍵字段的鍵值“新聞”。包含數(shù)字?jǐn)?shù)據(jù)的片段具有鍵值“新聞”,這意味著類型是新聞,該片段的字段fragment_id是“123”,并且字段fragment_version是“1”。
因此,用戶參照IndexDictionary 100和IndexKeyfield 200獲取其鍵值為“類型”的索引300。然后用戶從索引300獲取鍵值是“新聞”的條目,并從該條目中提取片段的字段fragment_id和fiagment_version。使用提取的信息,用戶從片段400獲取包含“類型”是“新聞”的數(shù)字?jǐn)?shù)據(jù)的片段。
圖7是根據(jù)本發(fā)明的實(shí)施例的用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的數(shù)字裝置500的方框圖。
參照?qǐng)D7,數(shù)字裝置500包括數(shù)據(jù)提供器510,用于提供分段的數(shù)字?jǐn)?shù)據(jù);片段管理單元520,用于將提供的片段轉(zhuǎn)換成根據(jù)本發(fā)明的數(shù)字結(jié)構(gòu);索引管理單元530,用于生成或更新片段的索引;數(shù)據(jù)處理器540,用于將被提供的片段和索引存儲(chǔ)在存儲(chǔ)單元570中并執(zhí)行存儲(chǔ)的數(shù)字?jǐn)?shù)據(jù)的獲取;和應(yīng)用程序560,用于從數(shù)字處理器540中請(qǐng)求獲取并接收所需的數(shù)字?jǐn)?shù)據(jù)用于處理。
數(shù)字提供器510通過(guò)生成分段的數(shù)據(jù)或從其它數(shù)字裝置接收分段的數(shù)據(jù)來(lái)提供根據(jù)預(yù)定的分段策略的分段的數(shù)據(jù)。
當(dāng)從其它數(shù)字裝置接收分段的數(shù)據(jù)時(shí),數(shù)字?jǐn)?shù)據(jù)的索引可以伴隨數(shù)據(jù)。接收的索引隨后被發(fā)送到索引管理單元530用于管理。
片段管理單元520分析由數(shù)據(jù)提供器510提供的分段的數(shù)字?jǐn)?shù)據(jù)從而相關(guān)的片段可以存儲(chǔ)在如表1所示的示例性的關(guān)系表中。
更具體地講,片段管理單元520分析片段以提取包括fragment_id、fragment_type、fragment_version和fragment_content的信息,并將提取的信息提交給數(shù)據(jù)處理器540。當(dāng)接收到關(guān)于先前存儲(chǔ)的片段的更新片段時(shí),片段管理單元520也更新相關(guān)片段。
索引管理單元530分析由數(shù)據(jù)處理器540提供的分段的數(shù)字?jǐn)?shù)據(jù)并生成IndexDictionary 100、IndexKeyfield 200和索引300a或300b。
當(dāng)從數(shù)據(jù)提供器510接收到索引時(shí),索引管理單元530也可以分析生成的信息。另外,當(dāng)接收到關(guān)于先前存儲(chǔ)的片段的更新片段時(shí),索引管理單元530可以更新相關(guān)片段的索引。
數(shù)據(jù)處理器540從片段管理單元520和索引管理單元530接收處理的結(jié)果,將其存儲(chǔ)在存儲(chǔ)單元570中,從存儲(chǔ)單元570獲取應(yīng)用程序560請(qǐng)求的片段,需要時(shí)提取數(shù)字?jǐn)?shù)據(jù),并將數(shù)字?jǐn)?shù)據(jù)提交給應(yīng)用程序560。如果存儲(chǔ)在存儲(chǔ)單元570的關(guān)系表中的fragment_content是文本形式的片段本身,則數(shù)據(jù)處理器540可以解析文本形式的片段以提交給應(yīng)用程序560。
此外,當(dāng)接收到新的片段時(shí),數(shù)據(jù)處理器540將這一事實(shí)通知索引管理單元530,并依次更新相關(guān)的索引。
數(shù)據(jù)處理器540也管理存儲(chǔ)單元570。就是說(shuō),數(shù)據(jù)處理器540請(qǐng)求片段管理單元520和索引管理單元530根據(jù)來(lái)自用戶的或預(yù)定的算法選擇性地刪除存儲(chǔ)在存儲(chǔ)單元570中的片段和索引。同時(shí),即使當(dāng)接收到僅刪除片段的請(qǐng)求時(shí),最好也同時(shí)刪除與該片段相關(guān)的索引。因此,當(dāng)通報(bào)索引管理單元530片段的刪除時(shí),數(shù)據(jù)處理器540可以請(qǐng)求存儲(chǔ)的索引的修改。
由圖7中的數(shù)字裝置500執(zhí)行的操作總結(jié)如下。
數(shù)字裝置500可以執(zhí)行所有如下的操作,或者根據(jù)它的性能或功能,選擇性地執(zhí)行一項(xiàng)或多項(xiàng)操作。
1.產(chǎn)生分段的數(shù)字?jǐn)?shù)據(jù)2.存儲(chǔ)分段的數(shù)字?jǐn)?shù)據(jù)3.更新分段的數(shù)字?jǐn)?shù)據(jù)4.刪除分段的數(shù)字?jǐn)?shù)據(jù)
5.產(chǎn)生分段的數(shù)字?jǐn)?shù)據(jù)的索引6.存儲(chǔ)分段的數(shù)字?jǐn)?shù)據(jù)的索引7.更新分段的數(shù)字?jǐn)?shù)據(jù)的索引8.刪除分段的數(shù)字?jǐn)?shù)據(jù)的索引9.獲取數(shù)字?jǐn)?shù)據(jù)10.輸出獲取的數(shù)字?jǐn)?shù)據(jù)下面將參照?qǐng)D8A到8C來(lái)描述上述列表的功能的詳情。
圖8A到8C示出了根據(jù)本發(fā)明的實(shí)施例的用于管理分段的數(shù)字?jǐn)?shù)據(jù)和索引的方法。
1.產(chǎn)生分段的數(shù)字?jǐn)?shù)據(jù)在步驟S110,數(shù)據(jù)提供器510根據(jù)預(yù)定的分段策略將數(shù)字?jǐn)?shù)據(jù)分段。作為選擇,數(shù)據(jù)提供器510可以提供從其它數(shù)字裝置接收的片段,或在從其它數(shù)字裝置接收的數(shù)字廣播流中的分段的數(shù)據(jù)中選擇性地提供分段的數(shù)據(jù)。
2.存儲(chǔ)分段的數(shù)字?jǐn)?shù)據(jù)在步驟S120,為了提取包括fragment_id、fragment_type、fragment_version和fragment_content的信息,片段管理單元520分析數(shù)據(jù)提供器510提供的片段。提取的信息隨后被發(fā)送到數(shù)據(jù)處理器540并存儲(chǔ)在存儲(chǔ)單元570的片段400中。
為了避免相同信息的重復(fù)存儲(chǔ),該方法可以進(jìn)一步包含將數(shù)據(jù)提供器510提供的片段的fragment_id與先前存儲(chǔ)的數(shù)據(jù)的fragment_id進(jìn)行比較的步驟S130。
當(dāng)在步驟S150時(shí),與現(xiàn)存片段具有相同的fragment_id的片段被丟棄,只有具有不同的fragment_id的片段在步驟S170被存儲(chǔ)。在另一個(gè)實(shí)施例中,fragment_id的比較之后在S140中比較fragment_version。如果提供的片段具有相同的fragment_id,但fragment_version比先前存儲(chǔ)的片段高,則這意味著該片段已經(jīng)被更新,這將在第3段描述。
同時(shí),當(dāng)一個(gè)新片段被添加到存儲(chǔ)單元570的片段400或現(xiàn)存的片段被更新時(shí),新片段的索引也需要被添加或現(xiàn)存的片段的索引需要被更新。增加和更新索引的處理將在5-7段描述。
3.更新分段的數(shù)字?jǐn)?shù)據(jù)在步驟S160,當(dāng)具有與先前存儲(chǔ)的片段相同信息的片段由數(shù)據(jù)提供器510提供時(shí),數(shù)據(jù)處理器540更新先前存儲(chǔ)的片段。為了確定兩個(gè)片段是否相同,可以使用不同的字段。如上所述,可以使用fragment_version字段來(lái)確定片段是否與先前存儲(chǔ)的片段相同并且后者是否已經(jīng)被更新。
4.刪除分段的數(shù)字?jǐn)?shù)據(jù)存儲(chǔ)在存儲(chǔ)單元570中的數(shù)字?jǐn)?shù)據(jù)可以在片段中刪除。當(dāng)接收到來(lái)自用戶的請(qǐng)求或根據(jù)預(yù)定的算法,存儲(chǔ)在關(guān)系表中的片段可以被自動(dòng)刪除。在這種情況下,關(guān)于片段的信息被從關(guān)系表中刪除。
5.產(chǎn)生分段的數(shù)據(jù)的索引為獲取預(yù)定的數(shù)字?jǐn)?shù)據(jù),為片段生成索引并查詢索引能比核對(duì)存儲(chǔ)在存儲(chǔ)單元570中的所有片段的內(nèi)容更有效率。在本發(fā)明的優(yōu)選實(shí)施例中,屬于預(yù)定的片段類型的節(jié)點(diǎn)被設(shè)置為鍵并且相關(guān)節(jié)點(diǎn)的值被設(shè)置為鍵值。索引管理單元530分析片段并通過(guò)生成如圖5所示的IndexDictionary 100、IndexKeyfield 200和索引300a或300b提供索引。取決于數(shù)字裝置500的性能或功能,索引管理單元530可以提供從其它數(shù)字裝置接收的索引。
6.存儲(chǔ)分段的數(shù)據(jù)的索引由索引管理單元530提供的索引被發(fā)送到數(shù)字處理器540并存儲(chǔ)在存儲(chǔ)單元570中。和在片段的管理方法中一樣,在步驟S220分析索引以在步驟S230確認(rèn)提供的索引是否與先前存儲(chǔ)的索引相同,并且然后在步驟S240確認(rèn)后者是否已經(jīng)被更新。根據(jù)確認(rèn)的結(jié)果,在步驟S250或S270,索引可以被丟棄或存儲(chǔ),或在步驟S260,現(xiàn)存的索引可以被更新。
7.更新分段的數(shù)字?jǐn)?shù)據(jù)的索引當(dāng)從數(shù)據(jù)提供器510接收到具有與先前存儲(chǔ)在存儲(chǔ)單元570中的索引相同的信息的索引時(shí),數(shù)據(jù)處理器540在步驟S260更新先前存儲(chǔ)的索引。為了確認(rèn)兩個(gè)索引是否相同,不同的字段可以被使用。例如,在步驟S240,index_version字段可以被用于確認(rèn)索引是否與先前存儲(chǔ)的索引相同,并然后確認(rèn)后者是否已經(jīng)被更新。在這種情況下,當(dāng)索引的片段被更新時(shí),最好相應(yīng)地更新與該片段相關(guān)的索引。關(guān)于片段的更新可以從數(shù)據(jù)處理器540發(fā)送到索引管理單元530。
8.刪除分段的數(shù)據(jù)的索引存儲(chǔ)在存儲(chǔ)單元570中的索引可以被刪除。也就是,當(dāng)接收到來(lái)自用戶經(jīng)由應(yīng)用程序560的請(qǐng)求或根據(jù)預(yù)定的算法,IndexDictionary 100、IndexKeyfield 200和索引300a或300b可以被自動(dòng)地刪除。
9.獲取預(yù)定的數(shù)字?jǐn)?shù)據(jù)在本發(fā)明中,為每一片段執(zhí)行數(shù)字?jǐn)?shù)據(jù)的獲取。簡(jiǎn)單的獲取方法可以包括指定僅包含期望的數(shù)字?jǐn)?shù)據(jù)的片段類型,從片段400獲取指定的片段類型,并為獲取提取找到的片段。
同時(shí),為了更有效的獲取,可以使用索引?,F(xiàn)將描述使用索引的獲取方法。
在步驟S310,當(dāng)執(zhí)行數(shù)字?jǐn)?shù)據(jù)的獲取時(shí),首先,獲取的目標(biāo)由片段類型指定,并且搜索條件使用在相關(guān)片段中的特定節(jié)點(diǎn)(鍵)的值和用于特定節(jié)點(diǎn)值的比較操作符來(lái)指定。
例如,如圖6所示,為執(zhí)行其“類型”是“新聞”的數(shù)字?jǐn)?shù)據(jù),首先,使用索引獲取包含其“類型”是“新聞”的數(shù)字?jǐn)?shù)據(jù)的片段。對(duì)于鍵“類型”片段類型“ProgramInformation”被指定作為目標(biāo),并且其“類型”是“新聞”的片段被在屬于片段類型“ProgramInformation”的片段中過(guò)濾。使用索引核對(duì)其“類型”是“新聞”的片段的fragment_id,從片段400中獲取具有該fragment_id的片段。然后,片段被以由應(yīng)用程序請(qǐng)求的形式解析。獲取處理劃分為四步1)選擇索引在步驟S320,將參照IndexDietionary 100和IndexKeyfield200選擇處理用戶的查詢的索引300;2)片段標(biāo)識(shí)符過(guò)濾在步驟S330,參照索引300提取匹配用戶的查詢的片段的fragment_id;3)獲取片段內(nèi)容在步驟S340,具有相關(guān)的fragment_id的fragment_content被參照片段400提??;4)輸出獲取結(jié)果在步驟S350,fragment_content被輸出。如果fragment_content是文本形式的片段,則在輸出前在該片段上執(zhí)行單獨(dú)的解析。
10.輸出獲取的數(shù)字?jǐn)?shù)據(jù)也就是,fragment_content被提交給預(yù)定的應(yīng)用程序,然后該應(yīng)用程序使用該內(nèi)容用于數(shù)據(jù)處理。
現(xiàn)將描述根據(jù)本發(fā)明的用于執(zhí)行數(shù)字?jǐn)?shù)據(jù)管理方法的數(shù)字廣播接收裝置。
除了廣播信號(hào)之外,數(shù)字廣播接收裝置接收以標(biāo)記語(yǔ)言如XML為格式的元數(shù)據(jù),并將其顯示給用戶。元數(shù)據(jù)是指“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。也就是,元數(shù)據(jù)描述關(guān)于內(nèi)容文件如節(jié)目標(biāo)題或概況的信息。
例如,通過(guò)在圖9中所示的電子節(jié)目指南(EPG)中的網(wǎng)格狀指南屏幕,元數(shù)據(jù)可以被顯示給用戶。因此,數(shù)字接收裝置需要有效地管理元數(shù)據(jù)以便為接收的廣播節(jié)目提供不同的搜索功能。
如圖10所示,每一個(gè)接收端40的數(shù)字廣播接收裝置通過(guò)傳輸網(wǎng)絡(luò)30從傳輸端20接收分段的元數(shù)據(jù)。在這種情況下,數(shù)字廣播接收裝置也可以接收與分段的元數(shù)據(jù)相關(guān)的索引。
更具體地說(shuō),本發(fā)明有效地應(yīng)用在數(shù)字廣播領(lǐng)域中。
在數(shù)字廣播環(huán)境中,廣播音頻和視頻內(nèi)容經(jīng)由廣播網(wǎng)絡(luò)與描述該內(nèi)容的元數(shù)據(jù)一起被傳送。元數(shù)據(jù)主要地用于獲取或?yàn)g覽在接收裝置中的廣播內(nèi)容。XML變得更為廣泛地被采用作為描述廣播內(nèi)容的元數(shù)據(jù)的標(biāo)準(zhǔn)。代表性的例子是TV-Anytime元數(shù)據(jù)規(guī)范和MPEG-7多媒體描述方案。廣播節(jié)目的元數(shù)據(jù)可以包含多種類型的信息,如節(jié)目、節(jié)目組、節(jié)目評(píng)論,演職員名單、節(jié)目時(shí)間表和關(guān)于廣播電臺(tái)的信息。單一的元數(shù)據(jù)文檔由多個(gè)部分組成,其包括各種類型的信息并包含相當(dāng)數(shù)量的關(guān)于在預(yù)定的時(shí)間期間(通常少于兩周)廣播節(jié)目時(shí)間表的信息。因此,值得將元數(shù)據(jù)分割成較小的片段以將其在帶寬有限的網(wǎng)絡(luò)上傳送。
將整個(gè)的XML文檔分割成較小的片段傳輸有兩個(gè)優(yōu)點(diǎn)。首先,將文檔分成大量的小信息包在易于出錯(cuò)的網(wǎng)絡(luò)上傳送比傳送單一的大信息包安全。其次,允許對(duì)文檔的一部分進(jìn)行更新。也就是說(shuō),一次傳送整個(gè)的文檔需要在僅部分改變時(shí)每次重新傳送整個(gè)的文檔。與此相比,基于片段的傳送僅需要重新傳送改變的部分。在廣播環(huán)境中,最好在輪流傳送網(wǎng)絡(luò)上反復(fù)傳送片段從而數(shù)字廣播接收裝置可以在任何時(shí)間安全地接收所需的廣播信息。
在圖10中,元數(shù)據(jù)被分割成片段,并且每個(gè)片段與標(biāo)識(shí)符、版本等信息為傳送封裝在一起。最好地,處理分段的數(shù)字?jǐn)?shù)據(jù)的接收裝置必須符合如下要求1)允許原始XML文檔的有效的重建。
2)為XML文檔的每一部分實(shí)現(xiàn)動(dòng)態(tài)更新和版本控制。
3)允許有效獲取XML文檔的每一部分。
由于根據(jù)本發(fā)明的用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)字?jǐn)?shù)據(jù)的方法可以滿足所有需求,它是適合數(shù)字廣播發(fā)送和接收裝置二者的解決方案。
圖11是根據(jù)本發(fā)明的示例性的實(shí)施例的數(shù)字廣播接收裝置700的方框圖。
為了廣播服務(wù)的接收,與圖7的普通數(shù)字裝置不同,數(shù)字廣播接收裝置700進(jìn)一步包含信號(hào)分離器710和元數(shù)據(jù)瀏覽器750。信號(hào)分離器710從傳輸層600接收數(shù)字廣播流,并將音頻和視頻信號(hào)提交給適當(dāng)?shù)奶幚砟K,以及分別將分段的元數(shù)據(jù)和與本發(fā)明相關(guān)的元數(shù)據(jù)的索引給片段管理單元720和索引管理單元730。元數(shù)據(jù)瀏覽器750是僅負(fù)責(zé)在如圖7中顯示的數(shù)據(jù)處理器540的功能中的解析的模塊,并在圖11中單獨(dú)指出。
根據(jù)示例性實(shí)施例的數(shù)字廣播接收裝置700基本上具有與圖7中的數(shù)字裝置相同的配置,除了片段不是在其自身內(nèi)產(chǎn)生而是從傳輸層600接收。由于它的操作與圖7中的數(shù)字裝置幾乎相同,所以將不對(duì)其進(jìn)行詳細(xì)的解釋。
盡管本發(fā)明已經(jīng)被參照其示例性實(shí)施例具體地說(shuō)明和描述,相關(guān)領(lǐng)域的普通技術(shù)人員應(yīng)該理解,可以在不脫離由下面的權(quán)利要求限定的本發(fā)明的實(shí)質(zhì)和范圍的情況下,可以對(duì)其做出形式和細(xì)節(jié)的各種改變。
本發(fā)明通過(guò)將用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)分割成片段并在預(yù)定的關(guān)系表中管理每一片段使數(shù)字?jǐn)?shù)據(jù)的有效的存儲(chǔ)、刪除、更新和獲取成為可能。
此外,本發(fā)明使為基于片段的數(shù)字?jǐn)?shù)據(jù)構(gòu)造索引容易,同時(shí)由于使用索引使有效的獲取成為可能。因此,這種方法對(duì)于輕型數(shù)字存儲(chǔ)裝置非常有效。
權(quán)利要求
1.一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的設(shè)備,包含數(shù)據(jù)提供器,用于提供具有用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的根據(jù)預(yù)定的節(jié)點(diǎn)組分割的片段;存儲(chǔ)單元,用于存儲(chǔ)片段和用于在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符;和數(shù)據(jù)處理器,用于當(dāng)請(qǐng)求數(shù)據(jù)時(shí),從存儲(chǔ)單元獲取包含請(qǐng)求的數(shù)據(jù)的片段并提供該片段。
2.如權(quán)利要求1所述的設(shè)備,進(jìn)一步包含片段管理單元,用于分析數(shù)據(jù)提供器提供的片段,并存儲(chǔ)該片段和用于在存儲(chǔ)單元中在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符。
3.如權(quán)利要求2所述的設(shè)備,其中,當(dāng)分析的片段比先前存儲(chǔ)在存儲(chǔ)單元中的數(shù)據(jù)新時(shí),片段管理單元更新包含先前存儲(chǔ)的數(shù)據(jù)的片段。
4.權(quán)利要求1所述的設(shè)備,進(jìn)一步包含索引管理單元,用于分析由數(shù)據(jù)提供器提供的片段,產(chǎn)生相應(yīng)于數(shù)據(jù)的索引并將產(chǎn)生的索引在逐個(gè)索引的基礎(chǔ)上存儲(chǔ)在存儲(chǔ)單元中。
5.利要求1所述的設(shè)備,其中數(shù)據(jù)提供器進(jìn)一步為片段中的至少一個(gè)提供索引。
6.如權(quán)利要求5所述的設(shè)備,進(jìn)一步包含索引管理單元,用于分析由數(shù)據(jù)提供器提供的索引并存儲(chǔ)該索引和用于在存儲(chǔ)單元中在逐個(gè)索引的基礎(chǔ)上區(qū)分索引的標(biāo)識(shí)符。
7.如權(quán)利要求6所述的設(shè)備,其中,當(dāng)分析的索引比先前存儲(chǔ)在存儲(chǔ)單元中的索引新時(shí),索引管理單元更新相應(yīng)的先前存儲(chǔ)在存儲(chǔ)單元中的索引。
8.如權(quán)利要求7所述的設(shè)備,其中,數(shù)據(jù)提供器選擇性地提供在接收的數(shù)字廣播流中分段的數(shù)據(jù)。
9.如權(quán)利要求8所述的設(shè)備,進(jìn)一步包含元數(shù)據(jù)瀏覽器,用于解析由數(shù)據(jù)處理器提供的片段并輸出該解析的片段。
10.一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法,包含提供具有用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的根據(jù)預(yù)定的節(jié)點(diǎn)組分割的片段;分析片段并存儲(chǔ)該片段和用于在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符;和當(dāng)請(qǐng)求數(shù)據(jù)時(shí),從存儲(chǔ)單元獲取包含請(qǐng)求的數(shù)據(jù)的片段并提供獲取的片段。
11.如權(quán)利要求10所述的方法,進(jìn)一步包含當(dāng)分析的片段比先前存儲(chǔ)的片段新時(shí),更新相應(yīng)的先前存儲(chǔ)的片段。
12.如權(quán)利要求10所述的方法,進(jìn)一步包含分析提供的片段中的至少一個(gè),產(chǎn)生相應(yīng)于數(shù)據(jù)的索引并存儲(chǔ)產(chǎn)生的索引。
13.如權(quán)利要求10所述的方法,進(jìn)一步包含為片段中的至少一個(gè)提供索引。
14.如權(quán)利要求13所述的方法,進(jìn)一步包含分析提供的索引并存儲(chǔ)該索引和用于在逐個(gè)索引的基礎(chǔ)上區(qū)分索引的標(biāo)識(shí)符。
15.如權(quán)利要求14所述的方法,進(jìn)一步包含當(dāng)分析的索引比先前存儲(chǔ)的索引新時(shí),更新相應(yīng)的先前存儲(chǔ)的索引。
16.如權(quán)利要求15所述的方法,進(jìn)一步包含選擇性地提供在接收的數(shù)字廣播流中的分段的數(shù)據(jù)。
17.如權(quán)利要求16所述的方法,進(jìn)一步包含解析獲取的包含請(qǐng)求的數(shù)據(jù)的片段并輸出該解析的獲取的片段。
18.一種計(jì)算機(jī)可讀記錄介質(zhì),用于記錄用作執(zhí)行管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法的程序,所述方法包含提供具有用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的根據(jù)預(yù)定的節(jié)點(diǎn)組分割的片段;分析片段并存儲(chǔ)該片段和用于在逐個(gè)片段的基礎(chǔ)上區(qū)分片段的標(biāo)識(shí)符;和當(dāng)請(qǐng)求數(shù)據(jù)時(shí),從存儲(chǔ)單元獲取包含請(qǐng)求的數(shù)據(jù)的片段并提供該獲取的片段。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀記錄介質(zhì),其中所述方法進(jìn)一步包含當(dāng)分析的片段比先前存儲(chǔ)的片段新時(shí),更新相應(yīng)的先前存儲(chǔ)的片段。
20.如權(quán)利要求18所述的計(jì)算機(jī)可讀記錄介質(zhì),其中所述方法進(jìn)一步包含分析提供的片段中的至少一個(gè),產(chǎn)生相應(yīng)于數(shù)據(jù)的索引并存儲(chǔ)產(chǎn)生的索引。
21.如權(quán)利要求18所述的計(jì)算機(jī)可讀記錄介質(zhì),其中,所述方法進(jìn)一步包含為片段中的至少一個(gè)提供索引。
22.如權(quán)利要求21所述的計(jì)算機(jī)可讀記錄介質(zhì),其中,所述方法進(jìn)一步包含分析提供的索引并存儲(chǔ)該索引和用于在逐個(gè)索引的基礎(chǔ)上區(qū)分索引的標(biāo)識(shí)符。
23.如權(quán)利要求22所述的計(jì)算機(jī)可讀記錄介質(zhì),其中,所述方法進(jìn)一步包含當(dāng)分析的索引比先前存儲(chǔ)的索引新時(shí),更新相應(yīng)的先前存儲(chǔ)的索引。
24.如權(quán)利要求23所述的計(jì)算機(jī)可讀記錄介質(zhì),其中,所述方法進(jìn)一步包含選擇性地提供在接收的數(shù)字廣播流中的分段的數(shù)據(jù)。
25.如權(quán)利要求24所述的計(jì)算機(jī)可讀記錄介質(zhì),其中,所述方法進(jìn)一步包含解析提供的包含請(qǐng)求的數(shù)據(jù)的片段并將其輸出。
全文摘要
一種用于管理用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)的方法和裝置從而允許數(shù)字?jǐn)?shù)據(jù)的有效存儲(chǔ)、刪除、更新和獲?。灰约耙环N記錄介質(zhì),用于存儲(chǔ)為實(shí)現(xiàn)該方法所設(shè)計(jì)的程序。為了允許數(shù)字?jǐn)?shù)據(jù)的有效存儲(chǔ)、刪除、更新和獲取,用標(biāo)記語(yǔ)言寫(xiě)的數(shù)據(jù)被分割成片段,并且每一個(gè)片段在預(yù)定的關(guān)系表中被管理?;谄蔚臄?shù)字?jǐn)?shù)據(jù)的索引允許分段的數(shù)字?jǐn)?shù)據(jù)被有效地存取。
文檔編號(hào)G06F17/22GK1627297SQ200410098479
公開(kāi)日2005年6月15日 申請(qǐng)日期2004年12月13日 優(yōu)先權(quán)日2003年12月13日
發(fā)明者申孝燮 申請(qǐng)人:三星電子株式會(huì)社