劉高軍
摘 要:本文通過對CNONIX標準以及出版發行產業鏈數據交換需求的分析,提出了基于CNONIX標準的符合性測試方法,重點對具有相關性關系數據元素進行研究分類,以此為基礎構建CNONIX標準符合性測試平臺,平臺流程和功能滿足測試規范要求,并對后續進一步數據質量檢查進行了探討。
關鍵詞:CNONIX 數據元素相關性 標準符合性測試
《中國出版物在線信息交換圖書產品信息格式規范》(GB/T 30330-2013,簡稱CNONIX國家標準)是依據國際ONIX(Online Information exchange在線信息交換的縮寫,是一套國際通用的出版物產品信息交換格式規范)標準研制的、適用于中國國情的圖書產品在線信息交換格式規范,該規范描述了圖書、連續出版物以及數字出版產品的基礎信息和貿易信息的交換格式。CNONIX國家標準2014年批準頒布實施,其目標是:為我國出版發行供應鏈上的出版商、發行商、數據集成商和圖書館等各類機構提供完整的、規范的、準確的和及時的圖書產品信息和相關的貿易信息;實現產業鏈上圖書信息的互聯互通;通過圖書信息的交換,促進圖書產品的流通效率,實現圖書產品信息的一次制作、多方應用,降低圖書產品信息加工成本,提高全行業的圖書產品信息質量和應用水平。
為了達到這一目標,原國家新聞出版廣電總局在CNONIX應用推廣中采用試點、示范和全領域推廣的三步走戰略,啟動了“CNONIX國家標準應用試點示范工作工程”項目。2015年開始,遴選了第一批22家信息化基礎較好的出版發行單位作為CNONIX標準的應用推廣示范單位。建立了集團級的數據交換平臺,對集團內部的出版、發行業務系統按CNONIX標準進行了改造,實現了集團內部的標簽統一、代碼統一、數據元素統一,出版數據及時、完整、準確地交換給相關的發行單位和數據服務公司,發行單位不必再重新做數據,發行的銷售、退貨、庫存數據及時反饋回出版單位,數據加工部門以出版數據為基礎,進一步完善市場營銷數據,形成了完整的數據生態鏈。同時在CNONIX標準示范推廣過程中,產生了多項相關的行業標準、工程標準及企業標準。為了進一步推進CNONIX在全行業的應用,今年國家新聞出版署又確定公布了29家單位作為第二批CNONIX標準應用示范單位,目前為止進入示范的出版發行單位已有51家。
一、符合性測試背景
示范應用工程有效推進的核心是實現上下游企業間數據及時交換,為了保證數據及時、完整、準確地交換,其前提是各參與單位產生的數據必須滿足CNONIX標準要求。由于CNONIX標準本身結構靈活、元素項多且關系復雜,人工無法檢測其數據表示是否符合CNONIX標準要求,為了保證各單位系統產生的數據符合CNONIX標準,由CNONIX國家標準應用與推廣實驗室對所有參與應用示范工程單位的交換數據進行自動測試,以保障所有交換數據必須滿足CNONIX標準要求。
標準符合性測試是為了保證產品質量按照事先規定的標準對數據或軟件進行檢測,驗證其是否達到標準中規定的各項指標要求。CNONIX標準符合性測試是依據CNONIX國家標準對交換數據或交互軟件進行驗證,以保證滿足標準指標要求,測試采用自動測試方式。實驗室為此研制開發了CNONIX標準符合性測試平臺,用戶可以進行在線測試,或通過平臺提交后由后臺完成測試。2016年試點工作開始,實驗室對各單位系統改造過程中產生的數據進行了測試,保證系統改造工作的順利進行。同時,對于各示范單位提交到新聞出版總署信息中心“出版發行數據公共服務平臺”進行交換的數據進行了集中測試,包括2017年和2018年各接入單位提交到平臺的數據,累計測試各類數據40萬條以上,對于每組數據的測試,均返回測試報告,對于有問題的數據,詳細描述了問題原因并給出修改建議。平臺的上線運行,確保了交換信息各數據項數據格式的統一規范。
從2017年集中測試情況看,共測試12家出版社或出版集團上傳的多批數據,數據量達到15萬條以上,數據類型涵蓋不同種類圖書,各出版集團數據中包含了下屬出版社書目數據,數據具有一定的普遍性。數據整體上基本符合CNONIX標準要求。但也存在一些共性問題,如“0”或空占位問題,從語法角度滿足規范要求,但數據沒有實際意義。經過溝通和改進,共性問題已解決,各單位上傳數據均達到規范要求。
二、CNONIX描述書目數據的特點
CNONIX標準規定書目數據采用XML格式進行描述,信息交換為XML格式報文消息,一次交換信息構成一個XML消息文件,每個消息文件由消息開始、消息頭、消息主體和消息結束四部分構成,其中核心部分是消息頭信息和構成消息主體的一組或多組產品記錄復合元素。一條完整的消息格式如圖1所示。
CNONIX標準中規定了對XML屬性的使用方式,對于圖書產品信息描述規定了數據組、嵌套關系及數據元素的定義方式,對數據元素定義了組編號、標簽、選擇性、重復性、類型、長度等屬性,由此構成了結構嚴謹、層次清晰的產品信息描述格式。同時,多個屬性不同組合的多樣性以及元素之間取值的制約關系,使其描述數據時具有數據元素多且關系復雜的特點。
CNONIX標準規定了消息主體中描述產品信息的數據元素有數百個,數據元素由單一元素、復合元素及復用元素構成。在元素中,有必選不可重復元素、必選可重復元素、可選不可重復元素、可選可重復元素四種不同組合方式。描述圖書產品信息的數據元素之間必須滿足存在、重復或嵌套關系,同時還滿足大量數據元素具有相關性關系的要求,如若有A則有B,或若A=1則有B等。由此造成了圖書產品信息的描述相對復雜,同時也增加了判斷一個圖書信息描述是否滿足標準要求的難度。按照標準對數據元素的定義進行分析,一方面,數據元素之間存在層次關系,每個元素又有是否必選和是否可重復性;另一方面,部分元素之間存在著彼此相互影響的關系,我們稱之為數據元素之間的相關性關系。對于前者可以采用XML Schema進行驗證,而后者需根據其不同的相關性構建不同的驗證模型,進一步實現基于CNONIX標準的符合性驗證。
另外,CNONIX標準還具有動態變化的特點,當前CNONIX標準采標于ONIX標準3.0版第12期代碼表。國際ONIX組織大約每三個月就要對代碼表進行一次更新,ONIX for Book本身也會不定期升級版本,到目前為止,ONIX for Book已升級到3.0.4版本,代碼表更新至第41期。
三、驗證模型構建
依據CNONIX標準對圖書信息數據進行測試,主要是從數據的規范性角度對數據進行的測試,包括對是否滿足結構要求的測試、對數據元素是否應該存在或是否可以重復存在的測試、對數據之間的相關性關系的測試,以及對數據元素取值為代碼表中代碼值是否正確的測試。
根據CNONIX標準所描述的圖書信息數據特點,將數據元素分為兩類,其中一類是只存在嵌套關系的數據元素,此類驗證相對比較簡單;另一類,是數據元素之間存在相關性關系的數據元素,而相關性關系又劃分為不同類型關系,需根據不同關系構建不同驗證模型,以實現數據驗證。
例如:在CNONIX標準中,存在一類如圖2所示描述的元素。
該元素描述表示:當在消息頭中默認價格類型
1)存在
2)存在
3)不存在
4)
由此可見,數據元素
再如,在標準中存在一類如圖3所示描述的元素。
該元素描述表示:當發送方標識類型
1)當
2)當
3)當
4)當
由此可見,這兩個元素之間同樣存在著相關性關系,但其關系與前述的關系(默認價格類型與價格類型之間的關系)不同。
依照同樣的分析方法,在CNONIX標準中能抽象出共五類具有不同關系的元素,而對于具有不同關系的元素的正確性驗證,需依據其關系類型,分別建立驗證模型。
在CNONIX標準中共定義了761個數據元素,其中復合元素152個,單一元素372個,復用元素237個。在所有元素中,必選不可重復的元素有130個,必選可重復的元素有17個,可選不可重復的元素有214個,可選可重復的元素有141個。在所有數據元素中,有676個數據元素可以通過XML Schema進行驗證,有85個數據元素具有相關性關系,按其關系類型分別構建其驗證模型。所謂書目數據能夠通過驗證,是指既要通過XML Schema驗證,又能通過對于描述信息的所有相關性元素間的相關性驗證。
由此可得驗證模型是由85個具有相關性關系的元素,按其關系類型分類構成的相關性關系表,當表中所有驗證均通過時,表示通過驗證,否則驗證不通過。
四、測試平臺實現
以驗證模型為基礎構建標準符合性測試平臺,嚴格遵照《CNONIX標準符合性測試規范》GC-ZX36-2016要求,并充分考慮用戶體驗,依據軟件工程的方法設計平臺。
1.測試流程
測試流程主要包括數據組順序測試、數據類型測試、數據相關性測試、代碼表取值測試四個環節,每一步測試均需記錄測試結果,并最終匯總后反饋給用戶。具體流程如圖4所示。
2.平臺實現
CNONIX標準符合性測試平臺采用基于B/S的三層架構,即數據層、業務層、應用層,各層相對獨立,系統維護升級簡單,方便用戶使用。采用XML Schema對數據進行測試,以驗證數據描述的規范性;對相關性關系元素進行驗證,采用可配置的相關性規則表方式,使平臺應用更加靈活。平臺特點是:①提供在線片段測試和提交后臺測試兩種測試方式,方便不同需求用戶使用;②檢測依據的XML Schema和元素相關性規則表定義為可配置文件和數據庫表,可根據實際應用情況設置檢測條件;③平臺核心測試功能模塊獨立于平臺,可嵌入其他應用中。
系統功能主要包括用戶管理、版本管理、片段測試、數據測試、軟件測試等功能,每項功能又細分為各子功能,由子功能完成業務流程。其中的核心業務功能:①片段測試:該功能是為了方便用戶少量數據自測時使用的功能,用戶可以直接將數據的XML文本粘貼到測試窗口,點擊測試按鈕即可,測試結果直接在結果窗口顯示。此功能方便快捷,避免了提交后臺測試的流程,特別是對單本書數據的測試非常方便有效。②數據測試:該功能需將數據文件提交到后臺,按測試規范流程要求完成測試,包括:測試申請、測試審核、數據提交、執行測試、下載測試報告等全流程處理功能。用戶必須按此流程完成一定數量的數據測試,也只有經過平臺此功能測試,才能被確定為數據驗證通過。
測試報告在測試環節中起重要作用,是對產生錯誤數據系統進行修改的依據,所以測試報告應盡可能詳細描述問題原因。平臺產生的測試報告詳細記錄了數據描述中的問題,直接定位在文檔的第幾行、第幾列、有什么問題,并給出修改建議,方便用戶發現和改正錯誤。
五、需進一步解決的問題
CNONIX標準符合性測試平臺上線運行以來,為各示范單位系統升級改造中的數據驗證提供了方便,平臺針對各類數據給出測試報告,直接反映數據描述中存在的問題,從而提高系統改造后產生交換數據的規范性。隨著應用的不斷深入,對于交換數據的完整性、準確性等數據質量問題提出了更高的要求,如完整性方面,必選數據元素是否有遺漏、描述某種類型圖書的必要可選項是否存在等;而準確性方面包括提交數據與成書數據是否保持一致,表達是否真實有效等,對于這些數據質量問題的檢測,單純依靠人工檢查已遠不能滿足應用需求,為此,需進一步開展數據完整性、準確性質量檢查研究,利用平臺在對數據規范性驗證的同時,完成對數據完整性和準確性的檢查,以確保交換數據有效可用。
六、下一步研究思路
CNONIX國家標準是一個上位標準,在實際應用中需要制訂一系列的具體標準規范。由全國出版物發行標準化技術委員會牽頭,CNONIX國家標準應用推廣試點示范單位參與,制訂了多項行業標準和工程標準,進一步規范圖書信息采集的流程、圖書產品信息加工方法、擴展了圖書信息的代碼表,并且對CNONIX數據的質量指標、數據符合性檢測等都做詳細規定。
針對數據完整性和準確性的質量檢測問題,重點研究《GC-ZX42-2016 CNONIX數據質量要求》《GC-ZX38-2016圖書出版信息采集規范》《GC-ZX39-2016圖書發行信息采集規范》等相應標準,建立可靈活定制的質量檢測方法,滿足不同類型圖書數據的要求,具體實現應以模板形式定制檢測要求,以適應標準版本升級的需要。
在完整性方面,CNONIX數據質量要求的規定,圖書在出版、發行不同階段應提供各階段必要數據元素,按照出版、發行信息采集規范要求,檢測各階段數據元素必采項是否完整,選采項哪些元素有,哪些元素沒有,如:圖書成品后應提供完整的長、寬、厚、重量、內容簡介和目錄等數據元素,檢測后形成檢測報告,為判斷數據質量是否滿足要求提供依據。對于不同階段圖書信息,可采用定制不同模板來描述對完整性的不同要求。
在準確性方面,按CNONIX數據質量要求,圖書數據與成品圖書真實數據保持一致,與成品圖書數據的物理屬性誤差范圍應控制在5%以內,數據的表達真實準確。在這里主要檢測各數據元素數據值是否超范圍,或不合理,如:數據中圖書頁數與實際頁數不符等,需總結各數據屬性進行處理。采用方式:①可考慮構建動態數據元素與典型錯誤數據對應表,對數據項數據進行檢查;②可利用標準數據進行比對進行檢查等。
隨著研究的不斷深入和應用的不斷推廣,新聞出版行業將以CNONIX國家標準為抓手,建立良好的數據交換機制,打通出版發行之間的數據壁壘,實現行業資源共享,而標準符合性測試為交換數據的質量提供保障作用。同時借助CNONIX標準符合性測試平臺,聚集行業內各應用示范單位,不斷完善CNONIX應用體系,促進行業應用的技術創新。
參考文獻:
1.韓柳.CNONIX for Books標準動態維護平臺關鍵技術的研究與應用[D].北方工業大學,2014.
2.GB/T 30330-2013, 中國出版物在線信息交換圖書產品信息格式規范[S].
3.許文馨,左昕,安琪,等.標準符合性測試的國內外比較及對策分析[J].現代商貿工業,2013(1):155-157.
4.王惠蒞,上官曉麗.電子簽名相關規范符合性測試平臺方案分析[J].信息技術與標準化,2012(10):33-35,38.
5.GC-ZX36-2016, CNONIX標準符合性測試規范[S].
6.GC-ZX42-2016, CNONIX數據質量要求[S].
(作者單位系北方工業大學CNONIX國家標準應用與推廣實驗室。本文系CNONIX國家標準應用與推廣實驗室研究成果之一)