B/S模式下各种数据资源共享与整合研究
2015-05-04周清松
周清松
摘要:随着社会信息化的大力推进和发展,全社会积累和存储了海量的数字信息资源,特别是很多大企业和政府部门在信息化过程中积累了大量的异构型数据源,随着web技术的不断发展,如何充分利用计算机网络技术和信息技术的优势和特点将这些异构的数据整合起来,已成为当前十分热门的话题,也是值得深入研究和探讨的问题。本文提供了一种数据资源共享整合的方法,同时在这个方法的基础上实现了一整套解决方案。
关键词:B/S 资源共享 数据整合
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2014)12-0095-02
1 引言
随着信息化的推进,像企业和政府部门在报告撰写和数据决策分析的需求中,需要集成远程的一些异构数据作为分析的基础。然而需要整合的这些数据库系统各不相同,在存储方式上存在大量的数据错误;存储信息的数据结构上存在很大的差异;缺乏统一的数据描述标准,阻碍了单位主体信息化和数字化的进程。因此如何整合这些数据,提供一个统一的数据访问接口,为管理决策参考和分析报告撰写提供服务成为迫切要求。
在目前的方法和实现方案中主要是基于C/S结构的数据整合方式,这种方式下需要在用户机器上安装客户端,对用户机器的要求很高同时客户端软件维护难度大;缺乏对工作流程的支持;在特殊背景需要大系统整合的情况下不支持,导致整合数据和数据使用分离在不同的系统中。针对这些问题,本文阐述了一种数据资源整合的方法,同时在这个方法的基础上实现了一整套解决方案。在B/S构架的基础上把数据源的定义,数据集的提取,映射关系定义、目的数据源定义和数据加载的流程通过工作流的方式进行耦合处理,灵活的解决了资源整合的问题,使用证明在电力行业的报告撰写中提供了很好的支撑,在其它领域也具有很好的推广性。[1][2]
2 系统架构
基于J2EE标准规范和B/S模式建设,充分利用电力企业已有的网络硬件支持环境,以Oracle网络数据库管理系统为核心,客户端采用了通用的微软平台与IE浏览器。基于异构数据整合技术,实现异构资源的统一管理,结构化数据和非结构化数据的统一搜索。
数据存储实现海量数据资源的存储管理,在自建资源库、互联网采集资源库、外购资源库,以及其它交换数据的基础上,构建出索引库和平台基础库,通过全文检索适配器网关,实现索引库和基础库的同步更新,从而实现对各类资源进行有效整合和管理。
系统框架是系统的核心部分,系统架构层负责与数据库的交互,平台业务支撑层就负责协调和指挥处理多个应用的运行。
(1)数据源。从数据的来源来分,数据分为自产资源、外购资源和互联网数据资源三种。其数据源是通过各种途径获得的数据源,为数据的加工、处理提供源数据。也为系统中所涉及的跨库检索、异构数据整合提供了必要的基础。[3]
自产资源即为企业内部的各类简报、简讯、报告、各类文档、汇编专辑、交换资源和内参、视频文件、技术论坛数据等。外购资源为通过有偿的方式从各资源商手中购置的数据资源,主要有:成果库、中文论文库、标准库、外文论文库、机构库、专利库、图书等数据。互联网数据资源是通过网络爬虫从互联网上定点采集的信息资源。
(2)数据存储。数据存储分为数据库数据存储和原文等文件存储。数据库数据存储是将从多种途径获得而来的源数据,通过排重、分类等多种形式加工处理,然后存储到数据中。其文件存储是将系统中的所有资源文件通过一定的分类规则统一存放到存储中。即为后面所提到的海量信息存储提供元数据。
(3)平台框架。系统的技术平台是采用面向服务(SOA)和组件化体系架构,兼容J2EE技术路线,可与业界主流的基础平台无缝对接。平台在开发的过程中,采用的MVC((Model View Controller)模型(model)-视图(view)-控制器(controller))模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。其优点是耦合性低、重用性高、生命周期成本低、部署快、可维护性高、有利软件工程化管理。[4]
平台框架提供的接口服务、组件服务、检索服务、身份验证和集成技术,为平台的服务提供可靠的保障,也为平台的扩展提供了便捷的接口。
3 整合实现方法
异构数据资源是相关的多个数据库、数据仓库、数据集的集合,通过对异构数据资源的整合,可以实现数据之间的共享和透明访问,每个数据库、数据仓库、数据集在整合入异构数据库系统之前本身就已经是单独存在的,各自拥有自己的DBMS。异构数据库的各个组成部分都具有自身的自治性,在实现数据共享和互访的同时,每个数据库系统仍将保有自己的完整性、安全性和应用特性。
企业内部的资源建设涉及到多种外购资源和自产资源,这些资源数据的来源和格式均不相同。在保证各原始数据系统的完整性和可访问性的前提下,如何解决将这些数据进行整合,形成一个整合的资源库,以向专业系统提供数据共享和一站式跨库检索的数据支撑。
(1)数据资源整合定义过程。定义一个具体数据整合的任务,在定义中指定整合的名称、映射关系和执行的调度规则等等信息。数据资源管理整合的模块通过属性的绑定形式,将执行过程中的信息关联起来,可以灵活的搭配具体的信息。
(2)数据源连接过程。主要是定义和维护需要提取的数据的来源信息。包括数据库类型、名称、用户名和密码等等信息。通过这种定义方式,可以灵活的切换连接的方式。同时在数据库连接的实现中加入连接验证的功能,可以效验连接的有效性。
(3)数据集定义。主要是定义需要提取的原数据的数据集合,其定义是建立在数据源连接的基础上。包括数据集名称定义,具体提取的数据库表和数据库表字段。
(4)目的数据源。主要定义和维护整合后资源导入到的具体目的数据库和表格。包括对目的数据库的定义和数据表的指定。
(5)映射关系。在此过程中定义了源数据和目的数据之间的一个映射关系,主要包括字段连接、截取、求和、取整、求平均值、类型转换和字段格式转换等等。样例如下:
字段连接:字段Name=”云南”,字段Province=”昆明”,连接后目的字段address=”云南昆明”。
字段截取:字段Company=”云南普洱茶研究院”,截取后目的字段Company=”普洱茶研究院”。
字段求和:字段Salary={6000,1000,8000},求和后目的字段TotalSalary=15000。
(6)执行过程。通过前面过程的实现,执行过程以异步的工作流形式提取数据源的数据,根据映射关系存放到目的数据库中。
可以看出,数据整合方式的定义方式串联上整个数据资源的整合流程,一个整合定义,关联到具体的映射关系,映射关系中需要指定数据的来源和目的数据源,这样在具体执行中可以以一种工作流的方式异步整合数据。而且通过把数据资源整合的实现集成到数据的使用系统中,这样无缝的解决了数字鸿沟的问题,也避免了操作的跨系统问题。在B/S构架的基础上把数据源的定义,数据集的提取,映射关系定义、目的数据源定义和数据加载的流程通过工作流的方式松耦合灵活的解决了资源整合的问题,使用证明在电力行业的报告撰写中提供了很好的支撑,这种方法在其它领域也具有很好的推广性。
4 解决方案
一般情况下需要整合的数据来源包括商业关系型结构化数据库系统、非关系型非结构化数据库系统、文件系统。关系型数据库包括Oracle、SQL Server、Mysql和Access等商业数据库,非关系型数据库如一些商用的全文检索数据库,文件包括xml文件、各类原文数据的原始文件格式、来自Internet的采集数据。
通过自定义的全文检索数据库作为资源数据的统一存储数据库管理系统,通过实现全文检索网关系统,实现多种关系型数据库的数据到全文检索数据库的转换和同步。网关系统自身结构比较简单,它相当于关系数据库和全文检索数据库的客户端程序,并在两者之间实现数据和索引的同步。
在典型的应用中,全文检索网关系统的定位在于将关系数据库处理结构化数据的优势和专业数据库处理非结构化数据的优势结合起来,同时在应用层进行无缝集成。其实现原理如图1所示:
全文检索网关的作用是数据更新代理,保证关系数据库中的数据发生变化时,数据所对应的全文索引可以及时更新,考虑到数据量和性能的影响,数据更新代理必须能够实现索引的增量更新。在这种系统结构下,实现非结构化数据的检索应用包括如下步骤:
(1)用户提交非结构化数据的检索请求;
(2)应用层将用户检索条件提交给专业数据库进行检索,专业数据库返回命中记录的主键信息;
(3)应用层根据专业数据库返回的主键信息在关系数据库中找到相应命中的记录;
(4)将最终检索结果以用户期望的表现形式返回给最终用户。
自产资源在被整合进入整合库前通过数据导入的方式,从excel格式或经过系统后台录入到ORACLE数据库中,再通过全文检索网关的同步功能可自动同步到全文检索数据库中,为数据检索提供服务。
在对异构数据进行整合后,为实现跨库检索及智能检索提供了重要的数据层面的技术支撑,包括:
跨库检索:用户可以实现一站式检索,检索过程对多个资源库提交检索请求;
统一结果:通过跨库检索功能,将对多个资源库的检索结构进行汇总,统一显示给用户;
单一检索:用户可在不同的页签下对包括专利、标准、论文在内的各种资源进行单一检索;
安全控制:严格确保数据访问过程中的安全性;
资源使用评估:对资源的使用情况、下载频次进行记录,并做相应的统计分析;
资源跨地域限制:通过跨地域访问机制,实现用户无限制访问资源;
系统管理工具:确保系统配置的灵活性,提高系统的扩展性能。
5 结语
异构数据源的整合可以屏蔽各种数据结构的异构性,提供访问异构数据源的服务,不需要改变底层数据的存储和管理方式,即可实现分布异构数据的互操作。
参考文献
[1]张岩.网络科技资源中异构数据库访问技术的研究[J].计算机系统应用,2008(11).
[2]范炜玮.基于SOA的体检数据迁移系统的设计与实现[J].计算机与现代化,2011(11).
[3]刘芳,杨畅,皮碧媛.分布异构环境下数据库访问技术的研究[J].计算机时代,2012(5).
[4]余腊生,李徐.基于Web服务的跨网络异构数据交换技术[J].计算机应用,2005(12).