基于web service的异构数据集成平台设计与实现

上传人:小** 文档编号:34138568 上传时间:2018-02-21 格式:DOC 页数:8 大小:59KB
返回 下载 相关 举报
基于web service的异构数据集成平台设计与实现_第1页
第1页 / 共8页
基于web service的异构数据集成平台设计与实现_第2页
第2页 / 共8页
基于web service的异构数据集成平台设计与实现_第3页
第3页 / 共8页
基于web service的异构数据集成平台设计与实现_第4页
第4页 / 共8页
基于web service的异构数据集成平台设计与实现_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于web service的异构数据集成平台设计与实现》由会员分享,可在线阅读,更多相关《基于web service的异构数据集成平台设计与实现(8页珍藏版)》请在金锄头文库上搜索。

1、基于 Web Service 的异构数据集成平台设计与实现 刘云汉 中国电子科技集团公司电子科学研究院 摘 要: 为解决信息系统的信息孤存问题, 通过研究数据集成的相关技术, 采用基于Web Service 的技术构建了异构数据集成平台, 包括数据层、业务逻辑层和应用层三层, 重点对数据库访问接口、基础数据服务、web 服务封装和元数据库设计 4 个模块的设计进行了详细描述。数据层采用通用的数据访问接口, 业务逻辑层以 web 服务的形式发布, 降低了层间耦合, 实现了局部数据源的自治性、业务逻辑接口的通用性、响应的实时性和平台的易维护性。关键词: 数据集成; Web 服务; 全局数据模式;

2、作者简介:刘云汉 (1988-) , 男, 山东省曹县人, 助理工程师, 硕士, 研究方向为数据集成与应用。收稿日期:2017-09-10Received: 2017-09-10信息化体系作战, 是依托信息化武器装备和综合电子信息平台的新型作战形式。体系作战涉及多军兵种、多作战形式和多维空间, 仅通过手工操作和人脑, 指挥员难以从海量的战场信息中迅速、准确地获取有用的战场知识。因此, 必须借助信息系统的计算优势, 提高决策的效能和效率, 才能充分发挥体系作战的效能。由于缺乏统一规划, 无论是数据库种类的选择, 还是数据字段的定义, 体系作战依赖的信息系统之间都没有统一的标准, “烟囱”式发展现

3、象十分普遍。与“数据集中化、业务综合化、管理扁平化、决策科学化”的信息化发展趋势不相适应1。为给基于信息系统体系作战指挥提供强有力的决策数据支持, 指挥信息系统必须统一数据格式, 对各信息系统的原始数据进行集成, 实现数据在各级指挥平台上的纵向流动。1 数据集成设计需求1) 装备数据集成的目标信息战中涉及的装备数据主要包括装备实体数据 (装备编号、型号、战技指标等) 和装备业务数据 (装备日常工作中运行、训练、维护等产生的数据, 以及装备仿真试验、靶场实战产生的数据等) 两大类, 为了保证数据的质量和高可用性, 关键是要将多源异构的装备数据集成为具有统一全局视图的有机整体, 为数据分析与应用提

4、供支撑。装备数据集成的目标是构建相对独立的装备数据管理系统, 统一数据存储格式, 形成装备数据管理规范, 将数据与具体的应用环境解耦, 提高数据的可用性和共享水平。2) 数据集成的难点由于装备数据多源异构的特点, 装备数据集成的难点主要可以归结为异构性问题、分布性问题和自治性问题。异构性问题主要是指各数据源的存储管理系统、数据模型、数据表达方式和数据语义的异构。分布性问题主要是指局部数据源是不是集中管理的, 需要解决数据的远程访问问题。自治性问题是指局部数据源由各分系统单独维护, 这种管理的独立性为数据集成提出了挑战。2 基于 Web Service 的数据集成技术数据集成技术主要针对异构数据

5、源实现数据统一集中, Web Service 是一种 SOA服务规范, 以服务形式重新规划系统业务过程的方法, 将面向服务思想与数据集成技术相结合, 忽略异构数据源的平台、技术和结构区别, 实现数据的逻辑统一, 实现抽象数据单元, 形成抽象统计数据标准, 特别是针对 Web 上非结构数据具有很好集成效果2。面向服务的数据集成是在数据集成基本抽象上, 针对不同信息资源的高异构化, 构建跨信息平台和应用集成的具有低耦合、标准化的良好集成方案。常规的集成方法可以按照数据的集成方式分为两种:基于模式的数据集成和基于复制的数据集成3。2.1 基于模式的数据集成基于模式的数据集成需要在应用终端与源系统之间

