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

        ?

        國家新聞標準研究及應用系統(tǒng)設計

        2012-09-20 05:31:08尹輯山曹三省
        關鍵詞:數(shù)據(jù)庫標準內(nèi)容

        尹輯山,曹三省

        (中國傳媒大學,北京100024)

        1 概述

        新聞行業(yè)如果沒有統(tǒng)一的中文新聞技術標準,往往容易造成新聞共享和資源利用的各種困難,即便在一個單位內(nèi)部的各個系統(tǒng)之間也會形成信息孤島,彼此之間數(shù)據(jù)交換需要進行繁雜的格式轉(zhuǎn)換,增加了開發(fā)和維護的成本。中文新聞信息置標語言(CNML)的制定結束了國內(nèi)新聞行業(yè)內(nèi)長期沒有統(tǒng)一標準的局面。該標準不僅能夠很好的適應新聞行業(yè)的數(shù)字化、網(wǎng)絡化及多媒體化,并且為新聞領域多媒體發(fā)信息的組織、發(fā)布、交換、存儲、應用建立一套非常完整的新聞數(shù)據(jù)、元數(shù)據(jù)、受控詞表等相關技術,而且方便新聞媒體單位之間及單位內(nèi)部各個系統(tǒng)之間的新聞信息的交流和共享[1]。

        目前國際上的新聞標準有多種,如國際電訊理事會(IPTV)的 NewsML1.x、NITF、NewsCode、新華社的XinHuaML、國際數(shù)字企業(yè)聯(lián)盟的Prism、ISO/IEC的Mpeg7,都柏林核心元數(shù)據(jù)(Dublin Core),國家廣播電影電視總局的音頻、視頻編目標準等等[2]。其中,最具有重要影響力的是IPTV的NewsML1.x,目前是NewsML1.2版本。NewsML核心是定義了一種一對多的基本結構,它為新聞數(shù)據(jù)的互換和管理提供了框架。

        CNML新聞標準與NewsML標準相比較,CNML新聞標準在元數(shù)據(jù)管理機制和新聞數(shù)據(jù)的格式上更有優(yōu)勢,一方面,它規(guī)定了新聞流通領域內(nèi)的企業(yè)型用戶可以針對自己的業(yè)務特點提供相應的元數(shù)據(jù)擴展機制;另一方面,它將新聞數(shù)據(jù)層和語義層分離開來,便于新聞數(shù)據(jù)的管理和挖掘。

        CNML新聞標準不僅在新聞數(shù)據(jù)的交換方面提供了統(tǒng)一的新聞元數(shù)據(jù)標準和規(guī)范的交換格式,而且還能夠充分滿足媒體前瞻性的要求,對所交換的數(shù)據(jù)提供更多語義層面的支持,提供稿件之間和內(nèi)容項之間豐富的關聯(lián)關系。

        2 CNML標準研究及特點分析

        首先,CNML標準依托于XML技術,XML是可擴展標記語言 (Extensible Markup Language)的縮寫,用于標記電子文件使其具有結構性的標記語言,能夠允許用戶自己定義的標簽來進行標識的語言。XML是標準通用標記語言(SGML)的子集,能夠很好的被應用到系統(tǒng)之間進行數(shù)據(jù)交換。目前,XML語言已經(jīng)成為信息交換的通用語言。因此,CNML標準具有先天的優(yōu)越性。該標準中為新聞領域多媒體信息的組織、發(fā)布、交換、存儲及應用定義了一套非常完整的新聞數(shù)據(jù)、元數(shù)據(jù)、受控詞表等相關技術標準,使得新聞文檔更加規(guī)范化、標準化。不同系統(tǒng)之間或系統(tǒng)內(nèi)部之間進行信息交換就可以大大簡化了數(shù)據(jù)交換的過程,避免了不同標準之間的相互轉(zhuǎn)換及完整性驗證等處理步驟。

        其次,從CNML標準的結構方面來看,該標準將一篇完整的CNML新聞文檔分成三個層:文檔層、稿件層和內(nèi)容層。文檔層包含了用于信息交換的信封(envolope)和稿件;稿件層包括元數(shù)據(jù)組、多媒體內(nèi)容及稿件關系;內(nèi)容層包含內(nèi)容元數(shù)據(jù)組、數(shù)據(jù)內(nèi)容及內(nèi)容關系。另外,稿件還定義了關系描述和受控詞表及引用機制。從CNML標準的各個層次中可以發(fā)現(xiàn),層次之間是一種包含關系[1]。具體結構如圖1所示:

        圖1 CNML標準層次結構模型圖

        另外,在統(tǒng)一層中,各個模塊是相對獨立的。比如,在稿件層,元數(shù)據(jù)組、多媒體內(nèi)容以及稿件關系都是相互分離的表示的,這種設計使得標準結構更加清晰,便于準確獲取對應部分內(nèi)容。而且在元數(shù)據(jù)組、多媒體內(nèi)容、以及稿件關系的內(nèi)部設計也都是繼承了它們上一級層次的設計模式,各個模塊彼此相對獨立,對各部分數(shù)據(jù)的管理也就更加方便了。這種各個模塊相對獨立的設計方案,很類似面向?qū)ο笳Z言的設計。每個模塊都是一個對象,所有的模塊都繼承了CNML文檔這個最原始的對象,所有的模塊都是它的子孫模塊。不僅如此,CNML標準也提供了擴展機制,能夠適應未來可能出現(xiàn)的新的數(shù)據(jù)交換新需求。該擴展機制同樣非常類似面向?qū)ο笳Z言中的繼承關系。因此,在對CNML新聞標準文檔進行處理的時候,可以將其映射成許多相對獨立但彼此又有關聯(lián)的對象。標準中的稿件級關系和內(nèi)容項級關系在對數(shù)據(jù)進行關系型數(shù)據(jù)庫存儲時將會非常有用。

        3 CNML新聞標準應用系統(tǒng)設計

        本系統(tǒng)是采用B/S模式基于CNML新聞標準的能夠?qū)崿F(xiàn)新聞數(shù)據(jù)內(nèi)容的上傳、CNML標準文檔的生成以及新聞數(shù)據(jù)內(nèi)容的顯示等功能。

        3.1 系統(tǒng)后臺設計

        系統(tǒng)后臺使用Java編程語言針對不同媒體類型的新聞內(nèi)容,即對應CNML標準中的不同類型的內(nèi)容項,開發(fā)了一系列的程序接口來實現(xiàn)新聞數(shù)據(jù)的上傳。根據(jù)CNML標準的結構特點,我們采用了模版的方式來進行CNML標準文檔的生成。比如,信封(envolope)、稿件關系、內(nèi)容項關系等內(nèi)容進行模版化設計。當進行新聞內(nèi)容上傳時,首先創(chuàng)建一個空的XML文檔,然后讀取模版內(nèi)容,并寫入到空的XML文檔中。然后,將上傳的新聞數(shù)據(jù)通過Dom4j組件按照CNML標準來進行封裝,并遍歷XML文檔,找到內(nèi)容層并將封裝的內(nèi)容項插入指定位置。

        XML與數(shù)據(jù)庫都有存儲數(shù)據(jù)的能力,然而,數(shù)據(jù)庫提供了更強大的數(shù)據(jù)存儲和數(shù)據(jù)分析能力。如果系統(tǒng)存儲要求不高的話,可以采用XML直接存儲數(shù)據(jù),并采用XPath、Dom4j等技術來對其進行解析。然而,這種方式對CNML文檔管理上也會存在一定麻煩,比如,文檔名的沖突問題,對文檔的內(nèi)容的修改和刪除。CNML標準中各個模塊相對獨立,并且各個層是包含關系,由此使用面向?qū)ο蟮脑O計方法,將各個模塊映射成一個個對象,在層次結構中處于內(nèi)層的作為外層的屬性。通過JAXB數(shù)據(jù)綁定技術,根據(jù)CNML實例文檔生成Java類。Java類中的屬性,對應了CNML文檔中屬性和子標簽[3]。然后通過ORM框架iBatis將對象和數(shù)據(jù)庫中的表格進行關聯(lián)。

        整個系統(tǒng)采用MVC模式,JAXB生成的Java類作為M(Model層)。C(Controller層)用來處理客戶端的請求,通過調(diào)用持久層類的業(yè)務方法進行數(shù)據(jù)庫操作[4]。整體框架設計如圖2所示:

        另外,系統(tǒng)中還設計了對新聞信息的有效管理設計。包括對稿件層和內(nèi)容項層內(nèi)容的增刪改查等操作。系統(tǒng)后臺設計效果圖如圖3所示:

        3.2 系統(tǒng)前端設計

        系統(tǒng)前端主要通過Ajax技術,從服務器端獲取新聞數(shù)據(jù),然后在瀏覽器中進行呈現(xiàn)。通過Ajax異步通信技術可以有效減少通信所需的帶寬,而且對數(shù)據(jù)的處理主要放在客戶端瀏覽器來執(zhí)行,減輕了服務器端對數(shù)據(jù)處理的壓力。

        在首頁中對服務器端發(fā)送請求給Controller層對象,Controller層對象調(diào)用Service層對象的方法按照時間從數(shù)據(jù)庫中查找較新的新聞標題列表,并返回給客戶端。通過JavaScript開發(fā)框架jQuery在客戶端給每個新聞標題來添加click事件,click觸發(fā)事件中調(diào)用 jQuery封裝的 Ajax方法$.getJSON(url,[data],[callback])。url地址設置成 Controller層對象,data參數(shù)中填寫要獲取數(shù)據(jù)的標識信息。Controller層對象將會從數(shù)據(jù)庫中查找data參數(shù)中指定的數(shù)據(jù),封裝成.json格式的文件后返回給客戶端。callback參數(shù)指向的JavaScript方法,來完成對返回的.json格式的文件里數(shù)據(jù)進行解析,并將數(shù)據(jù)添加到在html對應標簽中[5]。具體流程及效果如圖4、5所示:

        圖4 系統(tǒng)前端設計流程圖

        圖5 系統(tǒng)前端效果圖

        4 CNML標準相關處理技術

        在之前的系統(tǒng)版本設計中,我們未采用數(shù)據(jù)庫來進行數(shù)據(jù)的存儲,而是將數(shù)據(jù)僅僅存儲在CNML標準文檔中,而且在系統(tǒng)前端的設計中是獲取一個完整的CNML標準新聞。這種設計一方面不符合MVC開發(fā)模式,不利于代碼的重復使用,各層之間密切耦合;另一方面,浪費了資源,一個完整的CNML標準文檔里有大量的元數(shù)據(jù)、新聞信息數(shù)據(jù),然而在新聞閱讀端我們僅僅需要的是一些核心的數(shù)據(jù)。在本次改進版本設計中,采用了MVC的開發(fā)模式,使用jQuery框架對Ajax封裝一系列方法,采用Json格式來進行通信,大大提高了通信效率節(jié)省了帶寬。

        4.1 JAXB數(shù)據(jù)綁定技術

        數(shù)據(jù)綁定是指將一些數(shù)據(jù)(XML文檔或者數(shù)據(jù)庫中),通過程序表示這些數(shù)據(jù)的過程。數(shù)據(jù)綁定API允許通過編程來操縱XML。

        JAXB(Java Architecture for XML Binding)是一個業(yè)界的標準,是一種能夠從XML或Schema生成Java類的技術。JAXB將XML文件解組成Java內(nèi)容對象樹。應用程序可以直接訪問表示該數(shù)據(jù)內(nèi)容和結構的Java對象。JAXB綁定編譯器將 XML Schema作為輸入,生成能夠反映Schema定義規(guī)則的Java接口和類的包,并將其進行編譯組成一個公用的JAXB程序包,此過程成為解組(unmarshalling)。編組(marshalling)與解組的過程正好相反,根據(jù)Java內(nèi)容樹返回XML實例文檔的過程[6]。

        使用JAXB進行數(shù)據(jù)綁定,首先要引入開發(fā)所需要的jar包和環(huán)境變量JAXB_HOME、JAXB_LIBS的設置。JAXB_HOME變量用來指定JAXB的安裝目錄,JAXB_LIBS指定開發(fā)所需的jar包的位置。第二步,用 xjc.bat命令根據(jù) XML Schema生成JAXB Java類。如:

        xjc.bat CNML_v2.020091106.xsd-p com.cuc

        其中,CNML_v2.020091106.xsd是源 XML Schema的文件名;com.cuc是JAXB編譯器將生成的Java接口類存放的包名。然后,將所生成的類進行編譯[7]。最后,通過編程的方式,來生成具體CNML標準的實例文件。如:

        JAXBContext jaxbC=JAXBContext.newInstance(PACKAGE_NAME);

        Unmarshaller unmarshaller = jaxbC.createUnmarshaller();

        Object obj=unmarshaller.unmarshal(new FileInputStream(inputFilename));

        首先創(chuàng)建一個JAXBContext的實例對象,并且指定生成的類存放的包名。然后,通過該對象創(chuàng)建一個解組對象unmarshaller,最后一步將根據(jù)CNML標準實例文檔來生成具體的java類實例對象[8]。

        通過JAXB生成的java對象可以作為javabean來與數(shù)據(jù)庫中的表進行映射。

        4.2 Ajax獲取CNML標準文檔數(shù)據(jù)

        Ajax是Asynchronous JavaScript and XML的縮寫,其核心是通過XMLHttpRequest對象以異步的方式,向服務器發(fā)送數(shù)據(jù)請求,并接受服務器返回的針對請求的數(shù)據(jù)。在2005年,Google通過其Google Suggest使Ajax逐漸變得廣泛應用。Ajax并不是一種新的編程技術,其在Web應用方面能夠創(chuàng)建更好更快及交互性更強的特性。Ajax是一種獨立于服務器的技術,其最大優(yōu)點是能夠在不更新整個頁面的前提下與服務器端進行通信,從而節(jié)省了帶寬。

        Ajax應用時首先要實例化一個異步對象連接器。在實例化時要充分考慮不同瀏覽器兼容性問題,主要針對主流瀏覽器 IE和 FireFox。創(chuàng)建完XMLHttpRequest對象后,利用 open(method,url,asynchronous,usr,password)來建立一個請求,并使用send()向服務器發(fā)送請求。如果open()方法中的請求方式為“post”,則需要使用setRequestHeader()來添加HTTP頭。然后在send()方法中規(guī)定發(fā)送請求的參數(shù)數(shù)據(jù)。

        XMLHttpRequest對象有兩個屬性responseText和responseXML。在CNML新聞標準應用中,我們可以使用Ajax來從服務器端獲取XML格式的新聞文檔。responseXML屬性能夠獲取服務器端返回的以XML格式進行組織的數(shù)據(jù)。然后在XMLHttpRequest對象的onreadystatechange事件屬性中,對獲取的CNML新聞文檔進行處理,通過 JavaScript的DOM來進行新聞數(shù)據(jù)的解析[9]。其詳細過程如圖6所示:

        圖6 Ajax應用流程

        在JavaScript的jQuery框架中對Ajax進行了很好的封裝,并且很好的解決了瀏覽器兼容問題。jQueyr中使用全局函數(shù)$.get(url,[data],[callback],[type])、$.post(url,[data],[callback],[type])方法來異步加載服務器端的CNML新聞文檔。url,表示等待加載的數(shù)據(jù)地址,可選參數(shù)data表示發(fā)送到服務器的數(shù)據(jù),其格式為key/value,可選項callback參數(shù)表示加載成功時的回調(diào)函數(shù)??蛇x參數(shù)type參數(shù)表示返回數(shù)據(jù)的格式,如HTML、XML、Js、Json、text等。在系統(tǒng)設計中,我們要獲取CNML標準新聞中的有效數(shù)據(jù),可以將type設置成“XML”,服務器端就可以從數(shù)據(jù)庫中獲取數(shù)據(jù)并用DOM4J組件的API將數(shù)據(jù)組織成XML文檔格式,并返回給客戶端。

        在不同應用系統(tǒng)之間或應用系統(tǒng)內(nèi)部之間進行數(shù)據(jù)交換,XML數(shù)據(jù)格式無疑是首選,在一些Web應用中可以通過Json格式進異步獲取數(shù)據(jù)從而提高通信效率。當要對新聞數(shù)據(jù)格式進行解析時,XML數(shù)據(jù)格式和Json數(shù)據(jù)格式相比較就顯的會有些冗余,因為XML數(shù)據(jù)格式中需要每個標簽都要關閉,這樣就會造成一定程度上的資源浪費。Json是另一種輕量級的數(shù)據(jù)交互方式。jQuery同樣對采用Ajax技術來從服務器獲取Json格式數(shù)據(jù)的方法進行了很好的封裝,$.getJSON(url,[data],[callback])。在可選參數(shù)data可以用來指定想要獲取CNML新聞標準信息中具體部分或指定位置的數(shù)據(jù)內(nèi)容。服務器端將根據(jù)請求參數(shù)從數(shù)據(jù)庫中獲取數(shù)據(jù)并生成.json格式的文件[5]。.json格式文件內(nèi)容如下所示:

        [{“Headline”:”中國人劉翔創(chuàng)造歷史—男子110米欄記錄歷史回顧”,

        “FullName”:“張曉明”,

        “DataContent”:“中國選手劉翔成為2006年瑞士洛桑田徑超級大獎賽的超級明星,圖為接受各國記者采訪”,

        }]

        callback參數(shù)是對獲取到的.json文件進行解析的回調(diào)函數(shù),并將對應數(shù)據(jù)顯示到html標簽中。由此可見,.json格式文件與XML格式文件相比,對資源信息的描述更加精簡,有效減少通信數(shù)據(jù)的冗余。

        5 總結

        本文首先對中文新聞信息置標語言進行了研究,通過與國際標準進行比較體現(xiàn)了它在一些設計上的優(yōu)越性。并且基于該標準設計了一套應用系統(tǒng),能夠?qū)崿F(xiàn)新聞數(shù)據(jù)的采集和信息發(fā)布??蛻舳四軌蛲ㄟ^瀏覽器進行新聞的閱讀。整個系統(tǒng)在原來版本的基礎上又采用了MVC的開發(fā)模式,使用JAXB開發(fā)組件,將CNML標準文檔映射出相應Java類,充當Model層組件,并且與關系型數(shù)據(jù)庫進行映射。在新聞數(shù)據(jù)解析時,采用了Web2.0的Ajax技術,Ajax的異步通信可以有效節(jié)省帶寬,并且使用輕量級的Json格式文件能夠進一步節(jié)省資源。

        [1] 陳明祥.中文新聞信息置標語言使用指南[M].北京:新華出版社,2008.

        [2] 武國衛(wèi),刁毅剛,黃菁.中文新聞信息置標語言之創(chuàng)新研究[J].中國傳媒科技.2005.11

        [3] 楚昌林.XML到關系數(shù)據(jù)庫轉(zhuǎn)換研究[J].微型機與應用,2009.11

        [4] 趙俊峰.Java Web應用開發(fā)案例教程——基于MVC模式的JSP+Servlet+JDBC和AJAX[M].北京:清華大學出版社,2012.

        [5] 陶國榮.jQuery權威指南[M].北京:機械工業(yè)出版社,2011.

        [6] 王岳昭,冒東奎.Java綁定XML架構的技術內(nèi)涵[J].北京工業(yè)大學學報,2006,3(32).

        [7] Brett McLaughlin.Practical data binding:Get your feet wet in the real world[DB/OL].http://www.ibm.com/developerworks/library/x-pracdb1/index.html#.

        [8] Brett McLaugblin.Java &XML,SecondEdition[M].O’Reilly& Associates,2004.

        [9] 馬勞可林.深入淺出Ajax[M].南京:東南大學出版社,2008.

        猜你喜歡
        數(shù)據(jù)庫標準內(nèi)容
        2022 年3 月實施的工程建設標準
        內(nèi)容回顧溫故知新
        科學大眾(2022年11期)2022-06-21 09:20:52
        忠誠的標準
        當代陜西(2019年8期)2019-05-09 02:22:48
        美還是丑?
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        主要內(nèi)容
        臺聲(2016年2期)2016-09-16 01:06:53
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        一家之言:新標準將解決快遞業(yè)“成長中的煩惱”
        專用汽車(2016年4期)2016-03-01 04:13:43
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        国产精品毛片大尺度激情| 玩弄人妻少妇精品视频| 99爱在线精品免费观看| 亚洲av无码一区二区二三区| 免费夜色污私人影院在线观看| 亚洲不卡无码高清视频| 久久精品国产乱子伦多人| 国产99精品精品久久免费| 丰满人妻一区二区三区精品高清| 亚洲av老熟女一区二区三区 | 日本一级特黄aa大片| 欧美大屁股xxxx高潮喷水| 永久免费看啪啪网址入口| 国产一国产一级新婚之夜| 亚洲中文字幕有码av| 国产美腿丝袜一区二区| 亚洲av日韩综合一区久热| 欧美老妇与zozoz0交| 白色橄榄树在线免费观看| 女女同性av一区二区三区免费看| 手机在线观看av资源| 亚洲av成人片色在线观看高潮| 欧美最猛黑人xxxx黑人表情 | 亚洲国产美女高潮久久久| 日韩欧美成人免费观看| 国产AV无码专区亚洲AⅤ| 一区二区av日韩免费| 久久午夜一区二区三区| 亚洲毛片一区二区在线| 中文字幕久久久人妻无码| 久久国产精品二国产精品| 国产免费一级在线观看| 一级黄色一区二区三区视频| 可以直接在线看国产在线片网址| 少妇伦子伦精品无吗| 精品国产制服丝袜高跟| 91久国产在线观看| 中文字幕一区二区综合| 免费黄色影片| 亚洲精品国产福利一二区| 国内精品久久久久国产盗摄|