|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

硅谷杂志:一种数据集成的虚拟视图构建

2012-12-16 21:01 作者:张继德 宋要辉 来源:硅谷网 HV: 编辑: 【搜索试试
  【硅谷网文】据《硅谷》杂志2012年第19期刊文,随着互联网的发展,数据在企业发展过程中地位越来越重要,解决数据共享,相同企业的不同数据库查询及不同企业的数据交换也越来越普遍。基于XML中间件技术实现异构数据源共享,在传统数据集成的基础上,拓宽数据源的范围,不再局限于数据库而是所有可以提供数据的单位都可以称之为数据源;将中间件根据功能分层、独立开发,彼此通过固定借口交互,功能明确,开发简单,其中以数据源为单位构建虚拟视图,数据信息和数据源信息分开存储,单独管理,不但分化全局虚拟视图的构建成本,而且数据源的添加和管理变得简单、方便。
  关键词:XML中间件;数据源;数据映射;全局虚拟视图
  1研究背景及主要思路
  随着互联网及信息化的发展,企业生存对数据的依赖程度越来越高。由于数据在构建之初存在差异性,因而在使用的时候存在诸多不便,如何屏蔽平台的差异性,允许用户简单方便的获取数据成为当下急需解决的问题,目前实现该目标比较常用的方法是数据集成和数据仓库技术,其中基于中间件的数据集成技术因其成本廉价,对硬件要求低等原因成为很多用户的首选。中间件技术将分散的数据整合成一个统一的虚拟全局视图,用户只需要根据虚拟视图通过中间件对数据进行操作,而不需要知道数据具体的信息和存放位置,中间件根据用户的操作,查询虚拟视图然后将用户的操作分散成多个针对于相关数据源的操作去获取数据,最后再把得到的数据进行整合,返回给用户。但是传统的数据集成技术存在虚拟视图映射复杂,构建困难,修改麻烦的缺点,且目标针对数据库,局限了数据范围。单个企业的数据往往面临领域窄,数据量小,数据获取困难等难题,因而,不同企业之间的数据共享、数据交换及从大型网站提供的开放式接口获取所需数据等方式是非常好的选择,但不同企业在信息共享和数据交换的同时,基于信息安全等问题的考虑,不可能直接让外来应用访问其数据库,所以提供相应接口进行过滤是最好的办法。基于以上原因,将数据集成单纯的作为数据库集成就极大的浪费了资源,任何可以提供数据的单位都可以称为数据源。开发基于异构数据源的数据集成能更大的利用资源,服务企业。本论文在此基础上,以数据源为单位构建虚拟视图,分层开发中间件,将数据解析和数据源选择分开单独处理,彼此透明,不但使虚拟视图的构建变得简单,方便,也拓宽了数据源范围,数据源的添加和修改变得简单,单个数据源的操作升级不影响对其它数据源的访问。
  2XML技术简介
  由于可扩展标记语言XML具有平台无关性和自描述性等特点,可以很好地屏蔽不同平台、不同数据类型之间的差异,为数据集成提供方便[1],XML的灵活性和可扩展性使其可描述各类数据,哪怕差异很大的数据源间的数据。XML可以通过自定义数据类型,将有差异的数据按一定的标准进行标记,统一数据名称,通过其属性值来标识数据各自的具体特性,即保证了数据的完整性,又显得十分的规范[2],规范的数据标识,使XML的数据检索变得十分简便,可以按照任意的条件进行查询和检索。正因为XML具备了诸多优点,才被选用来做中间件技术的数据交换和存储的工具。
  3系统框架结构详解
  传统基于中间件的数据集成方法岁有很多优点但并非是完美的,其最大的缺点是修改困难,可移植性差,一旦数据源发生变动,维护成本会很高[3],如何设计出一个可维护性高的集成系统成了当下的迫切的需要。本论文在传统的数据集成技术基础上,将中间件根据功能的不同进行分层,分为查询数据解析层,数据映射层,查询结果分析层和数据源选择层,各层之间功能相互透明独立,通过统一接口交互,使逻辑复杂的中间件统一开发分化成单个简单独立开发的集合,如图1。
  
  4全局虚拟视图映射原理解析
  数据解析是将用户针对虚拟视图的操作分解成多个针对不同数据源的操作,是中间件层最重要的部分。其中虚拟视图的构建和数据源的选择是本论文研究的重点。
  4.1虚拟视图的构建
  虚拟视图采用XML进行构建,视图数据映射的优劣直接关系到系统的好坏,设计一个通用性好的映射关系表对于系统的开发效率和扩展性都有很大的提高[4]。因为访问的数据量一般都很大,虚拟视图数据映射的构建一直都是一项工作量大且繁琐的工作,而一般形成,修改起来往往十分麻烦。本项目数据映射以数据源为基本单位进行划分,将全局虚拟视图试图映射编程虚拟视图跟每一个数据源的单独映射,虚拟视图的构造也可以为各数据源单独开发,这样就把整个虚拟视图的开发模块化,单位化。更方便之后数据源的添加和修改。
  虚拟视图的根元素我们设计为data,其第一级子元素为以数据源为单位的database,每一个database以id为唯一标示,存放该数据源以虚拟视图的映射关系;database添加子元素table,属性name,table里添加子元素list和relation。其中list为数据源表字段和虚拟视图的映射关系,包含数据源中的所属表名称table,数据类型type1、名称name1,虚拟映射中的名称name2、类型type2等信息;relation为数据源的表关联信息,包含相关联的两个数据表的名称和关联字段。
  虚拟视图的构建根据各数据源的信息,统一或者由各数据源单独填写,构建代码如下:
   publicvoidtoWrite(Stringdatabase,List<String>table,List<List<String[]>>list,List<List<String[]>>relation){
    DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
    DocumentBuilderbuilder=null;
    try{
     builder=factory.newDocumentBuilder();
    }catch(ParserConfigurationExceptione){
     e.printStackTrace();
    }
    document=builder.newDocument();
    Elementroot=document.createElement(DATA);
    document.appendChild(root);
    Elementdb=document.createElement(DATABASE);
    db.setAttribute(ID,database);
    root.appendChild(db);
    for(inti=0;i<table.size();i++){
     Elementtab=document.createElement(TABLE);
     tab.setAttribute(NAME,table.get(i));
     db.appendChild(tab);
     toWriteList(tab,list.get(i));
     toWriteRelation(tab,relation.get(i));
    }
   }
   privatevoidtoWriteRelation(Elementtab,List<String[]>relation){
    for(inti=0;i<relation.size();i++){
     Elementrel=document.createElement(RELATION);
     rel.setAttribute(TABLE1,relation.get(i)[0]);
     rel.setAttribute(TABLE2,relation.get(i)[1]);
     rel.setAttribute(LIST1,relation.get(i)[2]);
     rel.setAttribute(LIST2,relation.get(i)[3]);
     tab.appendChild(rel);
    }
   }
   privatevoidtoWriteList(Elementtab,List<String[]>list){
    for(inti=0;i<list.size();i++){
     Elementlis=document.createElement(RELATION);
     lis.setAttribute(TABLE,list.get(i)[0]);
     lis.setAttribute(NAME1,list.get(i)[0]);
     lis.setAttribute(NAME2,list.get(i)[1]);
     lis.setAttribute(TYPE1,list.get(i)[2]);
     lis.setAttribute(TYPE2,list.get(i)[3]);
     tab.appendChild(lis);
    }
   }
  4.2数据源的选择
  在数据源选择的时候,将所有数据源的信息机查询方式都封装起来,有数据源选择层根据数据源id选择相应的构建查询语句的方式,生成适合该数据源的操作语句。这样,再添加新的数据源方式的时候只需要修改数据源信息表和添加该查询规则即可,如果新的数据源与其他相同,则只需要在数据源信息表添加该数据源基本信息即可,简单方便。
  4.3该系统的优势
  该系统在传统的数据集成的基础上具有以下优势:首先,数据源被拓宽,数据源不再局限于各个数据库,所有可以提供数据的都可以成为数据源,例如个大型网站提供的公共接口。其次,数据映射的构造工作变得简单、方便,当数据源的信息发生改变,或者添加和修改数据源的时候都变得简单,对单一数据源的操作不会影响其他。再次,分层开发中间件,通过接口相互交互,使各模块功能单一,彼此独立,增加了系统的可移植性和可维护性。
  5结束语
  XML的出现为异构数据库的集成提供了极大的便利,不同数据源之间的信息交互集成成为可能[5]。现代社会的信息更新速度极快开发更为灵活的,简便的集成系统才能适应市场的需求。在数据集成的过程中,除了完成访问不同数据源的数据集成,系统的健壮性和可移植性也是十分重要的。而随着技术的发展,越来越多的单位加入到数据共享和行列,因而能方便的集成各种数据源的集成系统才能更好的服务于企业,发挥信息更大的价值。
  作者简介:
  张继德(1963-),男,汉族,高级工程师,河北联合大学,研究方向:单片机开发与应用、无线数据传输应用;宋要辉(1984-),男,汉族,硕士研究生,河北联合大学,研究方向:数据库技术与智能信息系统。
【对“硅谷杂志:一种数据集成的虚拟视图构建”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
·硅谷网学院:分步走,教新手怎样搭建网站
·硅谷网解密:4G网络中的微波传输解决方案
·硅谷网学院:探秘无刷直流电机的建模与仿真
·硅谷网学院:如何提高中技生单片机应用能力
·硅谷网学院:热载流子效应对器件可靠性影响
·热载流子效应研究及其对器件可靠性有哪些影响?
·如何用入侵检测系统保护计算机系统的安全?
·董燕:计算机网络安全面临的问题及防范措施
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·硅谷杂志:云计算在飞行试验数据处理中的探索
·徐海:智能变坡水槽控制系统的设计与实现
·探讨气体检测中如何应用数字信号处理技术
·博物馆数字化展示应用研究
·硅谷杂志:关于网络安全解决方案的探讨
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>