刘高军
摘 要:本文通过对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国家标准应用与推广实验室研究成果之一)