亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        XML基礎(chǔ)上的多媒體數(shù)據(jù)技術(shù)研究

        2011-05-14 11:58:26張彥軍
        關(guān)鍵詞:數(shù)據(jù)庫

        張彥軍

        (暨南大學,廣東 廣州 510610)

        采用XML格式來描述EPG(Electronical Program Guide)的數(shù)據(jù)理由有:(1)標準問題。XML是描述結(jié)構(gòu)化數(shù)據(jù)的一個非常好的標準。(2)擴展性。由于EPG數(shù)據(jù)類型隨著廣播電視的發(fā)展必然會有新的數(shù)據(jù)類型出現(xiàn),而XML非常有利于未來擴展向后兼容。(3)隨著XML技術(shù)的不斷發(fā)展成熟,關(guān)于XML技術(shù)的相關(guān)開發(fā)工具日益豐富,為以后從事EPG相關(guān)開發(fā)及功能擴展提供了便利。

        為此,引出本文所涉及的一般數(shù)據(jù)轉(zhuǎn)換為XML格式數(shù)據(jù)的問題,這里的一般數(shù)據(jù)指無結(jié)構(gòu)數(shù)據(jù)或關(guān)系數(shù)據(jù)庫中的結(jié)構(gòu)數(shù)據(jù)。在研究了已有的數(shù)據(jù)轉(zhuǎn)換模式的基礎(chǔ)上,本文提出了一種基于Schema模式的將一般數(shù)據(jù)轉(zhuǎn)換為XML文檔的方法。

        1 DMB EPG系統(tǒng)

        數(shù)字多媒體廣播 DMB(DigitalMultimedia Broadcasting)是 在 DAB(Digital Audio Broadcasting)基 礎(chǔ) 上發(fā)展起來的,DMB充分地利用了DAB能在高速移動環(huán)境下可靠接收信號的技術(shù)優(yōu)勢,在功能上將原來傳輸單一的音頻信息擴展為數(shù)據(jù)、文字、圖形與視頻等多種載體,即多媒體對象傳輸MOT(MultimediaObject Transmitting)。DMB將數(shù)字化了的音頻、視頻信號及各種數(shù)據(jù)業(yè)務(wù)信號,在數(shù)字狀態(tài)下進行壓縮、編碼、調(diào)制、傳輸?shù)忍幚恚蓪崿F(xiàn)高質(zhì)量傳輸、很高的功率效率和頻譜效率,同時兼具多媒體特性,提供容量大、效率高、可靠性強的數(shù)據(jù)信息傳送。從DAB到DMB,意味著從數(shù)字音頻廣播到數(shù)字多媒體廣播的跨越,使任何數(shù)字信息都可以用一個數(shù)字化的平臺系統(tǒng)來傳遞,其系統(tǒng)可以為用戶提供包括音頻、視頻在內(nèi)的綜合視聽信息服務(wù)和娛樂享受[1]。

        電子節(jié)目指南EPG用來提供包括音頻和數(shù)據(jù)業(yè)務(wù)在內(nèi)的節(jié)目列表信息,也是一種用戶選擇業(yè)務(wù)、節(jié)目及其相關(guān)內(nèi)容的機制。DMB EPG系統(tǒng)可以分為前端系統(tǒng)和后端系統(tǒng),前端系統(tǒng)就是通過廣電網(wǎng)絡(luò)發(fā)送EPG信息的發(fā)送端,后端系統(tǒng)指接收EPG信息的接收終端,主要是移動手機。EPG系統(tǒng)的關(guān)鍵是數(shù)據(jù)格式規(guī)范,通過規(guī)范化的數(shù)據(jù)格式協(xié)議,使所有不同種類支持該協(xié)議的接收終端都能正確接收并展示信息。

        2 DMB EPG系統(tǒng)的數(shù)據(jù)規(guī)范解析

        DMB EPG系統(tǒng)的數(shù)據(jù)規(guī)范也就是其定義的數(shù)據(jù)類型的結(jié)構(gòu)規(guī)范,它有一套專門的標準,全稱是Digital Audio Broadcasting XML Specification for DAB Electronical Programme Guide[2], 它 是 ETSI(European Telecommunications Standard Institute)的技術(shù)規(guī)范。由于DMB是在DAB的基礎(chǔ)上發(fā)展起來的,所以其EPG標準目前仍采用DAB EPG數(shù)據(jù)規(guī)范,文中的DMB EPG也可稱為DAB EPG。

        DMB EPG的數(shù)據(jù)可以分為3個主要組成部分,分別是業(yè)務(wù)數(shù)據(jù) (Service Information)、節(jié)目數(shù)據(jù)(Schedule Information)和節(jié)目的分組信息(Group Information)。一個Service Information下可以有多個ensemble,一個 ensemble下可以有多個在其上播送的Service。一個Schedule information下面可以有多個節(jié)目表Schedule(描述一個或多個Service下的節(jié)目信息),一個Schedule描述多個節(jié)目,每個節(jié)目又可以包含多個節(jié)目事件 (Event)。一個Group Information包含多個Group,一個Group下又可以出現(xiàn)多個Group,而且可以出現(xiàn)多層Group。這更像一個網(wǎng)狀結(jié)構(gòu),每個Group子節(jié)點可以隸屬于多個Group父節(jié)點,最底層的節(jié)點是節(jié)目Programme。

        EPG的數(shù)據(jù)是以XML文件格式存放的,它的數(shù)據(jù)結(jié)構(gòu)采用XML Schema格式定義,EPG的XML文檔模式主要有 3 個:Common data types:epgDataTypes_11.xsd,Schedules:epgSchedule_11.xsd,Service Information:epgSI_11.xsd。

        3 一般數(shù)據(jù)轉(zhuǎn)換為XML 文檔的方法

        3.1 基于模板的數(shù)據(jù)轉(zhuǎn)換方法

        基于模板的轉(zhuǎn)換方法并非事先定義好XML文檔與其他文檔之間的映射關(guān)系,而是在XML文檔中嵌入一些可執(zhí)行的命令。這些指令在轉(zhuǎn)換過程中被系統(tǒng)識別和執(zhí)行,執(zhí)行的結(jié)果被替換到指令所在的位置,從而生成目標XML文檔?;谀0娴臄?shù)據(jù)轉(zhuǎn)換方法的架構(gòu)圖如圖1所示。以關(guān)系數(shù)據(jù)庫數(shù)據(jù)為例,為了從數(shù)據(jù)庫中獲取節(jié)目信息,并將節(jié)目信息用XML文檔表示出來,可以定義以下的一個模板:

        如果生成XML文檔時,系統(tǒng)掃描這個模板,當遇到指令的時候,系統(tǒng)識別出這是一個可執(zhí)行指令,于是調(diào)用指令執(zhí)行程序執(zhí)行該指令。指令執(zhí)行后的結(jié)果為:

        圖1 基于模板的數(shù)據(jù)轉(zhuǎn)換方法架構(gòu)圖

        3.2 基于模型的數(shù)據(jù)轉(zhuǎn)換方法

        基于模型的數(shù)據(jù)轉(zhuǎn)換方法用事先定義好的數(shù)據(jù)模型來映射XML文檔結(jié)構(gòu)與其他格式數(shù)據(jù)的結(jié)構(gòu)之間的關(guān)系。以數(shù)據(jù)庫為例,一個最為簡單的模型就是將文檔結(jié)構(gòu)定義為如下的模型:

        把數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換成XML文檔時,只要把一個表或一個查詢結(jié)果的數(shù)據(jù)插入到相應(yīng)位置即可;而把XML文檔數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)庫數(shù)據(jù)時,只要把內(nèi)容插入到相應(yīng)的表中即可。另一種常用的模型是將XML文檔的結(jié)構(gòu)定義為一棵數(shù)據(jù)對象樹,根據(jù)規(guī)則將文檔的層次結(jié)構(gòu)轉(zhuǎn)換為樹狀結(jié)構(gòu) (通常是把文檔中的元素定義為樹的節(jié)點)。這種模型對于XML文檔與面向?qū)ο髷?shù)據(jù)庫和層次數(shù)據(jù)庫之間的轉(zhuǎn)換是非常方便的。當與關(guān)系數(shù)據(jù)庫進行轉(zhuǎn)換時,可以利用傳統(tǒng)的 “對象-關(guān)系”映射技術(shù)來實現(xiàn)。圖2為基于模型的轉(zhuǎn)換方法的架構(gòu)圖。

        圖2 基于模型的數(shù)據(jù)轉(zhuǎn)換方法架構(gòu)圖

        3.3 基于Schema模式的數(shù)據(jù)轉(zhuǎn)換方法

        基于模板的轉(zhuǎn)換方法的好處在于轉(zhuǎn)換的步驟比較簡單,只要給出模板,就可以快速地生成相應(yīng)的XML文檔,如圖2所示。不足之處在于,它只適合將其他類型的數(shù)據(jù)轉(zhuǎn)換為XML文檔,對于反向的轉(zhuǎn)換就無能為力了。此外,基于模板的轉(zhuǎn)換方法關(guān)鍵是要生成大量合理的模板,為此,系統(tǒng)需要為用戶提供一套生成模板的工具以及相應(yīng)的指令執(zhí)行程序。對于數(shù)據(jù)庫數(shù)據(jù),可以借用數(shù)據(jù)庫管理系統(tǒng)方便地生成指令執(zhí)行程序;而文本數(shù)據(jù)和OCR數(shù)據(jù)指令執(zhí)行程序的編寫則需要大量的工作[3]。

        基于模型的轉(zhuǎn)換方法由于有數(shù)據(jù)模型的支持,轉(zhuǎn)換工作相對比較簡單,并且可以完成XML數(shù)據(jù)與其他格式數(shù)據(jù)之間的雙向轉(zhuǎn)換。但是模型的引入使得XML文檔的結(jié)構(gòu)受到了一些限制,即一個XML文檔必須符合模型所規(guī)定的結(jié)構(gòu),才能將XML文檔轉(zhuǎn)換成其他類型的數(shù)據(jù),而從其他類型數(shù)據(jù)轉(zhuǎn)換得到的XML文檔也具有某種結(jié)構(gòu)特點。所以,基于模型的轉(zhuǎn)換方法的關(guān)鍵是設(shè)計一個靈活的映射模型,使得對XML文檔結(jié)構(gòu)的限制盡量地少[3]。

        由于DMBEPG的XML規(guī)范是基于Schema模式的,為此,本文在已有的數(shù)據(jù)轉(zhuǎn)換模式的基礎(chǔ)上[3-5],提出一種基于Schema模式的數(shù)據(jù)轉(zhuǎn)換方法,它本質(zhì)上也是一種基于模型的數(shù)據(jù)轉(zhuǎn)換方法,只是其文檔結(jié)構(gòu)是根據(jù)Schema模式文件來確定的?;赟chema模式的數(shù)據(jù)轉(zhuǎn)換方法的過程如下:

        (1)首先根據(jù)Schema模式文件生成一棵元素節(jié)點樹,樹的每個節(jié)點對應(yīng)Schema模式文件中每一個元素,樹的根節(jié)點對應(yīng)模式文件的根元素,每個節(jié)點的結(jié)構(gòu)包含屬性集、子元素集以及節(jié)點值CDATA,這三部分都可能為空。每個屬性包含屬性名、屬性類型、屬性值,其中,Schema模式文件定義了屬性名和屬性類型。每個子元素的結(jié)構(gòu)都由模式文件定義,其中每個子節(jié)點的出現(xiàn)次數(shù)也都由Schema模式文件定義。復(fù)雜數(shù)據(jù)類型的節(jié)點一般不存在CDATA部分。

        (2)利用 Schema解析工具(如開源的 xmlBeans)生成的原始的、模糊的元素節(jié)點樹,之所以稱為原始模糊樹,是因為樹的具體結(jié)構(gòu)還沒有確定,只是一個樹的模糊框架。主要由以下幾個方面構(gòu)成其不確定性:

        ①元素出現(xiàn)的次數(shù)引起的不確定性。例如,規(guī)定出現(xiàn)0次或1次,那么該元素是否出現(xiàn)則在后面的數(shù)據(jù)插入轉(zhuǎn)換過程中確定。

        ②幾個元素只能有一個出現(xiàn),也就是Schema中Choice選項,最終哪個元素出現(xiàn)也由后面的數(shù)據(jù)插入轉(zhuǎn)換過程中確定。

        (3)數(shù)據(jù)映射。數(shù)據(jù)的轉(zhuǎn)換必須要有相應(yīng)的數(shù)據(jù)源,這就要確定XML文檔的元素節(jié)點與數(shù)據(jù)源之間的映射關(guān)系。

        ①對于非結(jié)構(gòu)化的數(shù)據(jù),需要建立一個相應(yīng)的數(shù)據(jù)源數(shù)據(jù)與樹節(jié)點的映射表。

        ②對于結(jié)構(gòu)化的數(shù)據(jù)源,如關(guān)系數(shù)據(jù)庫,可以建立如下的數(shù)據(jù)映射關(guān)系:

        一棵元素節(jié)點樹就是一個Schema所包含的元素之間的關(guān)系樹,它的構(gòu)成如下:

        ·元素樹的每一個節(jié)點對應(yīng)Schema中的一個元素。

        ·每個節(jié)點包含以下主要信息:屬性列表、子元素列表和其他信息。

        ·屬性列表包含了該元素的所有屬性,每個屬性是一個三元組(屬性名、屬性值、屬性類型)。

        ·子元素列表包含了該元素的所有子元素,每個子元素對應(yīng)一個新的節(jié)點。

        ·除了表節(jié)點和內(nèi)容模式節(jié)點以外的節(jié)點稱為字段節(jié)點,它只對應(yīng)父節(jié)點所對應(yīng)的表中的一個字段。

        ·內(nèi)容模式節(jié)點不對應(yīng)數(shù)據(jù)庫中的任何對象。

        在實際應(yīng)用中,數(shù)據(jù)庫的相應(yīng)表結(jié)構(gòu)正是根據(jù)Schema模式文件來設(shè)計的。這也就建立了相應(yīng)的映射關(guān)系,在數(shù)據(jù)轉(zhuǎn)換過程中,只要找到數(shù)據(jù)庫數(shù)據(jù)表與樹節(jié)點的映射關(guān)系即可。

        (4)數(shù)據(jù)轉(zhuǎn)換,XML文檔樹生成。前面已經(jīng)提過,最初的元素節(jié)點樹是原始的模糊樹,而最終的數(shù)據(jù)轉(zhuǎn)換過程正是XML文檔樹的生成確定過程。數(shù)據(jù)轉(zhuǎn)換在基于前面原始模糊樹的基礎(chǔ)上,根據(jù)映射關(guān)系表找到每個節(jié)點對應(yīng)的數(shù)據(jù)庫中的數(shù)據(jù)表,并通過查詢獲取數(shù)據(jù)。然后將該節(jié)點的相應(yīng)屬性賦值,并確定子節(jié)點及每個子節(jié)點出現(xiàn)的次數(shù)。

        基于Schema模式的數(shù)據(jù)轉(zhuǎn)換方法的框架如圖3所示。

        圖3 基于Schema模式的數(shù)據(jù)轉(zhuǎn)換架構(gòu)圖

        4 基于Schema模式的EPG XML文檔轉(zhuǎn)換實現(xiàn)

        DMB EPG系統(tǒng)需要生成三類XML文檔,分別表示業(yè)務(wù)信息SI、節(jié)目信息PI以及組信息GI。規(guī)范這三類信息的Schema模式文件共有三個,分別是epgSchedule_11.xsd、ServiceInformation_11.xsd和 epgDataTypes.xsd。 其 中,epgSchedule_11.xsd規(guī)范了 PI和 GI的樹結(jié)構(gòu),ServiceInformation_11.xsd規(guī)范了 SI的樹結(jié)構(gòu),而epgDataTypes.xsd定義了一些基本的數(shù)據(jù)類型。下面以生成SI的一個XML文檔為例,描述業(yè)務(wù)信息的XML文檔的轉(zhuǎn)換過程。

        首先,利用 XML Schema解析工具(如XMLBeans等)解析Schema模式文件ServiceInformation_11.xsd,得到一棵業(yè)務(wù)信息SI的XML文檔框架樹。根據(jù)這棵生成Schema模式樹,建立如下的數(shù)據(jù)庫表結(jié)構(gòu),建立表的過程的同時確定模式樹與數(shù)據(jù)庫數(shù)據(jù)的映射關(guān)系。圖4中的每個表對應(yīng)元素節(jié)點樹的每個復(fù)雜節(jié)點,表中每個除了主鍵及部分用來關(guān)聯(lián)的外鍵外的字段對應(yīng)該節(jié)點的屬性或簡單類型子節(jié)點外,在建立數(shù)據(jù)庫表的過程中,重點解決以下幾個問題:

        (1)一種類型的節(jié)點可能有多種類型的父節(jié)點,如Link類型的父節(jié)點有 ensemble、service、CA等類型,則在對應(yīng)的數(shù)據(jù)庫表table_link中增加一個belongtoType字段標識對應(yīng)的父節(jié)點的類型,增加fKey字段作為外鍵關(guān)聯(lián)其父節(jié)點的主鍵。

        (2)一個復(fù)雜類型節(jié)點A的某個子節(jié)點B可能存在或不存在,如果該子節(jié)點B是簡單類型,則用一個字段標識,該字段可為空,如果記錄值為空,則說明對應(yīng)文檔樹該節(jié)點不存在;如果該子節(jié)點B是復(fù)雜類型,則在數(shù)據(jù)庫對應(yīng)表中增加一個字段表示該子節(jié)點是否存在。并創(chuàng)建子節(jié)點對應(yīng)的子表,子表中設(shè)置外鍵關(guān)聯(lián)節(jié)點A對應(yīng)得父表的主鍵。

        圖4 SI的部分數(shù)據(jù)庫表

        在完成數(shù)據(jù)庫表與模式樹節(jié)點的映射后,便可以訪問數(shù)據(jù)庫記錄,逐層確定各層節(jié)點的出現(xiàn)次數(shù),將模糊樹的框架變清晰;同時根據(jù)樹節(jié)點與關(guān)系數(shù)據(jù)庫表的映射,查詢對應(yīng)的數(shù)據(jù)庫表獲得數(shù)據(jù),并用數(shù)據(jù)給對應(yīng)樹節(jié)點屬性或CDATA賦值。文檔轉(zhuǎn)換如下:

        (1)由于協(xié)議規(guī)定一個SI XML文檔只描述一個ensemble的業(yè)務(wù)信息,所以該框架樹的ensemble節(jié)點僅出現(xiàn)一次。每個ensemble有個ensembleKey主鍵,根據(jù)ensembleKey查詢ensemble表。關(guān)系數(shù)據(jù)向XML文檔的轉(zhuǎn)換過程是按照XML模式樹的層序進行的,即從頂層根節(jié)點到底層的順序?qū)有虮闅v。

        (2)對于復(fù)雜類型Type1節(jié)點N1,根據(jù)主鍵Key1查詢對應(yīng)的表T1,將查詢到的記錄L1的字段值賦值給模式樹對應(yīng)節(jié)點N1的相關(guān)屬性和簡單類型子節(jié)點,這里一個主鍵Key對應(yīng)唯一一條記錄L。然后依次查詢該表對應(yīng)的一系列子表的外鍵。如查詢子表T2對應(yīng)節(jié)點類型Type2,則表T2外鍵值等于父表T1主鍵Key1的記錄L2(集合)的個數(shù)對應(yīng)節(jié)點N1的Type2類型子節(jié)點出現(xiàn)的個數(shù),然后記錄下記錄集每條記錄的主鍵。

        (3)循環(huán)執(zhí)行步驟(2),直到所有的模式樹節(jié)點對應(yīng)的數(shù)據(jù)庫表記錄均賦值給節(jié)點屬性和簡單類型子節(jié)點或CDATA部分。便完成了關(guān)系數(shù)據(jù)庫數(shù)據(jù)向XML文檔的轉(zhuǎn)換。

        在總結(jié)了一般無結(jié)構(gòu)數(shù)據(jù)或關(guān)系數(shù)據(jù)轉(zhuǎn)換為XML文檔的EPG數(shù)據(jù)轉(zhuǎn)換技術(shù)的基礎(chǔ)上,針對EPG數(shù)據(jù)規(guī)范提出了一種基于Schema模式的XML數(shù)據(jù)轉(zhuǎn)換技術(shù)。由于轉(zhuǎn)換后的XML文件根據(jù)協(xié)議需要分級成兩個XML文件,所以今后的研究就是提出一種合理的EPG XML文檔分級重構(gòu)方案。

        [1]許曉鶴.手機電視三大技術(shù)之爭,中國市場該怎樣走?http://www.dvbcn.com/zhuanti/sjdsdfpl/11_01_22_61.html,2011-14.

        [2]ETSI TS 102 818(2005-01)XML Specification for DAB EPG.http://www.worlddab.org/irc.aspx?sub=10,2011-04-06.

        [3]羅思群.基于XML技術(shù)的數(shù)據(jù)轉(zhuǎn)換[M].北京:中國科學院軟件研究所,2001:22-29.

        [4]王海波,耿暉,姜吉發(fā),等.基于 XML的數(shù)據(jù)交換的實現(xiàn)[J].計算機應(yīng)用,2001,21(4):1-2.

        [5]王勝清,何丁山,李曉明,等.一個從關(guān)系數(shù)據(jù)模型到XML文檔的翻譯器設(shè)計 [J].計算機應(yīng)用,2001,21(7):1-4.

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        亚洲精品成人一区二区三区| 亚洲中文字幕在线观看| 狠狠色狠狠色综合| 大地资源网更新免费播放视频| XXXXBBBB欧美| 日本高清一区二区在线观看| 国产夫妻精品自拍视频| 国内精品免费一区二区三区| 人妻尝试又大又粗久久| 夜夜躁狠狠躁2021| 2021av在线| 日产精品毛片av一区二区三区| 手机久草视频福利在线观看| 亚洲成av人片天堂网无码| 亚洲精品一区国产欧美| 小12萝8禁在线喷水观看| 亚洲电影中文字幕| 成人性生交大片免费看i| 人妻少妇中文字幕久久| 中国人妻与老外黑人| 日韩免费无码一区二区三区| 亚洲中久无码永久在线观看软件| 中文字幕久久久人妻无码| 亚洲综合综合在线| 亚洲国产天堂av成人在线播放 | 任你躁国产自任一区二区三区| 国产激情з∠视频一区二区| 亚洲av日韩av一卡二卡| 久久精品网站免费观看| 三上悠亚亚洲精品一区| 日本饥渴人妻欲求不满| 免费看黑人男阳茎进女阳道视频| 亚洲av无码精品色午夜果冻不卡| 亚洲AV永久无码精品导航| 国产精品国产三级国av在线观看 | 亚洲AV无码国产精品色午夜软件| 亚洲三区av在线播放| 青青草骚视频在线观看| 亚洲日韩av一区二区三区中文| 熟妇人妻无码中文字幕| 亚洲—本道中文字幕久久66|