一种通用的政务数据交换文件格式设计思路

2021-06-16 09:35陈华
电子技术与软件工程 2021年7期
关键词:数据文件解析信用

陈华

(南京莱斯信息技术股份有限公司 江苏省南京市 210007)

随着国家“互联网+政务服务”工作的不断深入,打通数据壁垒,实现各部门、各层级数据信息互联互通,实现政务信息充分、及时共享迫在眉睫。

政务信息共享方式从技术实现方式层面上主要包括:库表共享、文件共享、接口共享。而每种共享方式都需要有具体的业务定义。本文主要是介绍文件共享方式中数据交换文件格式的一种设计思路。通过设计一种通用的数据交换文件,解决各政务平台之间数据交换文件格式不统一、数据交换内容多样等问题。

1 数据交换流程

在进行政务数据信息共享时,如果采用文件格式,主要的交换流程如图1。

图1:数据文件交换总体流程图

部门A 与部门B 交换数据时,通过约定相关的交换目录、交换周期、交换数据存放的位置等信息。部门A 利用自身的业务系统功能或者交换平台提供的相关功能,按照约定的目录规范生成数据交换文件,并对数据文件进行加密,并传输到约定的交换节点或者位置。部门B 监控相关位置,当有符合要求的文件名或格式的时候,对数据文件进行解密,如果解密成功,对数据文件进行预解析,解析文件内容中的包含文件验证Hash 的标签,与文件本身的Hash、交换目录相关标识进行比对,并验证。验证成功后正式解析数据文件,并通过消息、接口等方式通知交换双方交换情况。

2 交换文件定义

2.1 文件格式

数据交换文件(以下简称:交换文件)格式采用XML 文件格式。XML 指可扩展标记语言(EXtensible Markup Language)(参考文献[1]),主要用来传输和存储数据,具有自我描述性,是 W3C (World Wide Web Consortium 简称W3C,万维网联盟)推荐标准,广泛的应用于互联网及政务数据交换等各个领域。

2.2 文件命名

为了便于标识数据来源特征,数据交换文件名称命名规范如图2。

图2:数据交换文件命名规范示意图

其中:

(1)S(大写)为固定标识,表示共享信息。

(2)数据来源单位,采用数据来源代码的统一社会信用代码(参考文献[2]和文献[3])。

(3)交换目录编码:这个可以根据双方之间的约定编制而成。本文参考了全国信用信息共享平台工程标准《公共信用信息分类与编码规范》的定义。

(4)时间戳格式:YYYYMMDDHHMMSS,“4 位年+2 位月份+2 位天+2 位小时+2 位分钟+两位秒”,该时间戳指明文件生成时间。

(5)文件后缀为XML,不区分大小写,建议大写。

比如数据文件名称为:S-113200000140004310-210C0402016- 20201011130648.XML,表示市省市场监督管理局共享的行政处罚公示信息,数据文件生成时间为2020-10-11 13:06:48。

2.3 文件结构

交换文件结构如图3。

图3

文档结构说明:

(1)Info 节点表示交换的文件信息。其中messageCode 与Meta 节点的messageCode 对应,可以作为交换目录验证使用,与文件名中的目录编码对应。fromdeptCode 与文件名格式中的数据来源单位对应。destdeptCode 可以验证接收数据的目标单位是否正确。

(2)Meta 节点表示目录信息节点,主要是描述交换的目录信息,包括目录编目,目录包含的数据项内容等。columnType 定义了字段类型,可以是S,表示字符串;N 表示数值;D 表示日期,T 表示时间戳。

(3)Data 节点是具体的数据节点。具体数据采用RECORD 节点表示每条数据。

(4)本文件约束性要求:一个数据交换文件只能存放一个交换目录内容,不能传递多个目录。主要是为了便于接收方解析同时有利于数据交换的完整性。如果有多个数据交换目录,可以构造多个类似数据文件即可。

对应的通过定义XML Schema 可以对上述文件结构进行语法定义和约束,具体如图4。

图4

2.4 文件特点

本文定义的数据交换文件主要有一下特点:

2.4.1 交换文件支持Hash 一致性验证

通过读取文件内容和解析文件内容中的fileId进行一致性验证,fileId 内容为文件内容的Hash,通过比较即可实现一致性验证。

2.4.2 交换文件格式通用性强

数据文件格式采用XML 格式,现有主流的计算机编程语言均充分支持,实现难度低,便于交换部门快速适配。

2.4.3 交换目录按需变化

交换文件接收方可以通过Meta 节点判断交换目录的内容,主要包括目录名称、目录编码、目录包含的字段及具体类型等。接收方可以根据需要创建自己的库表结构,实现数据解析、查询等应用。同时如果后续目录结构发生变化,可以与之前结构进行对比,更新本地业务结构。数据共享双方不再需要每次都约定数据交换目录更改内容,通过解决数据文件即可判断。

2.4.4 交换内容按需变化

文件交换内容根据交换目录的不同,交换的数据内容也会有变化,交换单位在解析时可以灵活根据需要解析数据内容。

2.4.5 交换数据自解析

随着数据源单位业务的不断变化,交换的目录及内容也要不断的变化,而交换的数据文件格式本身不需要调整,只需要按照业务生成相关的节点数据即可。同样对数据文件的解析程序也不需要随着业务的变化重新调整,可以做到交换解析程序无需调整,即可完成所有交换目录数据文件的解析,可以实现“一次开发、长久适用”。

2.5 文件样例

我们以实际交换的数据文件为例来理解交换文件结构的定义,具体样例如图5。

图5

样例说明:

样例中以国家目前推行的行政许可公示信息为例构建相应的数据交换文件,其中Meta 节点定义了行政许可公示的信息编码、名称,同时定义了该目录的数据项内容,主要包括:行政相对人名称、行政许可决定文书号、许可证书名称等,同时给出的具体的数据内容,具体参见Data 节点定义。

3 结束语

本文定义的数据交换文件格式在一些信用信息共享平台项目中得到了充分的应用。

信用信息共享平台是主要是归集各个地区、各部门(简称数源单位)业务系统中产生的信用相关的数据,并对数据进行治理、整合,并加工形成信用主体(包括法人、自然人等)档案,同时按照有关规定为政府部门、社会公众和征信机构提供信用信息服务的信息化基础设施。信用信息交换目录涉及到信用主体的基本信息、资质信息、行政许可信息、表彰信息、行政处罚信息、资格证书信息等,这些数据通过开发相应的数据采集交换功能,实现各个数源单位数据的及时打包、数据文件生成、数据文件传输及解析等。

同时,本文所设计的交换文件思路,也可以为其他领域数据交换文件的设计提供一种参考思路。

猜你喜欢
数据文件解析信用
为食品安全加把“信用锁”
信用收缩是否结束
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
信用中国网
信用消费有多爽?
相机解析
Tekla Structure数据文件交互格式分析