專利名稱:一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播技術(shù),具體涉及一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法及系統(tǒng)。
背景技術(shù):
當(dāng)前國內(nèi)外廣電行業(yè)在信息化方面的總體發(fā)展方向是信息共享化、業(yè)務(wù)流程化和管理集成化。要實現(xiàn)這三個方面首先就必須要求電視臺的各個業(yè)務(wù)板塊之間可以良好的通信,進行消息的傳遞和交換。在基于SOA架構(gòu)的電視臺全臺網(wǎng)絡(luò)化解決方案中,提出了采用企業(yè)服務(wù)總線ESB+媒體服務(wù)總線EMB的雙線結(jié)構(gòu)。業(yè)務(wù)板塊通過注冊在主干平臺上的服務(wù)通過不同的接入形式向主干平臺發(fā)送消息,主干平臺接收到消息后經(jīng)過一定的路由策略傳遞給消息的目的端。隨著板塊的增多,板塊間進行互聯(lián)互通,實現(xiàn)各個板塊之間的信息共享的需求應(yīng)運而生。而每個業(yè)務(wù)板塊對同樣的信息數(shù)據(jù)可能有不同的表現(xiàn)形式,或存在其他源消息和目的消息不匹配的情況。
企業(yè)服務(wù)總線ESB是在SOA架構(gòu)中實現(xiàn)服務(wù)間智能化集成與管理的中介,是分布式的、基于消息的集成解決方案,遵循開放的標(biāo)準(zhǔn)。ESB的角色是在各種IT資源一一比如企業(yè)中分布于不同的系統(tǒng)上的應(yīng)用系統(tǒng)、平臺和服務(wù)之間——更容易的建立可靠的通訊。ESB采用了消息封裝這一思想,把所有對服務(wù)的調(diào)用都通過統(tǒng)一的消息接口封裝起來,無論消息是同步的還是異步的。此外ESB還可以對企業(yè)的其他消息服務(wù)也^是供同樣的4妻口 ,例如mail,頂S,IBM MQ, MSMQ等等??梢赃@樣說,ESB是特定環(huán)境下(S0A架構(gòu)中)實施企業(yè)集成的方式首先,在ESB系統(tǒng)中,被集成的對象被明確定義為服務(wù),而不是傳統(tǒng)企業(yè)集成中各種各樣的中間件平臺,這樣就極大簡化了在集成異構(gòu)性上的考慮,因為不管有怎樣的應(yīng)用底層實現(xiàn),只要是SOA架構(gòu)中的服務(wù),它就一定是基于標(biāo)準(zhǔn)的。
在以往的業(yè)務(wù)板塊互聯(lián)互通的設(shè)計中,往往采取人為設(shè)定一種統(tǒng)一的數(shù)
3據(jù)描述格式。需要找到各個業(yè)務(wù)板塊的廠商一起商定,消耗大量的時間、人力和物力,方式非常地不靈活,有一點改變就需要通知所有相關(guān)的部門和人員,但消息的數(shù)據(jù)格式的制定往往很難達成一致。并且對于已有的系統(tǒng)來說,數(shù)據(jù)格式的改變意味著后臺處理程序也要相應(yīng)進行修改,維護的工作量大,方式不靈活。
目前從各個板塊向ESB上傳遞的消息格式基本都是XML消息格式。XML作為 一種跨平臺的無結(jié)構(gòu)的標(biāo)記語言,可以清晰明了同時又相對簡單的說明數(shù)據(jù)信息。其優(yōu)點之一是可以讓用戶根據(jù)喜好和習(xí)慣自定義對同樣數(shù)據(jù)的存儲形式。因此在電視臺網(wǎng)絡(luò)全臺化的大趨勢下,由于各個業(yè)務(wù)板塊可能是不同廠商開發(fā),對同樣的數(shù)據(jù)存在不同的存儲格式。當(dāng)某一個業(yè)務(wù)板塊通過ESB平臺發(fā)送其自定義的消息格式后,通過ESB平臺傳遞給其他業(yè)務(wù)板塊時,雖然信息內(nèi)容完整齊全,但是由于描述格式的差異,目的板塊不能夠正確讀取信息。
發(fā)明內(nèi)容
本發(fā)明的目的是針對目前不同業(yè)務(wù)板塊在消息傳遞過程中存在的技術(shù)缺陷,提供一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法及系統(tǒng),該方法可自動完成消息格式的轉(zhuǎn)換并保證消息內(nèi)容的完整性和一致性,從而實現(xiàn)兩個或多個業(yè)務(wù)模塊之間的消息通信。
本發(fā)明的技術(shù)方案如下一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法,包括如下步驟
(1 )根據(jù)不同格式的源消息與目的消息的schema文檔,建立轉(zhuǎn)換模板,在才莫板中對兩種不同的schema文檔之間進行映射,指明源消息與目的消息各個屬性之間的對應(yīng)關(guān)系;
(2) 當(dāng)源消息接入系統(tǒng)平臺后,根據(jù)轉(zhuǎn)換模板中對源消息格式的定義,識別出源消息中的數(shù)據(jù)信息和屬性信息;
(3) 根據(jù)轉(zhuǎn)換模板中對目的消息格式的定義,把步驟(2)中獲得的數(shù)據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式;
(4 )把轉(zhuǎn)換后的目的消息格式輸出給消息接收端。在上述電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法中,所述的源消息和目 的消息都是XML格式文檔。
進一步,在上述電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法中,轉(zhuǎn)換模板
是由XQuery和XPath以及XSDL寫成的腳本,定義了各種業(yè)務(wù)板塊中不同^f各 式的源消息到目的消息的轉(zhuǎn)換規(guī)則。
一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的系統(tǒng),包括
-消息接收模塊,用于提供統(tǒng)一的接收入口,從企業(yè)服務(wù)總線ESB的消
息適配器中接收以不同形式傳遞到企業(yè)服務(wù)總線的XML消息;
-內(nèi)容提取模塊,用于根據(jù)源消息格式的定義,識別出源消息中的數(shù)據(jù)
信息和屬性信息;
-格式轉(zhuǎn)換模塊,用于根據(jù)目的消息格式的定義,把內(nèi)容提取模塊中獲 得的數(shù)據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式;
-轉(zhuǎn)換模板模塊,由XQuery和XPath以及XSDL寫成的腳本,定義了各 種業(yè)務(wù)板塊中不同格式的源消息到目的消息的轉(zhuǎn)換規(guī)則;
-消息輸出模塊,用于將轉(zhuǎn)換后的目的消息格式通過統(tǒng)一接口輸出給消 息接收端;
其中,消息接收模塊連接內(nèi)容提取模塊,內(nèi)容提取模塊連接格式轉(zhuǎn)換模 塊,格式轉(zhuǎn)換模塊連接消息輸出模塊,內(nèi)容提取模塊和格式轉(zhuǎn)換模塊還分別 與轉(zhuǎn)換模板模塊連接。
本發(fā)明的有益效果如下本發(fā)明所述方法及系統(tǒng)為不同業(yè)務(wù)板塊的不同 格式消息提供了 一種轉(zhuǎn)換重組機制,從而實現(xiàn)了不同業(yè)務(wù)板塊間的無障礙信 息讀取。用戶只需知道消息的發(fā)送端格式和接收端格式后,通過在轉(zhuǎn)換模塊 中進行相應(yīng)的配置,轉(zhuǎn)換模塊從接收到的消息中提取出數(shù)據(jù)然后轉(zhuǎn)換成目的 端可以識別的格式,即可自動完成消息格式的轉(zhuǎn)換并保證消息內(nèi)容的完整性 和一致性,從而到達實現(xiàn)兩個或多個業(yè)務(wù)板塊之間消息通信的目的。
5
圖1為本發(fā)明的方法流程圖。
圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖。
圖3為具體實施例中業(yè)務(wù)板塊的源消息XML格式。
圖4為具體實施例中消息接收端的目的消息XML格式。
圖5為采用XQuery和XSDL對圖4中源消息屬性信息進行提取和轉(zhuǎn)換的結(jié)果。
具體實施例方式
下面結(jié)合附圖對本發(fā)明進行詳細的描述。
本發(fā)明所適用的業(yè)務(wù)板塊的消息格式均為XML格式,如圖l所示,電視 臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法包括如下步驟
(1 )根據(jù)不同XML格式的源消息與目的消息的schema文檔,建立轉(zhuǎn)換 模板,在模板中對兩種不同的schema文檔之間進行映射,指明源消息與目的 消息各個屬性之間的對應(yīng)關(guān)系;
(2) 當(dāng)源消息接入系統(tǒng)平臺后,根據(jù)轉(zhuǎn)換模板中對源消息格式的定義, 識別出源消息中的數(shù)據(jù)信息和屬性信息;
(3) 根據(jù)轉(zhuǎn)換模板中對目的消息格式的定義,把步驟(2)中獲得的數(shù) 據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式;
(4 )把轉(zhuǎn)換后的目的消息格式輸出給消息接收端。
如圖2所示,本發(fā)明的消息轉(zhuǎn)換系統(tǒng)主要分為消息接收模塊、內(nèi)容提取模 塊、格式轉(zhuǎn)換模塊、消息輸出模塊和轉(zhuǎn)換模板模塊五大部分。
消息接收模塊提供統(tǒng)一的接收入口,從企業(yè)服務(wù)總線ESB的消息適配器 中接收以不同形式傳遞到ESB上的XML消息。
內(nèi)容提取模塊根據(jù)轉(zhuǎn)換模板中對源消息格式的定義,識別出消息中哪些 是數(shù)據(jù)信息哪些是屬性信息。
格式轉(zhuǎn)換模塊根據(jù)轉(zhuǎn)換模板中對目的消息格式的定義,把內(nèi)容提取中獲 得的數(shù)據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式。
消息輸出模塊把轉(zhuǎn)換后的目的消息格式通過統(tǒng)一接口輸出給消息接收端。轉(zhuǎn)換模板模塊ESB管理員根據(jù)源消息和目的消息的格式schema定義, 配置消息轉(zhuǎn)換規(guī)則,同時配置該規(guī)則適用于哪些業(yè)務(wù)板塊中間的消息傳遞。 轉(zhuǎn)換模版是消息轉(zhuǎn)換模塊的核心,用于存儲大量的轉(zhuǎn)換規(guī)則。這些規(guī)則采用 XQuery和XPath進行描述。
轉(zhuǎn)換模板是由XQuery和XPath以及XSDL寫的腳本,定義了源消息到目的 消息的轉(zhuǎn)換規(guī)則。源消息和目的消息都是xml格式文檔,但是文檔的schema格 式不相同。在模板中在兩個schema之間做映射,指明源消息與目的消息各個屬 性之間的對應(yīng)關(guān)系。
XPath是由W3C委員會制定的一套采用類似在文件中查找的方式從XML文檔 中進行查詢的特有領(lǐng)域使用的語言,采用或者//等描述形式來定位數(shù)據(jù)資源。 而XQuery也是W3C在1998年發(fā)起的針對XML格式文檔的查詢語言。經(jīng)過近十 年的發(fā)展和不斷修正,已經(jīng)具備了比較完整全面的針對XML文檔的查詢規(guī)范。 其核心是XQueryl. 0。在1. 0版本中明確定義XQuery是一種XML查詢語言(an XML Query Language),并且把XPath作為XQuery集中不可分割的一部分。XPath相 對簡單,可以滿足大部分的查詢需求,但是如果需要表達更復(fù)雜的記錄選擇條 件的表達式、轉(zhuǎn)換結(jié)果集或者進行遞歸查詢,則需要使用XQuery。在ESB平臺 接收到的消息格式由于來自于不同的業(yè)務(wù)板塊,描述格式的繁雜程度不容易進 行控制。因此采用功能更為強大的XQuery為基礎(chǔ),同時支持XPath的查詢轉(zhuǎn)換。
擴展標(biāo)記轉(zhuǎn)換語言XSLT (Extens ible Stylesheet Language Transf or腿t ion) 可以將XML文檔從一種格式轉(zhuǎn)換成另一種XML文檔格式。它僅是格式的轉(zhuǎn)換而 不修改原始文檔的內(nèi)容。通常情況下,XSLT與XPath配合使用,由XPath通過 XML的元素和屬性對資源進行定位,然后XSLT輸出目的文檔格式。
在實際應(yīng)用中,根據(jù)schema文檔研發(fā)人員使用XQuery和XPath以及XSDL 編寫兩個異構(gòu)系統(tǒng)間的消息轉(zhuǎn)換模板,作為項目工程文件的一部分,接收到源 消息后,在JAVA程序中調(diào)用消息轉(zhuǎn)換模板,根據(jù)模板定義的規(guī)則將源消息轉(zhuǎn)換 成目的消息。為了更好的說明XQuery和Xpath在消息轉(zhuǎn)換中的應(yīng)用,舉例說明 消息轉(zhuǎn)換的應(yīng)用場景。假設(shè)從業(yè)務(wù)板塊A接收到的消息xml格式如圖3所示, 而消息的目的接收端能識別的消息xml格式如圖4所示,由于格式存在差異, 需要采用XQuery和XSLD對源消息中的"service"元素屬性信息進行提取和轉(zhuǎn)
7換,其結(jié)果如圖5所示。
本發(fā)明要實現(xiàn)各種消息的接入,首先必須有企業(yè)服務(wù)總線ESB平臺的支 持,并且各個業(yè)務(wù)板塊的應(yīng)用程序開發(fā)語言可以支持WebService或者消息隊 列的開發(fā)方式。目前在電視臺內(nèi)的各個業(yè)務(wù)板塊應(yīng)用程序基本都是采用主流 的開發(fā)語言,這些語言對上述兩種消息接入方式都能夠很好的支持。
從硬件支持的角度來說,需要部署應(yīng)用服務(wù)器和消息中間件服務(wù)器,如 果需要對消息進行持久化存儲,還需要一臺數(shù)據(jù)庫服務(wù)器。主干ESB為采用 Java語言開發(fā)的Web應(yīng)用軟件,需要Web應(yīng)用服務(wù)器對其的運行進行支撐。 不同的Web應(yīng)用服務(wù)器對消息中間件服務(wù)器支持也不太一樣,并且需要進行 配置才能一起工作,具體配置步驟對于本領(lǐng)域技術(shù)人員來說是公知常識,這 里不再詳述。
例如選用JBoss Application Server 4. 0. 1+ActiveMQ 4. 0. 1+Microsof t SQL Server2000。需要先整合JBoss AS和ActivcMQ,整合完成后,在ESB中選4奪"使 用JMS接入,,。則業(yè)務(wù)板塊以JAVA發(fā)送的調(diào)用消息將傳遞到Act i veMQ中緩存, 供ESB讀取后進行處理。
本發(fā)明所述的方法和系統(tǒng)并不限于具體實施方式
中所述的實施例,本領(lǐng)域 技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其他的實施方式,同樣屬于本發(fā)明的技術(shù) 創(chuàng)新范圍。
8
權(quán)利要求
1.一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法,包括如下步驟(1)根據(jù)不同格式的源消息與目的消息的schema文檔,建立轉(zhuǎn)換模板,在模板中對兩種不同的schema文檔之間進行映射,指明源消息與目的消息各個屬性之間的對應(yīng)關(guān)系;(2)當(dāng)源消息接入系統(tǒng)平臺后,根據(jù)轉(zhuǎn)換模板中對源消息格式的定義,識別出源消息中的數(shù)據(jù)信息和屬性信息;(3)根據(jù)轉(zhuǎn)換模板中對目的消息格式的定義,把步驟(2)中獲得的數(shù)據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式;(4)把轉(zhuǎn)換后的目的消息格式輸出給消息接收端。
2. 如權(quán)利要求1所述的電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法,其 特征在于所述的源消息和目的消息都是XML格式文檔。
3. 如權(quán)利要求1或2所述的電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法,其 特征在于所述的轉(zhuǎn)換模板是由XQuery和XPath以及XSDL寫成的腳本,定義 了各種業(yè)務(wù)板塊中不同格式的源消息到目的消息的轉(zhuǎn)換MJ'J。
4. 一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的系統(tǒng),包括-消息接收模塊,用于提供統(tǒng)一的接收入口,從企業(yè)服務(wù)總線ESB的消息適配器中接收以不同形式傳遞到企業(yè)服務(wù)總線的XML消息;-內(nèi)容提取模塊,用于根據(jù)源消息格式的定義,識別出源消息中的數(shù)據(jù)信息和屬性信息;-格式轉(zhuǎn)換模塊,用于根據(jù)目的消息格式的定義,把內(nèi)容提取模塊中獲 得的數(shù)據(jù)信息和屬性信息轉(zhuǎn)換成目的消息格式;-轉(zhuǎn)換模板模塊,由XQuery和XPath以及XSDL寫成的腳本,定義了各 種業(yè)務(wù)板塊中不同格式的源消息到目的消息的轉(zhuǎn)換規(guī)則;-消息輸出模塊,用于將轉(zhuǎn)換后的目的消息格式通過統(tǒng)一接口輸出給消 息才妄收端;其中,消息接收模塊連接內(nèi)容提取模塊,內(nèi)容提取模塊連接格式轉(zhuǎn)換模塊, 格式轉(zhuǎn)換模塊連接消息輸出模塊,內(nèi)容提取模塊和格式轉(zhuǎn)換模塊還分別與轉(zhuǎn)換 模板模塊連接。
全文摘要
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播技術(shù),具體涉及一種電視臺全臺網(wǎng)系統(tǒng)集成中消息轉(zhuǎn)換的方法及系統(tǒng)。該方法根據(jù)不同格式的源消息與目的消息的schema文檔,建立轉(zhuǎn)換模板,在模板中對兩種不同的schema文檔之間進行映射,指明源消息與目的消息各個屬性之間的對應(yīng)關(guān)系;當(dāng)源消息接入系統(tǒng)平臺后,根據(jù)轉(zhuǎn)換模板中對源消息格式的定義,識別出源消息中的數(shù)據(jù)信息和屬性信息,將其轉(zhuǎn)換成目的消息格式,并把轉(zhuǎn)換后的目的消息格式輸出給消息接收端。本發(fā)明可自動完成消息格式的轉(zhuǎn)換并保證消息內(nèi)容的完整性和一致性,從而實現(xiàn)兩個或多個業(yè)務(wù)模塊之間的消息通信。
文檔編號H04L29/06GK101651656SQ20081011825
公開日2010年2月17日 申請日期2008年8月12日 優(yōu)先權(quán)日2008年8月12日
發(fā)明者姚慶輝, 偉 孫, 張萬軍, 燦 徐, 軍 李, 溫曉瑤, 王堃越 申請人:新奧特(北京)視頻技術(shù)有限公司