APP下载

面向多源异构数据的共享与交换模型设计

2019-11-11肖小智

电脑知识与技术 2019年27期
关键词:数据交换数据共享信息流

肖小智

摘要:随着政府部门业务系统的增多,系统间数据存在着密切联系,互通互连需求越来越密切。以北京市为例,当前各业务系统数据互通互连存在如下四个问题:一是应用环境不同、二是数据库环境不同、三是缺乏统一数据主题、四是数据传递机制不统一。为了解决这些问题,本文提出了一种以主题为中心的面向业务流的数据共享与交换模型。该模型使用JSON(JavaScript Object Notation)作为总线技术,数据共享与交换中心作为架构中心,形成以数据共享与交换代理提供代理服务的总分式结构模式。在北京市的试运行结果表明,这种数据交换与共享在一定程度上解决数据和共享难题,值得进一步推广。

关键词: 数据共享与交换; 数据共享;数据交换;信息流;异构数据库

中图分类号:TM76       文献标识码:A

文章编号:1009-3044(2019)27-0261-04

Abstract: With the increase of business systems in government departments, there is a close relationship between the data of various systems, and the demand for interoperability is getting closer. Taking Beijing as an example, there are four problems in the current interconnection of data in various business systems: one is that the application environment is different, the other is that the database environment is different, the third is the lack of unified data topics, and the fourth is that the data transmission mechanism is not uniform. To solve these problems, this paper proposes a topic-centric data sharing and exchange model for business flow. Using JSON as the bus technology, the data sharing and exchange center as the architecture center, the data sharing and exchange Adapt provides the total fractional structure model of the proxy service. The trial operation results in Beijing show that this data sharing and exchange model solves the data sharing and exchange problem to a certain extend and deserves further promotion.

Key words: data sharing and exchange;data sharing;data exchange;information flow;heterogeneous database

随着社会和科学技术的不断发展,我国各政府部门相继建立起计算机信息管理系统,以提高管理水平,取代繁琐的手工业务流程。在建立前期,因缺乏统一规划,大部分的业务系统都是独立开发、独立管理、独立使用。造成平台、开发语言、数据库种类和版本之间存在很大的差异。各部门之间甚至部门内部数据交换困难重重,各部门的业务系统变成自封闭的“信息孤岛”。一旦涉及跨部门业务协同,办事效率极其低下,甚至在管理上会出现一些严重的漏洞。

以北京市为例,当前数据共享与交换主要存在如下四个问题:一是信息系统的应用系统环境不同;二是数据库环境不同(Oracle/MySql/Sql Server),同一实体也存在多种数据结构;三是缺乏统一数据主题;四是数据传递机制不统一。

因此提供一套基于Web、安全、开放、低成本、以主题为中心的数据共享与交换模型,旨在不改变各部门其原有业务的基础上进行数据的共享与交换,具有广泛的现实意义:1. 实现了数据的共享与交换,打破了信息孤岛。2. 保持各部门原有的信息管理系统的软、硬件的有效性,避免因数据共享与交换而引发的二次开发,节约开发成本。3. 灵活、可扩展,不影响现有的信息系统的业务运行,同时为后续信息的开发提供一套可供参考的标准。本文结合北京市政府部门数据交换与共享的实际应用场景,提出并建立一个以主题为中心的面向业务流的数据共享与交换模型。

1 数据共享与交换模型设计

设计的数据共享与交换模型(data share and exchange model, DSEM)采用基于Java的主流技术,以JSON作为技术总线,其目的是针对多源异构数据建立一个低成本、容易维护、容易实现、松耦合的交换平台。让有数据交换或业务协同需要的业务系统能够进行数据交换、数据共享,从而实现整合业务流的集成或实现特殊业务处理的目的,最终实现数据资产的管理和增值。

1.1 平台框架设计

本文所提出的数据共享与交换模型以JSON(JavaScript Object Notation)作為总线技术,数据共享与交换中心(data share and exchange center, DSEC)作为模型的中心,实现数据的交换和数据的共享。数据共享与交换适配器(data share and exchange adapter, DSEA)提供代理服务,连接DSEC和目标数据库,整个模型为总-分结构。图1为本文所提出的数据共享与交换平台模型架构图:

从图1可以看出,本文提出的数据共享与交换模型架构具有如下两大优势:

1)有数据交换或共享需求的业务系统,尽管其业务系统运行在不同的平台(Linux/Window)之上、具有不同的数据源或者数据结构。但是都可以通过DSEA与DSEC连接,进行数据共享与交换,以整合业务流,完成数据协同交换。数据交换的过程是不同业务系统通过DSEA与DSEC进行消息与数据的交换,所有消息和数据的交换均以JSON数据格式进行传输。

2)当有新的业务系统需要进行数据交换或共享,只需要将业务源数据库通过对应DSEA与DSEC相连。对平台而言,只需要在系统进行相应注册,不需要修改原业务系統的代码。与当前市场上的数据交换软件相比,整个系统是松耦合的。

1.2 数据共享与交换适配器设计

DSEA部署在客户端,是整个数据交换和共享模型的重要组成部分,同时也是连接各个业务系统源数据库与DSEC的桥梁。每一种DSEA仅且负责一种数据库系统,目前以为Oracle、MySQL、SQLServer等主流数据库实现其对应的DSEC。它的主要功能是与DSEC交互、封装信息流、同时作为DSEC的数据缓存区。本模型信息流以JSON数据格式呈现,包括消息、状态码、签名和数据四个部分,消息包括数据交互双方代理节点的信息、数据交互的操作信息等,状态代码指交互过程中DSEC和DSEA的状态,数据则是要上传或下载的数据,签名是的消息、状态、数据三者的签名,防止数据在传输过程中被篡改。消息流的组成如图2所示:

如图3所示,当上传数据时,DSEA按DSEC发送的指令抽取数据,经预处理后转换成JSON数据,然后经数字签名和数据加密后形成新型流形式的JSON数据上传到DSEC;当接收数据时,即把从平台传输过来的JSON数据,经DSEA的签名确认及解密,然后经一定的数据结构转换处理,最后导入业务系统。

1.3 数据共享与交换中心设计

DSEC是整个数据共享与交换模型的中心,其设计架构图如图4所示,总体为金字塔塔型,从下到上依次为数据接入层、信息解析/信息应答交互管理/服务监控、数据上传/下载/同步/重组、数据主题管理、主题数据发布等五层架构。

数据接入层负责与所有DSEA连接和通信,可以根据业务系统所处的环境或者业务系统所处的秘级选择合适的数据通信传递方式,类似于TCP/IP五层模型中的物理层。信息解析/信息应答交互管理/服务监控类似于TCP/IP五层模型中的连接层,负责解析/组装信息流。数据上传/下载/同步/重组类似TCP/IP中的网络层,根据下层的信息流的指令解析信息流中的数据,并将数据送到指定的DSEA。数据主题管理与TCP/IP中的传输层有点类似,负责将下层的元数据重组成以业务需求为中心的数据主题。数据发布类似于TCP/IP的应用层,负责将数据主题中的数据形成RESTFUL风格的API,让新建的业务系统或者待建的业务系统直接通过API的方式接入数据。

从总体上看,整个模型就是一台多节点接入的中心数据库,也是一台数据交换机。DSEA和DSEC之间以JSON的数据格式将数据从源数据库传输到目标数据库。整个模型是解耦合的,可以很容易扩展为多层次的雪花型结构。

2 数据交换与共享流程与具体实现

数据共享与交换的流程包括:建立通信连接、封装信息流、数据的上传/下载、服务监控、通信会话结束。

2.1 建立通信连接

DSEA以DSEC作为中心节点进行数据共享与交换,DSEA间数据交换主要有两种模式。

第一种是“请求+应答模式”,两个DSEA间进行数据交换,需要数据接收方向DSEC发出请求信息,DSEC审核其权限后将消息传递给数据发送方。数据发送方获得请求信息,并将同意返回给DSEC。DSEC检查数据接收方和发送方的DSEA的连接请求,为二者建立一条安全的传输信道,此时建立连接完成。

