信息系统数据交换模型定义规范SpecificationsfordefiningdataexchangemodelininformationsystemQ/SY2012-09-27发布2012-11-15实施中国石油天然气集团公司发布中国石油天然气集团公司企业标准Q/SY116—2012代替Q/SY116-2007Q/SY116-2012I目次前言.................................................................................II1范围................................................................................12规范性引用文件......................................................................13术语和定义..........................................................................14数据交换模型........................................................................25数据集的定义........................................................................46交换对象............................................................................77计量单位...........................................................................14附录A(资料性附录)数据交换模型文件.................................................22附录B(资料性附录)数据交换文件开发指南.............................................28附录C(资料性附录)二进制类型数据编码方法...........................................36参考文献.............................................................................38Q/SY116-2012II前言本标准按照GB/T1.1—2009《标准化工作导则第1部分:标准的结构和编写》给出的规则起草。本标代替Q/SY116-2007《信息系统数据交换模型定义规范》,与Q/SY116-2007相比,除编辑性修改外,主要技术变化如下:——删除了数据类型的标记定义(见2007年版的第5章);——删除了实体的定义规则(见2007年版的第7章);——修改了交换数据体的定义方式,将“交换数据”改为“数据集的定义”(见第5章,2007年版的第6章);——修改了交换对象的描述内容(见第6章);——增加了数据模型的描述(见6.3);——增加了文件目录、文件名、二进制值、自动值等数据类型(见6.3.4);——增加了实体的属性与数据元的对照关系(见6.3.4);——增加了二进制数据类型的BASE64编码(见附录C);——修改了计量单位的描述方式(见7.2.1)。本标准由中国石油天然气集团公司信息管理部提出。本标准由中国石油天然气集团公司标准化委员会信息技术专业标准化技术委员会归口。本标准起草单位:中国石油勘探开发研究院、东北石油大学。本标准主要起草人:文必龙、王志宝、邵庆、时贵英。本标准代替了Q/SY116-2007。Q/SY116-2007的历次版本发布情况为:——Q/SY116-2004。Q/SY116-20121信息系统数据交换模型定义规范1范围本标准规定了中国石油天然气集团公司信息系统之间进行数据交换时采用的数据交换格式。本标准适用于中国石油天然气集团公司信息系统之间进行数据交换。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB18030-2005信息技术中文编码字符集REC-xmlschema-0-20010502W3CXML模式第1部分:结构(W3CXMLSchema—Part1:Structures)REC-xmlschema-2-20010502W3CXML模式第2部分:数据类型(W3CXMLSchema—Part2:Datatypes)3术语和定义下列术语和定义适用于本文件。3.1数据交换dataexchange数据交换是一个或多个计算机软件系统之间传递数据的过程。本标准中的数据交换是指通过中间文件实现的一种交换方式,由数据选择、编码、传输、解码、集成等环节构成。3.2数据交换模型dataexchangemodel数据交换模型用来定义数据交换文件的格式的模型。本标准中的数据交换模型是基于XMLSchema的数据交换模型,其语法采用XMLSchema进行描述。定义数据交换模型的文件是XML模式文件,模式文件的扩展名为.xsd(具体数据交换模型文件参见附录A)。3.3数据交换文件dataexchangefile用来在两个系统之间传递数据的中间文件。本标准中的数据交换文件采用XML进行描述,其格式符合本标准定义的交换模型。数据交换文件的扩展名为.xml(相关数据交换文件开发指南参见附录B)。3.4命名空间namespaceXML中用来指定一个元素或属性的有效范围。XML的命名空间用一个URI(UniformResourceIdentifier)表示。Q/SY116-201223.5XML模式XMLschema一种以含有逻辑约束规则的式样为基础的结构化模式语言。本标准中是指万维网联盟(W3C)的XMLSchema。3.6XML文件XMLfile按XML语法组织的数据文件,因此XML文件中包含的是数据。3.7元素element元素是XML文档内容的基本单元。从语法上讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。其形式是:标记数据内容/标记。3.8实体entity任何具体的或抽象的事物,包括事物间的联系。在不同的系统中,实体可能有不同的叫法,如“表”、“类”等。实体与这些术语是等价的、通用的。4数据交换模型4.1数据交换模型的定义规则定义规则为:a)一个数据交换模型可以由多个模式文件组成;b)所有的模式文件采用统一的命名空间;c)数据交换文件必须有一个唯一的根元素;d)模型中元素名称中字母的大小写敏感。4.2数据交换模型的基本要素基本要素为:a)数据集:定义要交换的数据;b)计量单位:定义交换文件中使用的计量单位;c)交换对象:定义交换数据源的相关环境,包括创建人、数据源和数据模型。4.3约定约定如下:a)所有的模式及示例都以片段的形式给出;b)所有的模式及示例均遵照4.5定义的命名空间;c)“XML模式应用示例”用来说明所定义的类型或元素如何在XML模式中使用,示例中的语法符合XML模式规定;d)“XML示例”用来说明所定义的类型或元素如何在XML文件中实例化,示例中的语法符合XML规定。Q/SY116-201234.4字符集交换模型和交换文件是文本文件,采用GB18030-2005规定的文件中字符。4.5命名空间本标准各个部分的命名空间按照REC–xmlschema–0–20010502的规定进行定义。交换模型及交换数据文件的各个部分命名空间定义见表1:表1命名空间定义表前缀命名空间targetNamespace:xsi:xsd缺省xmlns=模式定义数据交换模型由多个模式文件组成。各模式文件的定义按照REC–xmlschema–0–20010502和REC–xmlschema–2–20010502进行定义。各模式文件按以下方式定义XML模式:?xmlversion=1.0?xsd:schematargetNamespace=:xsi=:xsd===qualified……/xsd:schema4.7根元素一个XML文件必须有且仅有一个根元素,数据交换文件的根元素定义为DEM。根元素DEM下有三个子元素,分别表示数据集、数据交换相关对象、计量单位三部分。其中:a)数据集用元素DataSet定义;b)数据交换相关对象用元素DEMObjects定义;c)计量单位用元素UOMBlock定义。DEM元素的XMLSchema定义如下:Q/SY116-20124xsd:elementname=DEMxsd:complexTypexsd:sequencexsd:elementname=DataSettype=DataSetTypeminOccurs=0/xsd:elementname=UOMBlocktype=UOMBlockTypeminOccurs=0/xsd:elementname=DEMObjectstype=DEMObjecsTypeminOccurs=0//xsd:sequence/xsd:complexType/xsd:element5数据集的定义5.1数据集数据集是数据交换的主要内容,以实例、属性值为基本单位进行描述。数据集的构成见图1。数据集由元素DataSet定义,一个数据集中包含多个实例集。一个实例集中包含多个实例,一个实例集下的实例可以来自同一个相同的实体,也可以来自多个来不同的实例。建议将一个实体下的所有要交换的实例表示成一个实例集,这样有利于数据交换程序的实现,数据的组织也比较整齐。图1通用数据集的构成数据集用元素DataSet来表示,定义为DataSetType类型。一个数据集元素有以下子元素:a)name:可选。数据集名称;b)created_time:可选。数据集创建时间。格式为:YYYY-MM-DDhh:mm:ss,其中YYYY表示年,MM表示月,DD表示日,hh表示小时(0~23),mm表示分,ss表示秒。MM、DD、hh、mm和ss不足2位时,前位用0补齐。日期DD与小时hh之间有一空格;c)description:可选。数据集描述性说明;d)objs:可选。实例集。一个实例集定义了0个或或0个以上实体的实例。一个数据集有一个或多个实例集。由于数据集中可能包含数量庞大的实例,为节省数据空间,实例集、实例、属性值采用了非常简洁的缩写,分别用objs、obj和att。DataSetType的XML模式定义如下:数据集DataSet实例集objs实例obj属性attQ/SY116-20125xsd:complexTypename=DataSetTypexsd:sequencexsd:elementname=nametype=xsd:stringminOccurs=0/xsd:elementname=created_timetype=xsd:dateTimem