6、引入中间层 4, 搭建数据集成平台, 建立独立的全局数逻辑视图, 集成各数据源需要共享的数据, 全局模式描述了集成数据的结构、语义和与局部数据源的映射关系等。在全局模式上创建统一的数据访问接口, 用户在终端可以把集成数据源视为一个统一的整体, 不必考虑数据来自何处或以何种方式存储。基于模式的数据集成方法既不改变分系统的运行架构, 也不影响业务系统运行, 完美实现对底层数据细节的屏蔽。由于每次响应用户请求都需要数据映射计算, 随着数据量的增大, 访问效率降低。2.2 基于复制的数据集成基于复制的数据集成需要建立数据仓库4, 数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合。将局部数据源的

7、数据经过抽取、转换、清洗和装载等步骤复制到数据仓库中, 并对数据源进行整体一致性维护, 减少了用户对于多个异构数据源的访问代价, 提高了数据的共享和利用效率。基于复制的数据集成为用户提供了高效稳定的查询服务, 便于进行联机分析处理和数据挖掘, 用以支持经营、管理中的决策制定过程。但是数据仓库中的数据是分时段进行更新的, 无法满足实时分析的需求。2.3 Web Service 技术规范Web Service 是一种支持跨网络的机器间相互操作的软件系统, 它能够通过规范的服务描述、标准的消息通信协议和开放的服务发布策略, 完成各数据来源节点的直接交互。基于 Web Service 的数据集成是将数

8、据来源包装成 Web 服务, 并使用 WSDL (Web Service Description Language, Web 服务描述语言) 进行规范化描述, 然后将其注册到 UDDI (Universal Discovery Description Integration, 统一描述发现集成中心) 的服务目录中, 以供中心服务器和用户的集成和调用5。3 基于服务的异构数据集成平台设计图 1 数据集成平台架构 下载原图数据集成平台体系架构的核心是数据层、业务逻辑层和应用层, 还包括数据接口层和应用接口层两个衔接层。3.1 数据层数据层包括各种在存储方式和组织结构上各不相同的数据源。为了屏蔽数据

9、的异构性, 从局部数据源中抽取公共部分建立全局数据视图, 通过在局部数据源和全局数据视图之间建立映射关系, 用户对全局数据视图的操作都可以解析为对相应局部数据源的操作。不同于常规数据集成系统对每个数据源分别建立访问接口, 图 1 的架构中采用基于 Qt Sql 的通用数据访问架构来实现对所有局部数据源的操作。3.2 业务逻辑层业务逻辑层分为数据服务、业务服务和用户服务 3 大类, 各类服务以 Web Service 的形式发布, 可忽略数据层的具体数据管理系统选型和应用层的具体业务实现编程语言等技术问题。1) 数据服务主要是指与数据包密切相关的数据服务, 根据各类数据业务处理的流程和规范特点,

10、 可分为基础数据服务和应用数据服务 2 个大类。其中, 基础数据服务主要是指对局部数据源和元数据库中数据集合执行连接、增、删、改、查等基本操作封装的服务。应用数据服务主要是对具体业务流程和数据相关操作的组合, 其中既有数据库中数据基本操作也有具体业务操作。2) 业务服务主要是指不包括数据基本操作的, 具有普遍性、通用性和原子性, 并在其他具体业务中可重用的具体业务功能处理流程, 将该流程封装成服务, 实现提供者与使用者的解耦, 使得应用系统易于维护。3) 用户服务用户服务本身不具备具体的服务功能, 主要是数据服务和业务服务的聚合, 通过一系列数据服务和业务服务的组合形成针对某具体应用业务的服务

11、。在用户服务基础上建立模式概念, 结合具体应用环境中同一业务的不同应用差别, 形成服务模式, 一种服务模式对应一个具体应用, 一个用户服务对应一类具体应用业务。3.3 应用层应用层直接面向用户, 调用逻辑层的服务, 将服务响应结果呈现给用户。由于逻辑层接口采用 Web Service 服务的方式发布, 所有可以调用 Web Service 服务的客户端都可以访问逻辑层接口。因此, 应用层可以采用多种语言, 适用于不同的操作系统。该架构通过在基础数据层设计统一数据规范, 在业务逻辑层构建相关数据服务, 通过提供具有标准程序接口和协议规范的通用服务, 使得业务应用层可以脱离数据层的具体物理实现形式