第二种是“发布+订阅模式”,某个DSEA需要共享其他DSEA的数据,需要向DSEC发出订阅请求,当被订阅的DSEA节点有相应的数据更新时,即向DSEC发布数据更新消息。DSEC收到消息或将更新的数据传递到订阅者的DSEA,从而实现数据的实时更新。

2.2 封装信息流

在数据共享与交换中信息流的封装包括消息的封装、DSEA/DSEC状态的封装、目标数据的封装、签名的生成四个步骤。消息包括发送方DSEA节点DSEA_SEND_ID、接收方DSEA节点的DSEA_RECEIVE_ID、业务类型BUSSINESS_TYPE、上传时间UPLOAD_DATE等。在本模型的实际开发中使用JDBC调用目标数据库,将获取到的数据转换成JSON数组。Code是发送方当前的状态,Sign是根据消息、代码、数据生成的签名。信息流封装好,将其传输到DSEC处理。

2.3 数据的上传/下载

数据上传/下载流程如图5所示,在本模型的实际开发中,采用RabbitMQ实现缓冲池。因此数据/下载的过程可以描述成DSEA将数据发送到RabbitMQ和从RabbitMQ中取数据的过程。

在实际开发中,可以通过动态设置RabbitMQ的大小提高数据交换和共享的效率。对非实时数据,可以等缓冲池满时,再进行数据的交换和共享。对于海量数据,可以通过缓冲池进行分片共享与交换,缓解系统的压力。当出现数据共享与交换失败,也只需要对缓冲池里的数据进行重新共享与交换。

在实际开发中,使用表1来存储市场上常用数据库类型的映射关系。同时用另外一张普通表如表2建立起源数据字段到目标数据字段的映射关系。

2.4 服务监控

服务监控的主要目的是对数据交换和共享的过程进行记录,当数据传输异常时,可以通过日志进行恢复。在实际开发中,使用的方式是将日志信息和异常信息发送到日志节点,由日志节点将信息写到日志文件中。

异常分为可捕捉异常和不可捕捉异常,异常的处理针对的是可捕捉异常。当服务监控收到可捕捉异常时,根据系统内置的处理方式进行异常处理。例如重新对缓冲池中的数据进行交换,或者回退已交换的数据。

2.5 通信会话结束

会话结束实际上是分别中断DSEC与发送方DSEA的连接以及DSEC与接收方DSEA的连接。当数据上传结束之后,会发送一条结束连接的请求给DSEC,DESC收到后并不立即处理,而是让发送方处理等待状态,以防有新的数据请求。当接收方数据下载完毕之后,接收方也发同样一条请求给DSEC。当DSEC收到接收方的请求后,此时才分别中断其与发送方DSEA和接收方DSEA的连接。

3 主題数据建立与发布

各部门后续开发的计算机系统,有两种方式进行数据交换和共享,一种是如上文描述的数据共享与交换,即和其他DSEA节点数据进行交换或者订阅其他DSEA节点发布的数据。还可以在DSEC中建立主题服务,将主题发布的数据集成到系统中。

主题数据与发布其整体架构图如6所示,其核心是通过CSEC实现主题和各DSEA下各字段的映射,从而实现数据重组,将组合之后的数据形成JSON数据包,让其他在建系统或待建系统以RESTFUL风格的链接既可以访问数据。减少系统减少成本,让在建或待建系统专注于前端业务逻辑和页面设计。

4 结束语

本文从北京市各政府部门数据协同交换的实际应用场景出发,针对当前各部门异构数据共享与交换过程中的实际问题,设计了以主题为中心的数据共享与交换中心模型,以支持异构数据的共享与交换,支持异构数据发布,支持多种扩展方式,大幅降低对数据交换和共享的过程中对专业技术的要求,简化了操作流程,提高了数据交换和共享的效率。

