DB61T-智慧统战建设技术规范 第3部分数据采集与交换技术规范.docx
ICSP备案号:DB/T陕西省地方标准DB61×××-2019智慧统战建设技术规范第3部分:数据采集与交换技术规范实施发布陕西省市场监督管理局发布目次前言II引言HI1范围12规范性引用文件13术语和定义14缩略语15数据共享交换类型和要求16交换内容的描述和表示27数据库接口模型28文件数据接口模型29RESTful数据接口模型6附录A9附录B12附录C14本标准按照GB/T1.12009给出的规则起草。本标准由中共陕西省委统一战线工作部提出并归口。本标准由陕西省市场监督管理局批准。本标准主要起草单位:中共陕西省委统一战线工作部、中共咸阳市委网络安全和信息化委员会办公室、陕西未来数据信息科技有限公司、陕西省信息化工程研究院。本标准主要起草人:虞浩桂,张鹏,朱志祥,田少娟,朱年奇,张恒,赵军,刘瑞娜,崔鹏飞等。智慧统战建设技术规范一期分为以下三个部分:一第1部分:总体规范。一一第2部分:基础数据规范。一一第3部分:数据采集与交换技术规范。本标准为第3部分。陕西省智慧统战建设是贯彻落实党的十九大精神和党中央、国务院关于建设网络强国的战略决策和部署,落实习近平总书记有关统一战线重要思想,创新构建“互联网+统战工作”新格局,更好实现凝聚社会共识,构筑网上网下同心圆的重要举措。按照中央统战部全国统战系统信息化建设规划(2012-2016年)、全国统战系统信息化试点工作实施方案(2014-2016年)、中央统战部办公厅2017年印发关于进一步加强统战系统信息化工作的意见有关要求,结合我省实际,进行陕西省智慧统战建设创新实践,对提升全省统战管理能力和服务水平具有重大的现实意义。为提升智慧统战建设科学性和规范性,指导和规范全省统战各级各部门信息化建设标准、规范建设过程,有效解决当前统战业务相关单位存在的信息“孤岛”、“孤网”现象,为省、市、县三级过百家统战业务相关单位的业务协同和信息共享提供有效的解决方案,同时明晰陕西省智慧统战标准编制应遵循的基本原则、指南与框架结构,以此促进智慧统战运作规范高效、实现可持续发展,在遵循国家、省、行业相关标准的基础上,结合陕西省智慧统战建设实际和陕西省智慧统战建设规划(2018-2020)有关要求,制定本标准。智慧统战建设技术规范第3部分:数据采集与交换技术规范1范围本标准规定了智慧统战建设的数据采集与共享时,数据的交换方式、数据交换接口模型。适用于全省各级统战部门和成员单位信息系统之间的数据共享与交换。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T GB/T GB/T GB/T GB/T21062. 1-200721062. 2-200721062. 3-200721062.4-200718391.1-2009政务信息资源交换体系 政务信息资源交换体系 政务信息资源交换体系 政务信息资源交换体系第 第 第 第部分:总体框架 部分:技术要求 部分:数据接口规范 部分:技术管理要求信息技术元数据注册系统(MDR)第1部分:框架3术语和定义DB61×××-2019陕西省智慧统战建设技术规范第1部分:总体框架界定的术语和定义适用于本文件。4缩略语DB61×××-2019陕西省智慧统战建设技术规范第1部分:总体框架的缩略语内容,以及下列缩略语适用于本文件:基础数据规范:DB61×××-2019陕西省智慧统战建设技术规范第2部分:基础数据规范。XML:可扩展标识语言(ExtensibleMarkupLanguage)。5数据交换类型和要求5.1数据交换类型数据交换包括以下三种类型:1)数据库表交换陕西省各级统战部门及相关成员单位信息系统之间对关系型数据库的结构化数据进行交换。2)文件交换陕西省各级统战部门及相关成员单位信息系统之间以文件的方式对关键信息进行交换。3)RESTfUl接口交换陕西省各级统战部门及相关成员单位信息系统之间以RESTfUl接口对被频繁请求的数据信息进行交换。5.2数据交换要求5.2.1数据库表交换数据库表交换应满足:1)进行交换的数据库表中,数据项格式应符合基础数据规范中数据结构相关内容的定义和要求;2)进行交换的数据库表中,数据字典内容应符合基础数据规范中数据类型代码相关内容的定义;3)进行交换的数据库支持交换双方通过前置机交换数据;4)进行交换的数据库应在同一网络环境,支持互相访问到对方服务器。5.2.2文件交换文件交换应满足:D进行数据交换的文件类型可为多种格式的文件,如XML,CSV等;2)进行数据交换的文件支持以FTP或邮件的形式进行传输;3)进行数据交换的文件可以压缩为一个文件包进行传输;4)进行数据交换的文件的压缩格式应支持rar或ZiP等文件类型。5.2.3RESTfUI接口交换RESTfUl接口交换应满足:D进行数据交换的接口应依据数据接口模型进行设计并发布接口地址和接口文档;2)进行数据交换的接口应制定安全技术实施策略,保证接口在高并发下数据传输和数据处理的安全性。6交换内容的描述和表示6.1 概述交换内容指陕西省各级统战部门及相关成员单位信息系统之间进行的数据信息共享和交换的数据内容。6.2 描述方法交换内容的描述方法见基础数据规范中数据结构数据项表达方式的规定。6.3 数据类型及格式的表示方法交换内容的数据类型及格式的表示方法见基础数据规范中数据结构相关规定。6.4 交换内容具体交换内容见基础数据规范数据结构相关内容的定义。7数据库接口模型7.1 概述数据库接口模型用于平台数据交换时封装交换信息内容,支持结构化数据。7.2 数据结构数据结构见基础数据规范中数据结构相关规定。8文件数据接口模型8.1概述文件数据接口模型用于平台数据交换时封装交换信息内容,可支持对结构化数据和非结构化数据的封装。数据接口模型由数据结构、数据集、附件集,如图1所示,其中:1)数据结构XML元素名称:EnvelopInfo说明:描述交换信息内容的结构信息。约束/条件:必备。2)数据集XML元素名称:PackageInfo说明:封装结构化数据。约束/条件:必备。3)附件集XML元素名称:Attachments说明:表示非结构化数据。约束/条件:可选。1.1 据接口模型一数据接口模型的XMLSChema见附录A,数据接口模型封装交换数据样例的XML文件示例参见附录Bo1.2 数据结构数据结构由报文编号、业务编码、报文发送时间、报文发送者、报文接受者、业务数据记录数六个元素组成,其结构如图2所示,其中:1)报文编号XML元素名称:MessageId说明:交换内容的报文编号,格式为日期(yyyyMMddHHmmss)+四位随机数。约束条件:必备。2)业务编码XML元素名称:MessageType说明:交换业务编码,编码规则应遵照基础数据规范数据结构。约束条件:必备。3)报文发送时间XML元素名称:MessageTime说明:报文发送的实际时间,格式为:yyyy-MM-ddHH:mm:sso约束条件:必备。4)报文发送者XML元素名称:MessageSender说明:报文来源发送者名称。约束条件:必备。5)报文接受者XML元素名称:MessageReceive说明:报文接受者名称。约束条件:可选。6)业务数据记录数XML元素名称:Count说明:数据集数据条数,格式数值型。约束条件:可选。图2数据结构1.3 数据集数据集用来封装结构化数据,是对数据结构的实例化。数据集由一条或多条数据记录组成,其结构如图3所示,其中:1)数据记录XML元素名称:DataNode说明:组成数据集的基本单位,表示一条记录,例如,关系型数据库中表的一行或电子表格的一行等。数据记录由一个或多个数据项实例组成。约束/条件:必备,至少出现一次。2)数据项示例数据项编码及其格式见基础数据规范中数据分类与编码、数据结构相关规定。例如:<personName>姓名</personName><telephone>移动电话<telephone>图3数据集1.4 附件集附件集用来封装非结构化数据,如PDF文件、WOrd文档、图片等。附件集由一个或多个附件构成,其结构如图4所示,其中:1)附件标识XML元素名称:AttachmentID说明:附件唯一标识,格式为日期(yyyyMMddl11lmmss)+四位随机数+文件类型后缀名。约束/条件:必备。2)附件名称XML元素名称:AttachmentName说明:附件的名称。约束/条件:必备。3)附件描述XML元素名称:AttachmentDescription说明:对附件的解释性信息。约束/条件:可选。4)附件类型XML元素名称:AttachmentType说明:附件类型参照基础数据规范数据结构中上传文件相关数据项说明。约束/条件:必备。5)附件内容XML元素名称:AttachmentContent说明:附件内容的大小参照基础数据规范数据结构中上传文件相关数据项说明。约束/条件:必备。图4附件集9RESTfuI数据接口模型9.1 概述RESTfUl数据接口模型用于平台数据交换时封装交换信息内容,用于交换频繁被请求的数据信息。数据接口模型见附录C。9.2 数据结构9.2.1接口名称接口名称命名规则为功能类型+业务编码名称,业务编码见基础数据规范中数据分类与编码相关规定,接口名称命名遵循驼峰命名规则,以下为功能类型编码,XXX表示业务编码名称。表1接口说明序号接口名称接口描述1addXxx新增单个XXX2addListXxx新增集合XXX3findOneXxx查询单个XXX4findListXxx查询集合XXX9.2.2接口描述已在表1中描述各接口实现功能。9.2.3参数数据结构参数数据结构用于封装条件及业务参数。1)业务编码元素名称:businessCode说明:业务编码,见基础数据规范中数据分类与编码相关规定。约束条件:必备。2)功能类型元素名称:functionType说明:功能类型,值范围为addaddList>findne>findList约束条件:必备。3)请求条件集合元素名称:data说明:InaP类型,键、值对的集合,用于封装请求数据。约束条件:可选。4)数据项编码元素名称:key说明:数据项编码见基础数据规范中数据类型与编码相关规定。约束条件:可选。5)数据项值元素名称:value说明:数据项值见基础数据规范中数据结构相关规定。约束条件:可选。businessCodedatafunctionType图5参数数据结构9. 2.4返回数据结构返回数据结构用来说明接口请求后返叵IJSON格式,相关说明及结构图如下1)请求结果信息元素名称:resultinfo说明:请求结果信息,描述请求状态信息及业务编码。约束条件:必备。2)请求状态说明元素名称:message说明:对请求状态的描述。约束条件:必备。3)请求状态编码元素名称:code说明:请求状态编码。约束条件:必备。4)数据业务编码元素名称:BusinessCode说明:数据业务编码。见基础数据规范中数据分类与编码相关规定。约束条件:必备。5)请求结果信息元素名称:datalnfo说明:请求结果信息,包含分页信息和数据信息,新增接口不返回该项。约束条件:可选。6)数据总数量元素名称:totalCount说明:只有调用查询数据接口返回,新增接口不返Pl该字段。约束条件:可选。7)数据每页数量元素名称:pageSize说明:只有调用查询数据接口返回,新增接口不返回该字段。约束条件:可选。8)数据总页数元素名称:totalPage说明:只有调用查询数据接口返回,新增接口不返回该字段。约束条件:可选。9)数据当前页元素名称:CurrPage说明:只有调用查询数据接口返回,新增接口不返回该字段。约束条件:可选。10)数据集合元素名称:IiSt说明:只有调用查询数据接口返回,新增接口不返回该字段。约束条件:可选。page totalPageCurrPagecodebusinessCodetotalCountlist图6返回数据结构附录A数据接口模型的XMLSchema数据接口模型的XMLSChema表示如下:<?xmlVerSiOn="1.0"encoding="UTF-8”?><xs:schemaXmins:xs="http:WWw.w3.org/2001XMLSchemaz,elementFormDefault=,qualified”><xs:elementname="ExchangeData”><xs:complexType><xs:sequence><xs:elementref=*EnvelopInfo/z/><xs:elementref="PackageInfo"><xs:elementref="zAttachmentsType*/><xs:SeqUence></xs:complexType></xs:element><xs:elementname=*Enve1oplnfo*><xs:complexType><xs:sequence><xs:element <xs:element <xs:element <xs:element <xs:element <xs:elementref="MessageId">ref=zzMessageType*>ref=zzMessageTime*>ref="MessageSender">ref="MessageReceive">ref=zzCountzV><xs:SeqUence></xs:complexType></xs:element><xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:elementname="MessageId“type="xs:NCName">name="MessageType"type="xs:NCNalne">name="MessageTime“type="xs:NCName">name=,MessageSender*type="xs:NCName*>name="MessageReceive“type=z,s:NCName'/name="Count"type="xs:NCName">name=,zPackageInfo*><xs:complexType><xs:sequence><xs:elementmaxOccurs=/,unboundedz,ref="DataNode"></xs:sequence></xs:complexType></xs:element><xs:elementname="DataNode”><xs:complexType><xs:sequence><xs:element<xs:element <xs:element <xs:element <xs:elementref="peopleType">ref="personName">ref="sex">ref="nation">ref="idNumber,><xs: sequence IninoCCUrS="0"><xs:element ref=*certificateType/><xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:element<xs:elementref="certificateNum,>ref="birthday">ref="nationality*>ref="homeDomiCiIe">ref=,political*/>ref="nativePlace*>ref=*fullTiIneDegree">ref="academicDegree,>ref=OnJobEdUCation,>ref=wonJobDegree*>ref="emailV>ref=,telephone*/><xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element <xs:element</xs:sequence></xs:sequence><xs:comp1exType></xs:element>name=,peopleType*type=z,s:NCName”/>name="personName"type=z,s:NCName”/>name="sex"type="xs:NCName”/>name=z,natiOrrtype="xs:NCName'/name=*idNumber"type="xs:NCName">name=*certifiCateType"type="xs:NCName">name="certifiCateNUm“type="xs:NCNaIne">name="birthday"type=*xs:NCName">name=,nationality“type=*xs:NCName">name=,homeDomici1e“type=*xs:NCName">name=",politicaztype="xs:NCName">name=z,natiVePlaCe"type="xs:NCNalne">name="fulITimeDegree"type=z,s:NCName,>name="academiCDegree"type="xs:NCName'/name=z,onJobEducation"type="xs:NCNaIne">name="onJobDegree“type="xs:NCName">name=,emaiztype="xs:NCName/>name="telephone"type="xs:NCName">name=z,AttachmentsTypezz><xs:complexType><xs:sequence><xs:elementref="Attachment"><xs:SeqUence></xs:complexType><xs:element)<xs:elementname=*Attachment*><xs:complexType><xs:sequence><xs:element<xs:element<xs:element <xs:element <xs:elementref="AttachmentID">ref="AttachmentName">ref="/AttachmentDescription*/>ref="AttachmentType">ref="zAttachmentContent*/></xs:sequence><xs:comp1exType></xs:element><xs:element<xs:element<xs:element<xs:element<xs:element</xs:schema>name=,AttachmentIDz,type=*xs:NCName,>name=,AttachmentNamez,type="xs:NCName'/name=z,AttachmentDescriptiOrrtype="xs:NCNaIne">name="AttachmentType"type="xs:NCName'/name="AttachmentContent“type="xs:NCName*>附录B数据样例以统战对象基本信息的数据样例XML表示如下:<?xmlVerSiOn="1.0"encoding="UTF-8”?<ExchangeData><EnvelopTnfo><MessageId>报文编号<MessageId><MessageType>报文业务编号<MessageType>VMessageTime报文发送时间GMessageTime><MessageSender报文发送者<MessageSender>VMessageReceive>报文接受者<MessageReceive>Count业务记录数/Count)<EnvelopInfo><PackageInfo><DataNode><peopleType>统战对象类型<peopleType><personName>姓名</personName><sex>性别<sex>nation民族<nation><idNumber身份证号码</idNumber><certifiCateType>有效证件类型<certificateType><certifiCateNUn1有效证件号码<certificateNum>birthday出生日期"birthday)<nationality>国籍<nationality><homeDomici1e常住地<homeDomicile><political>政治面貌<political<nativePlace>户籍所在地(nativePlace><fulITimeDegree)全日制学历fulITimeDegreeA<academiCDegree>全日制学位GacademicDegree><0nJ0bEducatiOn在职教育学历GonJobEducation>ConJobDegreQ在职教育学位<0nJ0bDegree><email>电子邮件/email<telephone>移动电话/telephone)<DataNode><DataNode><peopleType>统战对象类型<peopleType><personName>姓名</personName><sex>性别<sex>nation民族<nation><idNumber身份证号码</idNumber><DataNode><PackageInfo><AttachmentsType><Attachment><AttachmentID)附件标识/AttachmentID)<AttachmentName>附件名称<AttachmentName><AttachmentDescription>附件描述GAttachmentDescription)<AttachmentType>附件类型<AttachmentType>AttachmentContent>附件内容<AttachmentContent><Attachment><AttachmentsType><ExchangeData>附录CRESTfUI接口模型请求接口http(s):iP:Port接口服务名称业务编码功能类型+业务编码请求参数(,businessCodez":业务编码,"functionType”:功能类型“data":"参数编码:参数值,“参数编码:参数值)返回结果("message":请求状态说明,"code”:请求状态,,zbusinessCode”:业务编码,page:*totalCount*:数据总数量,“pageSize":数据每页数量,"totalPage”:数据总页数,*currPage7y:数据当前页,"list":(/返回数据集合数据项编码":数据值,数据项编码”:数据值,数据项编码“:数据值)