12、, 同时, 也可以隔离具体应用实现, 在规范数据包不变环境下, 同一应用可以进行环境和平台转换。同时采用 3 层架构的设计, 降低了层间耦合。4 基于服务的装备数据集成平台的实现4.1 基础数据服务实现基础数据服务由查询处理和元数据管理两大模块组成。其中, 查询处理模块将应用层对全局数据视图的查询转换为对各局部数据源的查询, 并将数据层返回的结果按照全局视图数据结构整合后发送给应用层。元数据管理器负责操作元数据库中的数据, 包括全局数据视图管理、局部数据结构管理和映射关系管理6。图 2 基础数据服务实现架构 下载原图基础数据服务的工作流程为:1) 应用层根据系统提供的全局数据源, 编写标准 s

13、ql 查询语句, 调用基础数据服务接口, 发出查询请求。2) 查询处理器中的校验模块收到查询请求后, 验证查询语句的合法性。如果合法, 将查询语句传到查询解析器, 否则返回错误日志。3) 查询解析器调用元数据处理器查询元数据库中的全局数据视图与局部数据源的映射关系, 将全局查询请求分解为局部查询指令。4) 查询分发器调用通用数据库访问接口执行局部查询, 并将查询结果反馈给整合器。5) 整合器收到所有局部查询结果后, 根据映射关系封装返回全局视图。4.2 通用数据库访问接口实现图 3 通用数据访问接口实现架构 下载原图通用数据库访问接口是基础数据服务与局部数据源联系的桥梁, 用来屏蔽局部数据源的

14、系统差异, 为基础数据服务提供统一的查询接口。本文的通用数据库访问接口采用基于 Qt Sql 的数据库访问模块实现。Qt 为数据访问提供的 Qt Sql 模块实现了数据库与 Qt 应用程序的无缝集成, 同时为开发人员提供了一套和具体所用数据库均无关的调用接口, 主要由通用接口层、SQL 接口层和驱动层组成。其中, 通用接口层为用户提供了对数据库的SELECT、INSERT、UPDATE 和 DELETE 操作的接口;SQL 接口层提供了数据库访问类, QSql Database 类提供了数据库连接操作, QSql Query 类提供了数据库的增、删、改、查操作;驱动层实现了特定数据库与 SQL

15、 接口的底层桥接7。通用数据库访问接口需要从元数据库中获取局部数据源的连接信息, 包括驱动类型、数据源的 IP、端口、数据库实例名、用户名和密码等。实现与各数据源的无缝连接, 并可根据基础数据服务的调用返回相应的数据集合。4.3 WEB 服务封装g SOAP 是一种跨平台的 C 和 C+软件开发工具包, 能够自动地将用户定义的本地化的 C 或 C+数据类型转变为符合 XML 语法的数据结构。由于本文的底层数据访问基于 Qt 开发框架, 因此, Web 服务封装引入 Gsoap。WEB 服务封装的步骤:1) 定义数据交互接口头文件;2) 通过头文件生成 WSDL 文件及 C+服务端和客户端文件;

16、3) 编写实现接口处理函数。若业务应用需要通过 Java 编程语言实现, 可通过 WSDL 文件生成 Java 服务端和客户端代码。4.4 元数据库设计元数据库位于逻辑层, 用于存储全局数据视图、局部数据结构及它们之间的映射。本文采用 XML 文件存储元数据信息, 数据源连接配置与映射关系 XML 结构设计如图 4 所示。元数据库向下层的数据库访问接口提供局部数据源的连接信息, 并向同层的基础数据服务提供全局数据视图和局部数据结构的映射信息。图 4 元数据 XML 结构设计 下载原图4.5 全局数据模式服务分解后的子请求除了要避免重复访问同一数据源外, 还要保证分解后的查询结果的正确性, 即分解后语义与分解前应是一致的。但在不同的数据源中往往存在着命名冲突、内容交织等语义的异构。为了解决这种语义异构的问题, 系统建立了映射关系。映射规则的建立需要充分考虑到异构数据源间的语义异构问题8。1) 如果局部模式中存在名称冲突, 在全局模式中则要进行统一命名, 如和, 在全局模式中统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号