协同办公平台数据共享交换总线的设计与实现

2021-09-01 10:23吴新松裴伦鹏郭孝彬成翌宁袁海峰
数字通信世界 2021年8期
关键词:数据服务数据源路由

吴新松,裴伦鹏,郭孝彬,薛 松,成翌宁,袁海峰

(1.中国电子技术标准化研究院,北京 100007;2.中科软科技股份有限公司,北京 100190)

0 引言

如何实现行政系统与业务系统之间松耦合的流程协同和数据共享[1],是深度集成协同办公平台需要解决的核心问题。因此,本文提出一种基于SOA(Service-Oriented Architecture)体系结构[2]实现的数据总线,可以为各系统提供准确、一致的数据,以此来满足协同办公平台的数据协同需求。

1 设计目标

1.1 可靠的信息共享

数据交换总线是数据中心与其他应用系统沟通的桥梁,也是进行数据交换的枢纽。总线的主要任务是负责从各个业务系统采集数据,对数据进行清洗与整合,并按照相关标准对原始数据进行规范化,为协同办公平台提供可靠的数据支撑。因此,为确保数据交换总线信息共享功能的完备性,总线的设计目标如下:

(1)支持各分支数据源的汇总以及按权限向各数据需求方分发数据。

(2)支持实时且按需进行数据存取访问。

(3)支持对异构数据进行统一标准格式转换。

(4)支持进行监控管理,用户权限管理,运行日志查看,性能统计。

1.2 安全的数据交换

为实现高效的数据交换,数据交换总线需要支持数据采集、数据更新、数据转发、数据转换等基础功能。此外,由于数据类型不仅包含静态基础维护数据,还包含变化较大的动态业务数据,因此在进行数据交换时总线要包含数据按需查询、实时或定时交换等功能。在保证数据传输安全性的方面,则需要通过身份验证、权限管理、加密算法、有效性、一致性、完整性等检验手段来实现,总线的安全目标如下:

(1)数据共享的访问方式支持身份验证与权限管理。

(2)支持可视化运维、监控与审计,确保数据交换安全性。

(3)具备负载均衡能力,支持多部门间的数据交换。

1.3 灵活的交换方式

协同办公平台的数据交换需求多样,包括对接口协议的需求、对交换策略的需求、对数据格式的需求、对数据安全的需求等,交换总线需支持不同的协议、不同的策略和不同的格式,以支持不同部门或系统间的数据交换与协同。在交换接口方面,目标如下:

(1)基于Web Services服务的方式用于部门与平台间的实时交换。

(2)基于数据库接口的方式用于内部系统间实时或非实时交换。

(3)基于文件交换的方式用于外部或内部系统间非实时批量交换。

(4)支持用户自己配置和管理相关的服务或定义接口。

2 总体架构

2.1 总线架构设计

数据是协同办公平台和业务系统的核心,数据的交换和共享是协同办公平台和业务系统之间功能交互和业务协同的重要内容和体现。协同办公平台数据共享交换总线的建设目标是将分散建设的若干业务系统进行数据整合,通过数据共享交换总线在协同办公平台和各业务系统间进行信息传输与共享,提高数据资源的利用率,保证分布式异构系统之间互联互通,实现数据与业务规则的全集中,总体架构图如下图1所示。

图1 数据共享交换总线架构图

整个数据共享交换总线分为数据交换、数据服务两部分。

2.1.1 数据交换

数据交换主要实现各业务系统将实时的待办数据、已办数据和结果数据通过接口或中间库的形式发送至数据共享交换总线中,对业务数据进行系列操作后将结果数据定时同步至数据服务。规范化后形成统一格式规划的多个“数据仓库”满足业务需求。

2.1.2 数据服务

数据服务对内实现数据融合,形成人员、财务、固定资产等资产数据的数据仓库,对外提供按权限的数据访问控制和服务,主要包括数据资产和数据服务两部分。

2.2 总线功能设计

2.2.1 数据交换

(1)数据源管理

维护数据库交换时的数据库基础信息,在后续数据交换时可通过选择性直接调用该处的数据源信息,包括数据源名称、数据库类型、节点名称、更新时间、子数据源、操作等。

(2)交换任务管理

包含实时任务与定时任务两种,满足各个业务系统之间通过注册接口的形式配置路由任务,达到实时的进行数据推送交换,并支持推送给多个下游系统。只有当源端和目的端数据交换时需要配置相关的交换任务才能交换,交换任务中明确说明了两个交换方、具体交换模式等信息,具体到表的交换以及是否压缩、加密、映射关系等备注信息是在交换流程中完成配置。

(3)交换流程管理

交换流程用来详细说明数据交换的交换的需求、机制与细节,包括流程名称、归属任务、加密压缩、有序交换、流程描述、设置发布接收、明确映射关系等内容。

(4)运行监督管理

运行监控管理提供以网络拓扑图形式查看平台内各节点状态的功能,并对异常节点的相关告警信息进行展示。

(5)数据集成交换服务

数据集成交换服务作为数据交换平台核心功能模块,是数据采集与交互过程中必不可少的数据服务项,主要包括如下服务:

①数据抽取:从源系统抽取需要的源数据,需要考虑以下因素:准入原则、类别、源系统分布方式、时效性要求、抽取方式、抽取时间窗口、全增量抽取策略。

②数据标准化:对企业内业务系统综合性应用需求进行分析,从而定义出一系列数据交换标准,反映至各个应用所需要的数据结构中,并能以XML结构记录。

③数据加工:包括增量对比、数据筛选、数据标准化三项。

增量比对:是指支持增量抽取与加载的处理方式,提供数据更新的时间点或周期。

