基于WCF服务的异构数据源集成查询系统的设计与实现

2016-07-18 00:37段方振何清顶
大科技 2016年11期
关键词:数据源异构结构化

段方振 何清顶

(中国卫星海上测控部 江苏江阴 214400)

基于WCF服务的异构数据源集成查询系统的设计与实现

段方振 何清顶

(中国卫星海上测控部 江苏江阴 214400)

异构数据集成查询是当前单位信息化建设过程中面临的一个重要课题,能够解决实际应用中的“信息孤岛”问题。集成己有系统的数据,屏蔽各异构数据源间的差异,为用户提供涉及多个异构数据源的统一查询机制,提高了数据的查询效率和利用率。

WCF;异构数据;集成查询

1 前言

针对某单位在信息化发展过程中形成的异构数据源所带来的数据集成问题,通过分析国内外数据集成技术,统的研究了异构数据源数据集成的体系结构、主流技术、设计和实现,采用Mediator/Wrapper的方式并借鉴面向服务SOA的思想进行数据集成,并利用WCF技术的跨平台特性和SOAP消息[1]的简单通用、穿透力强的特性,使用SOAP消息封装数据来实现较大范围的数据集成;利用Microsoft.NET中的ADO.NET技术[2]解决数据库数据异构的问题,设计并实现了异构数据源集成查询的原型系统。为某单位的业务系统数据共享提供简单、方便、综合的查询服务平台,该系统在现有各信息管理系统保持自治的基础上,实现了信息系统间所要共享数据的集成查询,从而达到对整个系统实施统一的控制和访问。

2 系统分析与设计

2.1 系统分析

在已经存在的多个异构的、分布的数据源的基础上实现集成查询,这就需在各业务系统数据源的基础上建立一个综合集成查询平台,用户通过集成查询平台能够同时对多个业务系统数据源的数据进行透明访问。用户的查询请求所涉及的数据可能来自于多个信息系统的数据。由于各业务信息系统的数据源都是相互独立的实体,都具有相对的独立性、自主性,同时为了各自业务系统信息的安全,各业务系统数据源只会提供相关的业务数据,而不是数据源所有的数据。为此在参与集成的各业务系统数据以数据访问接口形式的提供访问,在该数据源的WCF Service[3~4]中提供了多个数据访问接口,这些数据访问接口上所能返回的数据就是参与系统集成的数据。在数据接口中不能返回的数据,用户则无法访问。

异构数据源集成查询系统根据用户的查询需求实时从各局部数据源获取所需的数据,集成查询系统平台相当于在多个业务系统的数据源与用户之间建立一个查询服务中间层。对用户来说,只要拥有一个浏览器,就可以提交相应的查询请求,而集成查询系统平台对用户的查询请求依据全局模式和属性映射表中的对应关系进行解析,然后将查询分解为对各个业务系统WCF Service本地代理中数据访问接口的调用,最后将各数据访问接口返回的数据集成在一起返回给用户,这样就可以满足用户的查询请求。

2.2 系统设计方案

针对集成查询系统的需求,对各业务系统数据源构建WCF Service,将参与集成的数据以操作契约的形式封装在WCF Service中。同时利用WCF Service可跨平台、能穿越防火墙、互操作等特点,实现集成查询系统平台和各业务系统WCF Servcie之间消息和数据传输。在每个业务系统数据源端部署一个WCF Servcie,而一个WCF Service中有多个数据访问接口,每个数据访问接口返回的数据即为该数据源参与系统集成的数据。集成查询系统平台可按照需要分布在不同的地方,便于用户应用。

2.3 系统数据访问接口的设计

数据访问接口对参与集成的每个数据源中的相关数据进行结构化处理后,使这些数据访问接口能够提供该数据源用于参与系统集成的数据。WCF Service在集成查询系统中注册,并将其中的数据访问接口注册到全局数据库中,同时建立数据访问接口的属性和全局模式[5]属性之间的映射关系。由于参与集成的局部数据源可能是不同的类型,例如有些数据源提供的是半结构化数据如xml,文本文件,excel等。为了将这些不同的数据源集成到系统中,就需要根据集成系统的需求把其中的数据转换为能够给全局模式提供的结构化数据。

通过WCF Service中的操作契约即数据访问接口,利用微软ADO.NET作为数据源的包装器来实现数据的结构化的处理的。ADO.NET通过数据提供程序能访问各种数据源,包括SQLServer,MySQL,Oracle,ACCESS等,以及ODBC,OLEDB数据源,同时屏蔽了具体数据源的一些具体特征,包括该数据源所能接受的访问方法,具体数据源所在的地址,对实际数据源发出的请求以及结果的具体数据格式等。本文中在按照用户需求通过数据访问接口对参与集成的每个数据源中的相关数据进行结构化处理后,使这些数据访问接口能够提供该数据源用于参与系统集成数据。而这些数据访问接口能够在特定查询限制条件下接受用户查询请求,并返回符合查询条件的数据。数据访问接口用F(A1,A2,…,An)来表示,它是在该数据源预先确定的一组属性 A(A1,A2,…,An)上的取值,并输出固定结构的数据

3 系统功能模块的设计与实现

3.1 数据采集子系统功能模块的设计

数据采集子系统能实现定时定期采集数据源中相关的业务数据,将数据统一转换为XML格式的数据[6],并将数据提交给集成查询子系统,通过数据采集子系统消除异构数据源间的模式、数据类型等的异构。

3.2 集成查询子系统功能模块

集成查询子系统的设计目的是集成各数据采集子系统提交的相关业务数据,消除数据间的异构,将数据集成为全局数据后开放查询接口,接受用户的查询。

4 结束语

本文针对当前某单位信息化建设面临的实际情况,研究并提出了一个基于WCF的异构数据集成查询解决方案,详细论述了异构数据集成查询系统的结构设计和难点问题,并最终实现了异构数据集成查询的原型系统。该系统能实现在保持单位各业务信息系统相对独立的同时,对各业务数据的动态查询。该方案充分利用了WCF服务的互操作性,具有部署灵活和易管理的优点,较好地解决了某单位各业务系统间数据集成查询的问题。

[1]Bill Evjen等.《ASP.NET4高级编程(第7版)》,清华大学出版社,2010,9.

[2]Bill Hamilton.《ADO.NET3.5经典实例第2版》.机械工业出版社,2009,9.

[3]年福丰,刘秋让.基于WCF的异构数据源集成系统的研究和实现[J].科学技术与工程,2009,11(9).

[4]沈 正,陈 锺.基于WCF和SOA的电力SCADA系统研究与开发[J].信息技术,2009,13.

[5]毛国君.高级数据库原理与技术[M].北京:人民邮电出版社,2004:176~197.

[6]邵秀丽,韩建彬,阎仲璞.基于XML的异构数据源间数据交换的实现研究.南开大学学报(自然科学版)2007,Vol.40(3):9~14.

TP311.5

A

1004-7344(2016)11-0317-01

2016-3-26

猜你喜欢
数据源异构结构化
试论同课异构之“同”与“异”
促进知识结构化的主题式复习初探
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
基于真值发现的冲突数据源质量评价算法