一种数据集成的虚拟视图构建
时间:2022-03-18 10:14:10 浏览次数:次
摘 要: 随着互联网的发展,数据在企业发展过程中地位越来越重要,解决数据共享,相同企业的不同数据库查询及不同企业的数据交换也越来越普遍。基于XML中间件技术实现异构数据源共享,在传统数据集成的基础上,拓宽数据源的范围,不再局限于数据库而是所有可以提供数据的单位都可以称之为数据源;将中间件根据功能分层、独立开发,彼此通过固定借口交互,功能明确,开发简单,其中以数据源为单位构建虚拟视图,数据信息和数据源信息分开存储,单独管理,不但分化全局虚拟视图的构建成本,而且数据源的添加和管理变得简单、方便。
关键词: XML中间件;数据源;数据映射;全局虚拟视图
1 研究背景及主要思路
随着互联网及信息化的发展,企业生存对数据的依赖程度越来越高。由于数据在构建之初存在差异性,因而在使用的时候存在诸多不便,如何屏蔽平台的差异性,允许用户简单方便的获取数据成为当下急需解决的问题,目前实现该目标比较常用的方法是数据集成和数据仓库技术,其中基于中间件的数据集成技术因其成本廉价,对硬件要求低等原因成为很多用户的首选。中间件技术将分散的数据整合成一个统一的虚拟全局视图,用户只需要根据虚拟视图通过中间件对数据进行操作,而不需要知道数据具体的信息和存放位置,中间件根据用户的操作,查询虚拟视图然后将用户的操作分散成多个针对于相关数据源的操作去获取数据,最后再把得到的数据进行整合,返回给用户。但是传统的数据集成技术存在虚拟视图映射复杂,构建困难,修改麻烦的缺点,且目标针对数据库,局限了数据范围。单个企业的数据往往面临领域窄,数据量小,数据获取困难等难题,因而,不同企业之间的数据共享、数据交换及从大型网站提供的开放式接口获取所需数据等方式是非常好的选择,但不同企业在信息共享和数据交换的同时,基于信息安全等问题的考虑,不可能直接让外来应用访问其数据库,所以提供相应接口进行过滤是最好的办法。基于以上原因,将数据集成单纯的作为数据库集成就极大的浪费了资源,任何可以提供数据的单位都可以称为数据源。开发基于异构数据源的数据集成能更大的利用资源,服务企业。本论文在此基础上,以数据源为单位构建虚拟视图,分层开发中间件,将数据解析和数据源选择分开单独处理,彼此透明,不但使虚拟视图的构建变得简单,方便,也拓宽了数据源范围,数据源的添加和修改变得简单,单个数据源的操作升级不影响对其它数据源的访问。
2 XML技术简介
由于可扩展标记语言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为数据源的表关联信息,包含相关联的两个数据表的名称和关联字段。
虚拟视图的构建根据各数据源的信息,统一或者由各数据源单独填写,构建代码如下:
publicvoid toWrite(Stringdatabase,List
> list, List
> relation){
DocumentBuilderFactory factory=Document
BuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
document=builder.newDocument();
Element root=document.createElement(DATA);
document.appendChild(root);
Element db =document.createElement(DATABASE);
db.setAttribute(ID, database);
root.appendChild(db);
for(int i=0; i < table.size(); i++){
Element tab = document.createElement(TABLE);
tab.setAttribute(NAME, table.get(i));
db.appendChild(tab);
toWriteList(tab, list.get(i));
toWriteRelation(tab, relation.get(i));
}
}
private void toWriteRelation(Element tab, List
for(int i = 0; i Element rel = document.createElement(RE LATION); 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); } } private void toWriteList(Element tab, List for(int i = 0; i Element lis = 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]。现代社会的信息更新速度极快开发更为灵活的,简便的集成系统才能适应市场的需求。在数据集成的过程中,除了完成访问不同数据源的数据集成,系统的健壮性和可移植性也是十分重要的。而随着技术的发展,越来越多的单位加入到数据共享和行列,因而能方便的集成各种数据源的集成系统才能更好的服务于企业,发挥信息更大的价值。 参考文献: [1]王雅轩、顼聪,基于XML的异构数据库集成的研究[J].制造业自动化,2011. [2]曹虎,基于XML的异构数据库集成中间件技术研究[D].哈尔滨工程大学:哈尔滨工程大学,2009. [3]陈志坚、郝忠孝,基于网格和XML的异构数据库集成模型[J].齐齐哈尔大学学报,2008. [4]Zhirui Chen,Chunyou Lin,Hongzhou Tan. Design of a system software based on a Java SoC processor[J].2010. [5]曾国林、傅秀芬、吕占德,异构数据库集成中间件的设计与实现[J].计算机技术与发展,2011.
[一种数据集成的虚拟视图构建]相关文章
- 校企合作下应用型本科软件人才培养模式构建与实践
- 构建和谐的地理课堂
- 高中校园文化建设中重视构建和谐师生关系
- 构建一个“家”
- 循证构建医学PBL评估体系
- 艺术院校科研团队知识管理体系的构建
- 从利益相关者需求论现代大学制度及其构建策略
- 众核多计算模式系统的构建
- 中学物理模型构建与转换能力的培养
- 关于完善会计监督体系构建的思考
- 企业计算机集成制造系统经济效益分析
- 集成电路布图设计的知识研究
- 分析集成电路的检测及维护方法
- 一般集成电路测试系统的设计
- 集成电路Integrated,Circuits
- 集成电路等
- 厚膜混合集成电路的发展现状及趋势
- 集成电路
- 虚拟现实技术在工业设计中的应用
- 虚拟现实技术对于心理疾病治疗作用的探讨
- 浅谈虚拟现实技术在教育领域中的应用
- 基于Unity3D的虚拟现实交互系统的设计与实现
- 基于KVM的虚拟机网络性能优化研究
- 工业设计中虚拟现实技术的应用探讨
- 基于中古原子概念的虚拟现实(VR)建模
- 虚拟现实技术下普通物理实验教材的开发初探
- 三维动画制作中虚拟现实技术的实践
- 虚拟现实技术及其在虚拟校园中的应用
- 数据结构与算法课程教学实施方案
- 基于OBE理念的数据结构教学设计
- 基于FPGA和DSP的1394b双向数据传输系统
- 基于GPRS网络的无线数据传输系统硬件平台的构建
- 浅谈数据通信及其应用前景
- 浅论数据通信原理发展及应用
- 基于STM32F10x的数据通信设计与实现
- 数据通信网络维护与网络安全问题思考
- 基于网络编码的数据通信技术研究
- 光纤数据通信模块的研制和课程设计
- 上一篇:IC市场迎来反弹设计企业异军突起
- 下一篇:机械制造工艺与机械设备加工工艺分析