数据筛选:对数据进行筛选的自定义功能,包括对数据进行列与行数据的筛选。

数据标准化:通过数据标准规范模型设计及标准整合方式实现数据标准的落地。

④数据安全:通过数据保护措施使得数据免遭未经授权的访问、使用、修改和删除。

2.2.2 数据服务

(1)数据资产管理

数据资产管理内容由框架到明细可以概括为三方面内容:数据库管理、表单管理、字段管理,功能包括针对具有权限的用户及维护人员在应用系统上对数据库、表单、字段的相关操作(删除、停用、添加)等操作的管理,当进行相关操作时需要填写详细信息并校验,对不符合的信息发出告警提示。

(2)数据服务管理

数据服务管理包括服务注册,运行监控、运行日志及权限控制四部分内容,服务注册在线注册功能,支持按照时间、对象、权限等提供服务;运行监控提供服务任务的运行状态监控;权限控制依托应用支撑平台统一权限管理实现,支持到字段级的权限控制。

2.3 总线接口设计

平台的接口设计采用基于Web Services服务的方式来实现,用于各系统与数据中心间实时的数据交换和业务协同应用。数据提供方定义公开数据服务,以服务的形式封装数据交换的内容和协议,使用方调用数据提供方的公开数据服务以获取所需的数据,并按照规则更新本地数据源。

3 系统实现

数据共享交换总线不仅能够对各源系统中的多源异构数据予以集成处理,还能通过平台中集成的各功能性组件来实现数据的路由适配与实时处理、服务调度、数据服务,总线包括工具仓库、数据路由、转换引擎、配置中心、辅助功能等。为将数据共享交换总线在尽可能多的场景下适用,需要支持关系型结构与非关系型结构的信息数据的适配,因此在底层数据库技术的选型上采用混合模型制,如下图2所示。

图2 总线实现框架图

3.1 配置中心

配置中心主要包括语义定义、流程配置、路由配等功能。为实现实时交换任务,选择以“目标地址”的形式注册路由接口再配置路由。在实时任务结束后提供可出发新拉取接口的功能。

语义定义:语义定义配置了各种数据类型相互转换的取值规则。

流程配置:存在部分API接口需要调用多类型数据库适配层才能高效地完成此功能,应完成API调用数据库适配层的顺序。

路由配置:针对所有的API接口请求转发到各类型的数据库适配层配置。

3.2 转换引擎

转换引擎包括标准模型、方言模型、转换器。

标准模型:在转换的过程中设置中间模型完成关系数据模型的转换。

方言模型:方言模型主要应用到各类型数据库适配层,各类型数据库适配层应支持不同数据库。

转换器:根据语义定义及数据模型完成各数据模型间的转换,为后续数据操作提供服务。

3.3 数据路由

数据路由是当通过API调用进入平台后,当前此请求应转化到对应类型的数据库适配层完成增删改查的操作,并将适配层的结果返回给调用方。

元数据:元数据是指API接口与各类型的数据库适配层的映射关系。

读写路由:将API接口根据路由配置或元数据转发到各类型的数据库适配层。

调用链路:部分API接口可能需要调用多个类型的数据库适配层才能高效地完成此功能。

3.4 工具仓库

工具仓库数据共享交换过程中形成的工具集:

批量导入:批量导入指的是将源数据表单类数据批量转换导入非关系数据库,建立存档与关系集。

清洗整合:清洗整合工具能够实现数据清洗的整合规则,筛掉不合规数据。

清洗规则:根据数据清洗过程收集的清洗规则。

数据抽取:数据抽取任务负责完成两个数据源之间或同一个数据源内部的数据采集转换,分为异构抽取和同构抽取。

3.5 数据库适配服务

数据库适配服务主要针对同类型的数据库的不同语法的支持,主要完成增删改查等操作,确保高效完成数据库交互数据的服务,包含各种数据库并根据数据库的语法类型差异以及数据库存在关键字差异完成数据库相关操作的适配。

3.6 分布式数据服务

中间层会根据调用的服务类型自动适应不同的事务管理方式。采用最终一致性原则保证所有数据库数据保持一致,外部请求调用中间层时,组件层优先确保关系型数据库操作和非关系数据操作日志记录成功。关系型数据库与非关系数据操作日志操作采用TCC分布式事务确保事务一致。

4 结束语

数据共享交换总线目前服务于十余个业务系统进行实时和分布式数据交换共享任务,支持集群化部署,通过运行监控和日志分析对实时或定时的数据交换请求响应准确,支持至少10个并发请求的响应,支持实时与批量数据的均衡调度,对10万次以上的连续请求处理无故障。

运行中也发现了有待优化和改善的地方,主要体现在以下两方面:

(1)对复杂关系的数据处理部分依赖传统数据库,当业务数据量增加时对服务器运算性能要求较高,影响总线对复杂业务及深层数据处理的性能。后续需加强混合数据库支持,强化图数据库存取和加工能力,引入多节点分布式运算策略,支持多节点分布式运算,提升运算与查询性能。

(2)数据交换对象主要还是结构化数据,对非结构化数据处理较弱,不支持大数据平台交换服务。后续会引入对结构化和半结构化数据更多的处理组件和能力,自然语言处理,增强数据分析和解析能力,丰富服务对象。

猜你喜欢
数据服务数据源路由
大数据时代高校图书馆数据服务的困境及优化路径
地理空间大数据服务自然资源调查监测的方向分析
基于数据中台的数据服务建设规范研究
一种多源数据融合过程中的实体关联性计算方法
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
利用属性集相关性与源误差的多真值发现方法研究
路由重分发时需要考虑的问题
数据服务依赖图模型及自动组合方法研究