数据共享与交换中心模型还有很多工作尚未完成,未来的工作将从以下四个方面进行:一是提供数据标注功能,以让政府部门间的数据更能在机器学习和深度学习系统中使用。二是对数据进行合理的安全管理、三提供相应的数据质量管理工具。四是提供更丰富的数据集成工具以集成网络数据、文件数据、消息流和IOT数据。

参考文献:

[1] MacWhinney, Brian, and Catherine Snow. The child language data exchange system.Journal of child language 12.2 (1985): 271-295.

[2] Helgeson, Christopher S., et al. Method and apparatus for managing data exchange among systems in a network. U.S. Patent No. 6,643,652. 4 Nov. 2003.

[3] 张耕凡.一种基于JSON的分布式系统架构[J].中国农机化学报,2015,36(5):255.

[4] 吕国,等.基于XML的数字校园交换平台设计[J].电脑与信息,2018,20:235.

[5] Fagin, Ronald, et al. Data exchange: getting to the core. ACM Transactions on Database Systems (TODS) 30.1 (2005): 174-210.

[6] 周建宁,等.公安跨网络数据交换系统设计与实现[J].中国公共安全·学术版,2019,2:81.

[7] 黎亚孟.基于 XML 数据交换的电子政务集成系统[J].数据库技术,2019:160.

[8] 文必龙.基于数据集的数据交换技术研究[J].计算机技术,2011,11(29):7123.

[9] Libkin, Leonid. Data exchange and incomplete information. Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems. ACM, 2006.

[10] 唐爽,等.面向多源数据的可扩展主题建模分析框架[J].计算机科学与探索,2019,13(5):742.

[11] Iverson, Kevin George, et al. Cryptographically enforced data exchange. U.S. Patent Application No. 15/956,143.

[12] 中国信息通信研究院云计算与大数据研究所.数据资产管理实践白皮书(2.0版).中国信通院,2018.

[13] 中国信息通信研究院云计算与大数据研究所.数据资产管理实践白皮书(3.0版).中国信通院,2019.

[14] 林烈青,等.企业数据中心的研究与设计.制造业自动化,2011,33(8):22.

[15] Ajileye,Temitope, Boris Motik, and Ian Horrocks. Datalog Materialisation in Distributed RDF Stores with Dynamic Data Exchange. arXiv preprint arXiv:1906.10261 (2019).

[16] He, Jindong, et al. Multidimensional Data Security Exchange Modeling and its Optimization Method. IOP Conference Series: Earth and Environmental Science. Vol. 252. No. 3. IOP Publishing, 2019.

[17] Marussig, Benjamin, and Thomas JR Hughes.A review of trimming in isogeometric analysis: challenges, data exchange and simulation aspects.Archives of computational methods in engineering 25.4 (2018): 1059-1127.

[18] Balsari, Satchit, et al. Reimagining Health Data Exchange: An application programming interface–enabled roadmap for India.Journal of medical Internet research 20.7 (2018): e10725.

[19] Chang, Sherry, et al. Data exchange and re-supply infrastructure for vehicles.U.S. Patent Application No. 16/146,573.

[20] Wu X D,Zhu X Q, Wu G Q,et al.Data mining with big data.IEEE Transactions on Knowledge & Data Engineering,2013,26(1):97.

[21] Jordan M I.Graphical Models.Statistical Science,2004,19(1):140.

[22] Fleischer, Bruce M., et al.High bandwidth low latency data exchange between processing elements. U.S. Patent No. 9,928,190. 27 Mar. 2018.

[23] Chakraborty, Saugata, Swapnel Shrivastava, and Sudip Mitra. "Automatic data exchange between peer devices." U.S. Patent No. 9,894,507. 13 Feb. 2018.

【通聯编辑:唐一东】

猜你喜欢

数据交换数据共享信息流
基于信息流的作战体系网络效能仿真与优化
基于信息流的RBC系统外部通信网络故障分析
战区联合作战指挥信息流评价模型
XBRL在财务报表网络数据交换中的应用
基于任务空间的体系作战信息流图构建方法